JP2008234271A - アスペクト設定方法および装置並びにコンピュータプログラム - Google Patents
アスペクト設定方法および装置並びにコンピュータプログラム Download PDFInfo
- Publication number
- JP2008234271A JP2008234271A JP2007072356A JP2007072356A JP2008234271A JP 2008234271 A JP2008234271 A JP 2008234271A JP 2007072356 A JP2007072356 A JP 2007072356A JP 2007072356 A JP2007072356 A JP 2007072356A JP 2008234271 A JP2008234271 A JP 2008234271A
- Authority
- JP
- Japan
- Prior art keywords
- sequence diagram
- setting
- advice
- classes
- analyzing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Abstract
【解決手段】 メソッド及びアスペクトの呼び出し関係のシーケンス図から構成されるユーザインターフェースを表示し、その表示画面上でアスペクトをプログラム実行の流れにあわせてドラグアンドドロップ操作でアスペクトを設定する。
【選択図】 図12
Description
アスペクト指向とは、プログラムの構成要素となる各モジュール間で共通に使われる機能を切り出し、それを後から自動的にプログラムに織り込んでいくものである。アスペクトの例として、ログやトランザクション管理などが挙げられる。また、アスペクト指向は、オブジェクト指向と相反する概念ではないため、この2つを組み合わせて利用することが可能である。
ここで、ログを例に用いてアスペクト指向プログラミングについて説明する。
ログを出力する際、従来においては、ログコンポーネントを呼び出すコードをプログラム中から呼び出すことによって、ログを出力してきた。このような場合、開発者が自分が担当しているモジュールにログコンポーネントを呼び出すコードを記述することが一般的であるが、個々の開発者のスキルによってログ出力の度合いが異なるため、システム全体で均質な情報量のログを出力することは難しかった。
アスペクト指向プログラミングを用いることにより、ログを出力する機能をアスペクトとして切り出し、これをシステム全体のプログラムに対して自動的に織り込むことができるため、システム全体を通して均質な情報量のログを出力するようにすることが可能となる。
このようにアスペクト指向プログラミングを用いることにより、モジュール間で横断的に使用する機能を切り出して、設定によってあとから埋め込むことが可能となる。
アドバイスには、埋め込む先の処理の前に実行されるbeforeアドバイス、後に実行されるafterアドバイス、その処理の前後を包み込むように実行されるaroundアドバイスの3種類がある。
また、メソッドに対するアドバイスとフィールドアクセスに対するアドバイスがある。ポイントカットでは、あるクラスのどのメソッドを呼び出したか、どのフィールドにアクセスしたか、あるクラスをインスタンス化したかなどをポイントとして切り出して指定することができる。
ポイントカットは、クラス名やメソッド名などを直接指定する以外にも、ワイルドカード(*)を用いることによって一度に複数のポイントを指定することもできる。
アスペクト指向プログラミングを実現するために、アスペクトをどのように定義するかを規定し、アドバイスをプログラムに織り込むことが必要となる。このような機能を実現する環境をアスペクト指向環境と呼ぶ。
AspectJでは、アスペクトの定義を以下のような形式で表記する。
package sample;
public aspect Debug {
pointcut callHello(): execution(* sample.Hello.sayHello(..));
Object around() : callHello() {
Object t = thisJoinPoint.getTarget();
System.out.println("target is " + t.getClass().getName());
Object result = proceed();
System.out.println("returning " + result);
return result;
}
}
メソッドのシグネチャは、「<戻り値> <クラス名>.<メソッド名>(引数)」で構成される。ここには、*(ワイルドカード)を用いることもでき、say*のように指定することにより、sayHello、sayGoodbyのようにsayで始まる文字列にマッチさせることもできる。
メソッドの引数は、受け付ける引数の型を記述する以外にも「..」を指定することにより任意の引数を指定することもできる。
また、pointcut句では、フィールドに対しては、get宣言により読み込みアクセス、set宣言により書き込みアクセスのポイントを指定できる。それぞれの宣言の引数には、フィールド名を指定する。
フィールド名は、「<クラス名>.<フィールド名>」で構成される。ここにもメソッドと同様にワイルドカードを指定することができる。
package sample;
public aspect Precedence {
declare precedence : Profile, Debug ;
}
なお、本発明に関連する公知技術文献としては下記の特許文献がある。
また、アスペクトをプログラムのどの箇所に設定するかは、特別な設定式を用いる。この設定式には、ワイルドカードなどを用いてプログラム中の複数のポイントにアスペクトを設定することが可能であり、これを用いることによって効率良くアスペクトの設定を行うことができる。しかし、これを用いた場合、そのアスペクトが、自分の想定している箇所に正しく設定されているかを確認することはなかなか難しい。
つまり、アスペクトは、その影響範囲を認識することは、あまり簡単ではないといえる。
クラス情報解析手段により前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析する第1のステップと、アスペクト解析手段により前記メソッドに織り込まれたアスペクトの呼び出し関係を解析する第2のステップと、シーケンス図作成手段によりクラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示する第3のステップと、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトをアスペクト生成手段により生成し、生成した新規アスペクトを前記クラス情報解析手段、アスペクト解析手段が解析した既存のクラスに織り込む第4のステップを備えることを特徴とする。
また、前記第3のステップにおいて、前記シーケンス図上に、ドラッグ&ドロップ操作対象となるアドバイスを列挙したツールボックスを表示することを特徴とする。
また、前記第3のステップにおいて、前記シーケンス図上に、ドロップ操作可能な位置をガイドラインで表示することを特徴とする。
また、アドバイスをドロップした位置の情報を元に、設定可能なポイントカット表記の候補をダイアログ上に表示することを特徴とする。
前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析するクラス情報解析手段と、前記メソッドに織り込まれたアスペクトの呼び出し関係を解析するアスペクト解析手段と、クラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示するシーケンス図作成手段と、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトを生成し、生成した新規アスペクトを前記クラス情報解析手段、アスペクト解析手段が解析した既存のクラスに織り込むアスペクト生成手段とを備えることを特徴とする。
また、前記シーケンス図作成手段が、前記シーケンス図上に、ドラッグ&ドロップ操作対象となるアドバイスを列挙したツールボックスを表示することを特徴とする。
また、前記シーケンス図作成手段が、前記シーケンス図上に、ドロップ操作可能な位置をガイドラインで表示することを特徴とする。
また、前記シーケンス図作成手段が、アドバイスをドロップした位置の情報を元に、設定可能なポイントカット表記の候補をダイアログ上に表示することを特徴とする。
前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析する第1のステップと、前記メソッドに織り込まれたアスペクトの呼び出し関係を解析する第2のステップと、クラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示する第3のステップと、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトをアスペクト生成手段により生成し、生成した新規アスペクトを既存のクラスに織り込む第4のステップとをコンピュータに実行させることを特徴とする。
(1)グラフィカルなユーザインターフェースを用いてアスペクトを設定することにより、どのアスペクトをどのメソッドに設定するかを視覚的に確認しながら作業することができる。
(2)メソッドの呼び出しの流れとアスペクトの実行の流れが同時に表示されたシーケンス図上でアスペクトを設定することによって、どのような順序でアスペクトおよびメソッドが呼び出されるかを正しく把握しながら設定することができる。
図1は、本発明のアスペクト設定装置を実現するコンピュータ装置のハードウェア構成例を示したブロック図である。
図1に示すコンピュータ(101)は、中央演算装置(CPU)(102)とメインメモリ(103)を備え、マザーボード(104)により接続されている。また、マザーボード(104)に接続された磁気ディスク装置(105)とグラフィックカード(106)を備え、グラフィックカード(106)は外部のディスプレイ装置(107)と接続されている。入力装置として、マウス(108)とキーボード(109)を備え、これらはマザーボード(104)に接続されている。
ユーザインターフェース管理部(207)は、ディスプレイ装置(208)と入力装置(209)と接続されている。
クラス情報解析部(202)は、クラス蓄積部(203)およびユーザインターフェース管理部(207)と接続されている。
アスペクト解析部(204)は、アスペクト蓄積部(206)とユーザインターフェース管理部(207)と接続されている。
アスペクト生成部(205)は、アスペクト蓄積部(206)とユーザインターフェース管理部(207)と接続されている。
クラス蓄積部(203)、アスペクト蓄積部(206)は、磁気ディスク装置(105)上で実現される。入力装置(209)は、図1のマウス(108)およびキーボード(109)に相当する。
本実施形態においては、クラス情報解析部(202)によりプログラムを構成する複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析し、またアスペクト解析部(204)により前記メソッドに織り込まれたアスペクトの呼び出し関係を解析し、ユーザインターフェース管理部(207)によりクラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示する。そして、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトをアスペクト生成部(205)により生成し、生成した新規アスペクトをクラス情報解析部(202)、アスペクト解析部(204)が解析した既存のクラスに織り込む。
1つのメソッド情報は、ID(301)、クラス名(302)、メソッド名(303)、引数(304)、戻り値(305)で構成されている。
クラスにあるメソッドの1つに対して1つのエントリが対応する。同じ名前のメソッドでも引数の型が異なれば別のエントリとなる。
1つのフィールド情報は、呼び出し元ID(401)、シーケンス番号(402)、呼び出し先ID(403)で構成されている。
呼び出し元ID、呼び出し先IDは、図3におけるクラスのメソッド情報のデータフォーマットのIDフィールドの値が入る。
シーケンス番号は、メソッドが呼び出された順番につけられる番号で、小さな番号ほど先に呼び出されたことを示す。
1つのアスペクト情報はID(501)、名前(502)で構成されている。名前(502)はそのアスペクトを特定できる任意の文字列となる。
1つのアドバイス情報は、ID(601)、アスペクト(602)、名前(603)、ターゲット(604)、タイプ(605)、実装(606)で構成されている。
アスペクトは、このアドバイスが関連するアスペクトのIDが入る。名前はそのアドバイスを認識できる任意の文字列となる。ターゲットはメソッドもしくはフィールドであるが今回はメソッドのみを扱うものとする。タイプはaround、before、afterのいずれかである。実装は、そのアドバイスのプログラムコードとなる。
1つのポイントカット情報はID(701)、アスペクト(702)、名前(703)、ポイントカット表記(704)で構成されている。
アスペクトには、このポイントカットが関連するアスペクトのIDが入る。名前はそのポイントカットを特定できる任意の文字列となる。
ポイントカット表記はどのメソッドに対応するアスペクトを織り込むかを指定するもので、アスペクト実行環境であるAspectJの文法に従う。
あるメソッドを始点としてそのメソッドが呼び出すメソッドを木構造で表していく(801)。メソッドの呼び出し木の各ノードで保持されるデータ(802)は、どのメソッドに対応するかを表すメソッド情報(803)、そのメソッドに関連付けられたアスペクト(804)、そのメソッドが呼び出すメソッド(805)で構成される。アスペクト(80)および呼び出すメソッド(805)は、順番に保持されるリストとなる。
クラス名領域(901)は、クラスの解析中に現在解析中のクラスの名前を保持する。現在のメソッド領域(902)には現在解析中のメソッド情報が保持される。メソッド配列(903)およびメソッド呼び出し配列(904)には、クラスを読み込んで解析した結果を保持する。
アスペクト情報領域(1001)には現在解析中のアスペクト情報が保持される。
アスペクト配列(1002)、アドバイス配列(1003)、ポイントカット配列(1004)には、アスペクトを読み込んで解析した結果を保持する。
本装置の画面は、UMLのシーケンス図を中心とする。
UMLのシーケンス図は、クラスに対応するクラス名を表示した箱(1101),(1102)、(1103)とそこから伸びる線(ライフライン)(1104)、(1105)、(1106)と、そのクラスからのメソッド呼び出しを表す矢印(1107)〜(1110)で構成される。
本装置では標準的なシーケンス図にアスペクトの表示を加えたものである。アスペクト(1111)は、メソッドの矢印と呼び出し先のクラスのライフラインの間に表示される。
複数のアスペクトがメソッドに適用される場合は、重ねて表示される。
アスペクトは、図の左から右に向かう順で実行されるものとする。また、アスペクトが織り込むアドバイスがbeforeアドバイスの場合は、メソッドの上部(1112)に、afterアドバイスの場合はメソッドの下部(1113)に、aroundアドバイスの場合は、メソッドの横(1114)に描画される。この際、アスペクトは見易さを考慮して簡略化された状態で表示される。
また、画面右上部には、利用可能なアドバイスを列挙したアドバイスツールボックス(1115)が表示される。ここに列挙されるアドバイスは、アスペクト蓄積部(206)に蓄積されたアスペクトを解析して抽出した図6のアドバイス情報を一覧形式で表示したものである。ここから、利用するアドバイスを選択し、シーケンス図上にドラッグ(1116)する。
シーケンス図上に表示されているアスペクトのライフライン上にアドバイスをドラッグすると、そのアスペクトは展開されて表示される。そして、そのアスペクトの両側にガイドライン(1201)、(1202)が表示され、ここにアドバイスをドロップすることによって新規のアスペクトを設定することができる。
最初に本実施形態のアスペクト設定装置を利用してアスペクトを設定する手順を説明する。
図14は、アスペクトを設定する際のユーザの動作を示すフローチャートである。
最初に、アドバイスツールボックス(1115)からアドバイスを選択する(ステップ1401)。そのアドバイスをシーケンス図のアスペクトもしくはクラスのライフライン上にドラッグする(ステップ1402)。すると、そのアスペクト/クラスのライフラインの両側にガイドライン(1201)、(1202)が表示されるので、その上にアドバイスをドロップする(ステップ1403)。すると、図13に示したダイアログ(1300)が表示されるので、そこでアスペクトの設定(クラス、メソッド、引数の設定)を行い(ステップ1404)、OKボタン(1306)を押す(1405)。
なお、ガイドライン(1201)、(1202)は、ユーザインターフェース管理部(207)が表示する。
アスペクト生成部(205)はダイアログ(1300)に入力された情報をユーザインターフェース管理部(207)から受取り、図7に示すポイントカットデータを生成する(ステップ1501)。
次に、ドロップされたアドバイスを元に、図6に示すアドバイスデータと図5に示すアスペクト情報を生成する(ステップ1502)。
次に、図8に示すメソッド呼び出し木の中からアドバイスをドロップしたメソッドに対応するノードを取り出し、そのアスペクトリストの中に今回のアドバイスをドロップした位置にステップ1502で作成したアスペクトを追加する(ステップ1503)。
例えば、今まで、Profile→Debugの順番のときに、この2つのアスペクトの間にCheckをドロップした場合は、Profile→Check→Debugという順番になるようにもともとの2つのアスペクトの間に新しいアスペクトを追加する。
作成したアスペクト情報を元にアスペクトのプログラムコードを出力し、アスペクト蓄積部(206)に蓄積する(ステップ1504)。またメソッド呼び出し木のアスペクトリストを元にアスペクトの順番を記述するdeclare precedence文が記述されたアスペクトのプログラムを出力し、アスペクト蓄積部(206)に蓄積する(ステップ1505)。
202 クラス情報解析部
203 クラス蓄積部
204 アスペクト解析部
205 アスペクト生成部
206 アスペクト蓄積部
207 ユーザインターフェース管理部
208 ディスプレイ装置
209 入力装置
1115 ツールボックス
1201 ガイドライン
1202 ガイドライン
Claims (9)
- プログラムを構成する複数のクラスに織り込むアスペクトを設定する方法であって、
クラス情報解析手段により前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析する第1のステップと、アスペクト解析手段により前記メソッドに織り込まれたアスペクトの呼び出し関係を解析する第2のステップと、シーケンス図作成手段によりクラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示する第3のステップと、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受付けたアドバイスのデータから新規アスペクトをアスペクト生成手段により生成し、生成した新規アスペクトを前記クラス情報解析手段、アスペクト解析手段が解析した既存のクラスに織り込む第4のステップを備えることを特徴とするアスペクト設定方法。 - 前記第3のステップにおいて、前記シーケンス図上に、ドラッグ&ドロップ操作対象となるアドバイスを列挙したツールボックスを表示することを特徴とする請求項1に記載のアスペクト設定方法。
- 前記第3のステップにおいて、前記シーケンス図上に、ドロップ操作可能な位置をガイドラインで表示することを特徴とする請求項1または2に記載のアスペクト設定方法。
- アドバイスをドロップした位置の情報を元に、設定可能なポイントカット表記の候補をダイアログ上に表示することを特徴とする請求項3に記載のアスペクト設定方法。
- プログラムを構成する複数のクラスに織り込むアスペクトを設定する装置であって、
前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析するクラス情報解析手段と、前記メソッドに織り込まれたアスペクトの呼び出し関係を解析するアスペクト解析手段と、クラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示するシーケンス図作成手段と、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトを生成し、生成した新規アスペクトを前記クラス情報解析手段、アスペクト解析手段が解析した既存のクラスに織り込むアスペクト生成手段とを備えることを特徴とするアスペクト設定装置。 - 前記シーケンス図作成手段が、前記シーケンス図上に、ドラッグ&ドロップ操作対象となるアドバイスを列挙したツールボックスを表示することを特徴とする請求項5に記載のアスペクト設定装置。
- 前記シーケンス図作成手段が、前記シーケンス図上に、ドロップ操作可能な位置をガイドラインで表示することを特徴とする請求項5または6に記載のアスペクト設定装置。
- 前記シーケンス図作成手段が、アドバイスをドロップした位置の情報を元に、設定可能なポイントカット表記の候補をダイアログ上に表示することを特徴とする請求項7に記載のアスペクト設定装置。
- プログラムを構成する複数のクラスに織り込むアスペクトを設定するコンピュータプログラムであって、
前記複数のクラスのそれぞれに含まれるメソッドの呼び出し関係を解析する第1のステップと、前記メソッドに織り込まれたアスペクトの呼び出し関係を解析する第2のステップと、クラス相互間におけるメソッドとアスペクトの呼び出し関係を示すシーケンス図を作成し、当該シーケンス図をアスペクト設定用のユーザインターフェースとして画面表示する第3のステップと、画面表示されたシーケンス図上において所望のメソッド相互間またはアスペクト相互間に織り込む新規アスペクトのアドバイスをユーザによるドラッグ&ドロップ操作によって受付け、受け付けたアドバイスのデータから新規アスペクトをアスペクト生成手段により生成し、生成した新規アスペクトを既存のクラスに織り込む第4のステップとをコンピュータに実行させることを特徴とするアスペクト設定用のコンピュータプログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007072356A JP4974228B2 (ja) | 2007-03-20 | 2007-03-20 | アスペクト設定方法および装置並びにコンピュータプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007072356A JP4974228B2 (ja) | 2007-03-20 | 2007-03-20 | アスペクト設定方法および装置並びにコンピュータプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2008234271A true JP2008234271A (ja) | 2008-10-02 |
JP4974228B2 JP4974228B2 (ja) | 2012-07-11 |
Family
ID=39906970
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007072356A Expired - Fee Related JP4974228B2 (ja) | 2007-03-20 | 2007-03-20 | アスペクト設定方法および装置並びにコンピュータプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4974228B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301766A (ja) * | 1997-04-23 | 1998-11-13 | Oki Electric Ind Co Ltd | プログラム開発装置および並列リアルタイム処理装置 |
JP2004094496A (ja) * | 2002-08-30 | 2004-03-25 | Ntt Comware Corp | シーケンス図作成装置、およびその方法、シーケンス図作成プログラム、その記録媒体 |
WO2005106650A1 (ja) * | 2004-04-28 | 2005-11-10 | Fujitsu Limited | ソースコード作成支援プログラムおよびソースコード作成支援方法 |
JP2006099746A (ja) * | 2004-09-02 | 2006-04-13 | Ricoh Co Ltd | 動作定義情報作成方法、動作定義情報作成装置、動作定義情報作成プログラム、記録媒体及びデータ構造 |
-
2007
- 2007-03-20 JP JP2007072356A patent/JP4974228B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH10301766A (ja) * | 1997-04-23 | 1998-11-13 | Oki Electric Ind Co Ltd | プログラム開発装置および並列リアルタイム処理装置 |
JP2004094496A (ja) * | 2002-08-30 | 2004-03-25 | Ntt Comware Corp | シーケンス図作成装置、およびその方法、シーケンス図作成プログラム、その記録媒体 |
WO2005106650A1 (ja) * | 2004-04-28 | 2005-11-10 | Fujitsu Limited | ソースコード作成支援プログラムおよびソースコード作成支援方法 |
JP2006099746A (ja) * | 2004-09-02 | 2006-04-13 | Ricoh Co Ltd | 動作定義情報作成方法、動作定義情報作成装置、動作定義情報作成プログラム、記録媒体及びデータ構造 |
Also Published As
Publication number | Publication date |
---|---|
JP4974228B2 (ja) | 2012-07-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8001519B2 (en) | Model driven development including aspect integration tool | |
CN108351764B (zh) | 数据处理方法和系统 | |
JP4950454B2 (ja) | テスト自動化のスタック階層化 | |
US7266809B2 (en) | Software debugger and software development support system for microcomputer operable to execute conditional execution instruction | |
Grechanik et al. | Creating GUI testing tools using accessibility technologies | |
US20120110560A1 (en) | Data type provider for a web semantic store | |
CN108027721A (zh) | 用于使用控件来配置通用程序的技术 | |
US20110258604A1 (en) | Collapsible Stack Trace | |
KR20140071292A (ko) | 애플리케이션의 구조와 메소드 호출 시퀀스를 시각적으로 표현하는 비주얼 스프링 개발 환경 시스템 | |
US20090132994A1 (en) | Automation tool and method for generating test code | |
US8683439B2 (en) | System and process for debugging object-oriented programming code leveraging preprocessors | |
US20120110548A1 (en) | Data type provider for an operating system instrumentation store | |
JP2013152730A (ja) | プラズマ処理システムコンポーネント解析ソフトウェアおよびそのプラズマ処理システムコンポーネント解析ソフトウェアを製作するための方法およびシステム | |
US9612829B2 (en) | System and method for pattern based services extraction | |
Franzke | Charlie 2.0-a multi-threaded Petri net analyzer | |
US20120233594A1 (en) | Sharable development environment bookmarks for functional/data flow | |
CN111596905A (zh) | 生成java对象的方法、装置、存储介质及终端 | |
US7036045B2 (en) | Method and system for isolating exception related errors in Java JVM | |
JP2007213487A (ja) | アスペクト生成方法及び装置 | |
CA2293068C (en) | System and method for managing messages and annotations presented in a user interface | |
JP4974228B2 (ja) | アスペクト設定方法および装置並びにコンピュータプログラム | |
Tkachuk et al. | Environment generation for validating event-driven software using model checking | |
US20080276187A1 (en) | Iconic Programming System with Disabling and Enabling of Dependent Objects | |
CN108241488A (zh) | 一种生成app界面的系统及方法 | |
JP4925514B2 (ja) | 内外イベントドリブン方式によるプログラム実行制御方法、プログラム、実行制御装置および記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090716 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20111130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111206 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120206 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20120405 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20120405 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20150420 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |