JP4588295B2 - シーケンス解析方法およびシーケンス解析装置 - Google Patents
シーケンス解析方法およびシーケンス解析装置 Download PDFInfo
- Publication number
- JP4588295B2 JP4588295B2 JP2002548582A JP2002548582A JP4588295B2 JP 4588295 B2 JP4588295 B2 JP 4588295B2 JP 2002548582 A JP2002548582 A JP 2002548582A JP 2002548582 A JP2002548582 A JP 2002548582A JP 4588295 B2 JP4588295 B2 JP 4588295B2
- Authority
- JP
- Japan
- Prior art keywords
- class
- instance
- sequence
- name
- column
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 204
- 238000012300 Sequence Analysis Methods 0.000 title claims description 26
- 238000010586 diagram Methods 0.000 claims description 112
- 238000006243 chemical reaction Methods 0.000 claims description 35
- 230000006870 function Effects 0.000 claims description 11
- 239000011159 matrix material Substances 0.000 claims description 6
- 230000008707 rearrangement Effects 0.000 claims description 2
- 230000003068 static effect Effects 0.000 claims 1
- 230000008569 process Effects 0.000 description 41
- 238000004458 analytical method Methods 0.000 description 7
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 230000007547 defect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000033772 system development Effects 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/28—Error detection; Error correction; Monitoring by checking the correct order of processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/75—Structural analysis for program understanding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/448—Execution paradigms, e.g. implementations of programming paradigms
- G06F9/4488—Object-oriented
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Stored Programmes (AREA)
Description
技術分野
本発明はシーケンス解析方法およびシーケンス解析装置に関し、特に、オブジェクト指向言語で記述されたプログラムのシーケンスを解析するシーケンス解析方法およびシーケンス解析装置に関する。
【0002】
背景技術
オブジェクト指向言語によりシステム開発を行う場合には、OMG(Object Management Group)によって標準化されたUML(Unified Modeling Language)の中のシーケンス図が実装のためのドキュメントとして重視されている。
【0003】
このシーケンス図は、所定の機能に関するクラス群のメソッド(手続き型言語の関数に対応するもの)の呼び出し関係を示すものであり、機能単位に作成されることが通例である。
【0004】
ところで、システム全体に対するシーケンス図は、数百枚または数千枚のオーダーになることが多いため、例えば、メソッドのシーケンス図間での一貫性についてチェックすることが困難であるという問題があった。
【0005】
そこで、これらのシーケンス図を1枚の図面に集約し、チェックの簡易化を図ることも考えられるが、オブジェクト指向言語ではクラスがアトミック(Atomic)な操作単位であるため、単に集約して1枚の図面にし、クラスのメンバに対する編集を許可すると、クラス単位での編集がかえって困難になるという問題点もあった。
【0006】
発明の開示
本発明はこのような点に鑑みてなされたものであり、オブジェクト指向言語を用いたシステム全体の一覧性を高めることが可能なシーケンス解析方法およびシーケンス解析装置を提供することを目的とする。
【0007】
本発明では上記課題を解決するために、オブジェクト指向言語で記述されたプログラムのシーケンスを解析するシーケンス解析方法において、変換手段が、クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納されたシーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得するステップと、表示処理手段が、変換手段によって取得されたクラス名に対応する列と呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示するステップと、を有することを特徴とするシーケンス解析方法が提供される。
【0008】
ここで、まず、クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納されたシーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得する。そして、取得されたクラス名に対応する列と呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示する。
【0009】
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
【0010】
発明を実施するための最良の形態
以下、本発明の実施の形態を図面を参照して説明する。
【0011】
図1は、本発明の動作原理を説明する原理図である。この図において、本発明に係るシーケンス解析方法を実現するシーケンス解析装置2は、複数のシーケンス図1a〜1dを読み込んで解析し、シーケンス一覧表3を出力する。
【0012】
シーケンス解析装置2は、クラス名取得手段2a、インスタンス名取得手段2b、メソッド名取得手段2c、呼び出し関係取得手段2d、シーケンス一覧表表示手段2eによって構成されている。
【0013】
ここで、クラス名取得手段2aは、プログラムを構成するクラスのクラス名を取得する。
インスタンス名取得手段2bは、各クラスから派生するインスタンスのインスタンス名を取得する。
【0014】
メソッド名取得手段2cは、各インスタンスに含まれているメソッドのメソッド名を取得する。
呼び出し関係取得手段2dは、各メソッドの呼び出し関係を取得する。
【0015】
シーケンス一覧表表示手段2eは、クラス名取得手段2a、インスタンス名取得手段2b、メソッド名取得手段2cによって取得された情報を表形式で一覧表示し、呼び出し関係取得手段2dによって取得した情報に基づいて、各メソッドの呼び出し関係を表示したシーケンス一覧表を表示する。
【0016】
次に、以上の原理図の動作について説明する。
処理対象のシーケンス図として、クラスA、クラスB、および、クラスCから構成され、クラスAがクラスBのメソッドAを呼び出し、クラスBがクラスCのメソッドBおよびメソッドCを呼び出す構造を有するシーケンス図1aおよびその他のシーケンス図1b〜1dが選択されたとする。
【0017】
クラス名取得手段2aは、これらのシーケンス図1a〜1dに含まれているクラス名(例えば、クラスA〜クラスC)を取得する。
インスタンス名取得手段2bは、シーケンス図1a〜1dに含まれているインスタンス名(例えば、インスタンスA〜インスタンスB(図示せず))を取得する。
【0018】
メソッド名取得手段2cは、シーケンス図1a〜1dに含まれているメソッド名(例えば、メソッドA〜メソッドC)を取得する。
呼び出し関係取得手段2dは、シーケンス図1a〜1dに含まれているメソッドの呼び出し関係(「クラスAがクラスBのメソッドAを呼び出す」等)を取得する。
【0019】
シーケンス一覧表表示手段2eは、クラス名取得手段2a、インスタンス名取得手段2b、および、メソッド名取得手段2cによって取得されたクラス名、インスタンス名、および、メソッド名と、呼び出し関係取得手段2dによって取得された呼び出し関係に基づいてシーケンス一覧表3を生成し、表示出力する。
【0020】
ここで、シーケンス一覧表3は、シーケンス図1a〜1dに含まれている全てのクラスが列挙されており、各クラスのインスタンスとメソッドとが属性として示されている。また、メソッド同士の呼び出し関係は矢線によって示されている。
【0021】
例えば、クラスBは、メソッドA(mA)を有しており、このメソッドAはクラスAから呼び出されている。また、クラスCはメソッドB(mB)とメソッドC(mC)とを有しており、これらのメソッドは、クラスBのインスタンスA(iA)から呼び出されている。なお、この図では、シーケンス図1aに対応する部分のみを示しているが、実際にはシーケンス図1b〜1dに対応するクラスに関する内容も表示されている。
【0022】
ところで、以上のようにして表示されたシーケンス一覧表3の表示内容は、クラスを単位としての編集(例えば、クラスの移動、複写、削除)のみが許可されるので、例えば、クラスBを異なる位置に移動させることは可能であるが、クラスBのメソッドAのみを移動させることは禁止される。従って、目的に応じて、表示の態様を変化させることが可能になるとともに、クラスを単位とする変更のみを許可することにより、操作の煩雑性(インスタンスとメソッドを個別に移動させる等)を解消することが可能になる。
【0023】
以上に説明したように、本発明によれば、複数のシーケンス図から1枚のシーケンス一覧表を生成するようにしたので、システム全体の一覧性を向上させることが可能になる。
【0024】
また、表示内容の変更については、クラス単位での変更のみを許可するようにしたので、既述したように操作の煩雑性を解消させることが可能となる。
次に、本発明の実施の形態の構成例について説明する。
【0025】
図2は、本発明に係るシーケンス解析方法を実現するシーケンス解析装置の構成例を示すブロック図である。
この図に示すように、シーケンス解析装置10は、CPU(Central Processing Unit)10a、ROM(Read Only Memory)10b、RAM(Random Access Memory)10c、HDD(Hard Disk Drive)10d、GB(Graphics Board)10e、I/F(Interface)10f、および、バス10gによって構成されており、その外部には表示装置11と入力装置12とが接続されている。
【0026】
ここで、CPU10aは、HDD10dに格納されているプログラムに従って装置の各部を制御するとともに、種々の演算処理を実行する。
ROM10bは、CPU10aが実行する基本的なプログラムやデータを格納している。
【0027】
RAM10cは、CPU10aが実行の対象とするプログラムや、演算途中のデータを一時的に格納する。
HDD10dは、CPU10aが実行する各種プログラムや、解析対象となるシーケンス図や、解析結果であるシーケンス一覧表のデータを格納する。
【0028】
GB10eは、CPU10aから供給された描画命令に従って描画された画像データを映像信号に変換して出力する。
I/F10fは、入力装置12から供給されたデータの表現形式を、シーケンス解析装置10の内部形式に適合するように変換する。
【0029】
表示装置11は、例えば、CRT(Cathode Ray Tube)モニタによって構成されており、GB10eから出力された映像信号を表示する。
入力装置12は、例えば、マウスやキーボード等の入力デバイスによって構成されている。
【0030】
図3は、図2に示すシーケンス解析装置10のHDD10dに格納されているアプリケーションプログラムが起動された場合に、実現される機能ブロックについて説明する図である。
【0031】
この図において、データベース20は、HDD10dによって構成され、処理の対象となるシーケンス図やクラス図(詳細は後述する)が格納されている。
変換部21は、CPU10aその他によって実現され、データベース20に格納されているシーケンス図から必要な項目を取得し、シーケンス一覧表に変換する処理を実行する。
【0032】
データベース22は、HDD10dによって構成され、変換部21によって生成されたシーケンス一覧表を格納する。
表示処理部23は、CPU10aその他の機能によって実現され、データベース22に格納されているシーケンス一覧表に対して所定の処理を施した後、表示部26に供給する。
【0033】
逆変換部24は、データベース22に格納されているシーケンス一覧表の指定された部分を、シーケンス図に逆変換し、表示処理部23に供給する。
チェック部25は、データベース22に格納されているシーケンス一覧表の内容に瑕疵がないか否かをチェックし、チェック結果を表示処理部23に供給する。
【0034】
表示部26は、GB10eおよび表示装置11によって構成されており、表示処理部23から出力された情報を表示出力する。
入力部27は、I/F10fおよび入力装置12によって構成されており、ユーザの操作に応じた情報を表示処理部23に供給する。
【0035】
次に、以上の実施の形態の動作について説明する。
いま、図4に示すシーケンス図40〜43と、図5に示すクラス図50〜53がデータベース20に格納されているとする。ここで、シーケンス図は、クラスから派生したインスタンスに含まれているメソッドの呼び出し関係を示した図であり、機能毎に生成される図である。図4に示すシーケンス図40の例では、コントローラクラス40a、商品クラスの鉛筆インスタンス40b、および、在庫クラスのA倉庫インスタンス40cが表示されている。矢線によって示すように、コントローラクラス40aは、鉛筆インスタンス40bの受注メソッドを呼び出している。また、鉛筆インスタンス40bは、A倉庫インスタンス40cのget数量メソッドと、get在庫メソッドとを呼び出している。また、鉛筆インスタンス40bは、鉛筆インスタンス40b自身が有するcalc数量メソッドを呼び出している。なお、各メソッドの左側に表示されている数値は、メソッドの呼び出し関係の階層を示すものであるが、その詳細については後述する。
【0036】
図5は、クラスと、クラスに含まれているメソッドとの関係を示すクラス図である。この例は、クラス図50〜53を含んでおり、処理の対象となるクラス図50の内容が例示されている。この例では、コントローラクラス50a、商品クラス50b、および、在庫クラス50cが表示されており、商品クラス50bは、受注メソッドとcalc数量メソッドとを有している。また、在庫クラス50cは、get数量メソッドと、get在庫メソッドとを有している。本例では、クラス図を複数に分けた例を説明しているが、一枚にまとめて表示させてもよい。
【0037】
このような対象データに対して解析処理を施すために、入力装置12を操作して解析用のアプリケーションプログラムを起動すると、CPU10aはHDD10dから該当するプログラムを読み込んで実行する。その結果、表示装置11には、図6に示すような解析用プログラムの画面60が表示される。
【0038】
この表示例では、タイトル「シーケンス解析」の下に、ボタン61〜66が表示され、また、その下には解析対象のデータや解析結果のデータが配置される表示領域67が表示されている。
【0039】
図7は、図6に示すボタン61〜66が操作された場合に表示されるプルダウンメニューの一例を示す図である。なお、ボタン66については、プルダウンメニューは表示されずにコマンドが直接実行されるので、図7には表示していない。
【0040】
図7に示すように、ボタン61が操作されると、解析対象となるファイルを読み込む際に選択される読み込み61aと、表示領域67に表示されている内容をプリントアウトする際に選択される印刷61bとがメニュー項目として表示される。
【0041】
ボタン62が操作されると、表示領域67に表示されたシーケンス一覧表の所定のクラスを移動する際に選択される移動62a、指定されたクラスを削除する際に選択される削除62b、指定されたクラスを表示又は非表示とする際に選択される表示/非表示62cとがメニュー項目として表示される。
【0042】
ボタン63が操作されると、読み込まれたシーケンス図をシーケンス一覧表に変換する際に選択される変換63aおよびシーケンス一覧表の一部をシーケンス図に逆変換する際に選択される逆変換63bがメニュー項目として表示される。
【0043】
ボタン64が操作されると、表示領域67に表示されているシーケンス一覧表にメソッドの呼び出し関係を示す矢線を追加表示する際に選択される矢線64a、類似または同一のメソッドを集約して表示する際に選択されるメソッド集約64b、および、クラスの表示項目を省略または追加する際に選択される詳細/省略64cがメニュー項目として表示される。
【0044】
ボタン65が操作されると、シーケンス一覧表とクラス図の相互の内容のチェックを行う際に選択される相互チェック65a、シーケンス一覧表の各メソッドに付与されたシーケンス番号の適否をチェックする際に選択されるシーケンス番号65b、入り口のメソッドをチェックする際に選択される入り口65c、および、メソッドのパラメタをチェックする際に選択されるパラメタ65dがメニュー項目として表示される。
【0045】
次に、図6に示す画面60において、ボタン61が操作され、メニューの項目である読み込み61aが選択された後、図4に示すシーケンス図40〜43が解析対象として選択されたとすると、変換部21はデータベース20からシーケンス図40〜43を読み込む。その結果、画面60の表示領域67には、図6に示すようにシーケンス図40〜43が表示される。
【0046】
次に、ボタン63が操作され、変換63aが選択されると、変換部21はシーケンス図をシーケンス一覧表に変換する処理を実行する。なお、この処理の一例を図8を参照して説明する。図8に示すフローチャートが開始されると、以下のステップが実行される。
【0047】
ステップS10:
変換部21は、読み込み61aが選択されて指定されたシーケンス図をデータベース20から読み込む。
【0048】
ステップS11:
変換部21は、ボタン63が操作されて変換63aが選択された場合にはステップS12に進み、それ以外の場合には同様の処理を繰り返す。
【0049】
ステップS12:
変換部21は、シーケンス図から1本の矢線データを取得する。即ち、矢線の接続元と接続先のクラスのデータをデータベース20から取得する。
【0050】
ステップS13:
変換部21は、矢線データの取得に成功した場合、即ち、未処理の矢線データが存在した場合にはステップS14に進み、それ以外の場合には処理対象となる矢線を全て処理し終えたとして処理を終了する。
【0051】
ステップS14:
変換部21は、矢線の接続元の情報を解析する。即ち、変換部21は、矢線の接続元の情報を解析し、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、接続先インスタンスを取得する。
【0052】
ここで、接続元クラスおよび接続元インスタンスは、矢線の接続元のクラスとインスタンスとを示す。シーケンス図IDは、矢線の接続元と接続先のクラスが含まれているシーケンス図のID(Identification)を示す。インスタンス名は、接続元インスタンスの名前を示し、生成インスタンスは変換部21が自動的に割り当てた識別コードである。シーケンスNo.は、クラスの階層構造を反映して各メソッドに付与されたシリアル番号である。メソッド名はメソッドの名前を示し、パラメタおよび返り値は、メソッドのパラメタ(引数)と返り値を示す。接続先クラスおよび接続先インスタンスは、接続先のクラスとそのインスタンスとを示す。
【0053】
ステップS15:
変換部21は、矢線の接続先の情報を解析する。即ち、変換部21は、矢線の接続先の情報を解析し、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、接続先インスタンスを取得する。なお、各情報は、前述した場合と同様である。
【0054】
ステップS16:
シーケンス一覧表に対して、取得した矢線の接続元および接続先の情報を書き込む。そして、ステップS12に戻って同様の処理を繰り返す。
【0055】
以上に示す処理の結果として生成されたシーケンス一覧表は、図9に示すように、画面60の表示領域67に表示される。この表示例では、シーケンス一覧表のうち、コントローラクラス50aに関する部分のみが表示されている。なお、スライダ70またはボタン68,69を操作すると、商品クラス50bおよび在庫クラス50cを表示領域67に表示させることができる。
【0056】
なお、紙面の関係から、全てのクラスに関するシーケンス一覧表を同時に表示することができないので、シーケンス一覧表の各クラスに関する部分の詳細について個別に説明する。
【0057】
図10は、コントローラクラス50aに関するシーケンス一覧表の一例である。この例では、列の項目として、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、および、接続先インスタンスが表示されている。また、各行には、図4に示すシーケンス図の各矢線に該当するデータが1つずつ格納される。例えば、図10の例では、図4に示すシーケンス図の受注メソッドに該当するデータが格納されている。具体的には、受注メソッドのシーケンス図IDは、「Patten」であり、生成インスタンスは「Patten01」であり、シーケンス番号は「1」であり、メソッド名は「受注」であり、接続先クラスは「商品」であることが示されている。
【0058】
図11は、商品クラス50bに関するシーケンス一覧表の一例である。この例において、第1行目の項目は、図10の第1行目に示す受注メソッドに対応する情報であり、接続元クラスとして「コントローラ」が、また、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、および、メソッド名として、「Patten」、「鉛筆」、「Patten02」、「1」、および、「受注」がそれぞれ格納されている。
【0059】
従って、図10および図11の第1行目の項目を参照することにより、元のシーケンス図の矢線の接続元と接続先に関する情報を取得することができる。
図12は、在庫クラス50cに関するシーケンス一覧表の一例である。この例では、図11に示すメソッドget数量とget在庫の接続先に関する情報が格納されている。具体的には、メソッドget在庫に対応する情報として、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、および、メソッド名のそれぞれについて、「商品」、「鉛筆」、「Patten」、「A倉庫」、「Patten03」、「1.1」、および、「get数量」が格納されている。
【0060】
以上に説明したように、本実施の形態によれば、複数のシーケンス図から1枚のシーケンス一覧表を生成して表示するようにしたので、システム全体の構造を一瞥の下に参照することが可能になる。
【0061】
また、シーケンス図をシーケンス一覧表に変換することにより、関係データベースへ格納することが可能になるので、以下に説明するように、関係データベースの機能を活用し、項目の検索や編集を簡易に行うことが可能になる。
【0062】
図13は、シーケンス一覧表に含まれている所定の文字列を検索する際の手続きについて説明する図である。文字列を検索する場合には、先ず、ボタン66を操作し、その結果として表示される文字列入力画面(図示せず)から、検索しようとする文字列を入力し、検索を開始する操作を行うと、表示処理部23は、入力部27から入力された文字列を取得し、シーケンス一覧表に含まれている該当する文字列を検索する。そして、該当する文字列が検出された場合には、シーケンス一覧表の該当部分を反転表示する。図13は、検索する文字列として「受注」が入力された場合における検索結果を示している。この例では、メソッド名「受注」が反転表示されており、入力された文字列に該当する項目を即座に見出すことが可能になる。
【0063】
次に、図14を参照し、ボタン64が操作された後、メソッド集約64bが選択された場合に実行される処理について説明する。
メソッド集約64bが選択されると、表示処理部23は、シーケンス一覧表に表示されているメソッドのうち、同一または類似の名前を有するものが近接するように並べ替えを行った後、表示部26に供給して表示を更新する。
【0064】
その結果、商品クラス50bに関するシーケンス一覧表は、図14に示すようにメソッドget数量およびメソッドget在庫が連続するように並べ替えがなされることになる。このように同一または類似するメソッドを近接して配置することで、従来においては、複数のシーケンス図に散在していた同一メソッドの呼び出し方、および、使い方等の一貫性および整合性を容易にチェックすることが可能となる。また、同一または類似するメソッドを近接して配置する他にも、例えば、アルファベット順やあいうえお順に並べ替えることにより、類似するメソッドが近接して表示されるので、メソッド名の誤記等を簡単に見つけることが可能になる。
【0065】
次に、図15を参照し、ボタン64の詳細/省略64cが選択された場合の処理について説明する。
詳細/省略64cが選択されると、表示処理部23は、表示項目を選択するための画面(図示せず)を表示部26に表示させ、表示項目の選択を受ける。具体的には、接続元クラス、接続元インスタンス、シーケンス図ID、インスタンス名、生成インスタンス、シーケンスNo.、メソッド名、パラメタ、返り値、接続先クラス、および、接続先インスタンスのそれぞれについて表示の有無を入力する画面を表示させて、必要な項目の入力を受ける。
【0066】
続いて、表示処理部23は、シーケンス一覧表のうち、先に指定された必要な項目のみを選択して、表示部26に表示させる。例えば、必要な表示項目として、インスタンス名とメソッド名のみが選択された場合には、図15の表示領域67に示す情報が表示される。
【0067】
この例では、各クラスのインスタンス名とメソッド名のみが表示されている。例えば、鉛筆インスタンスは、在庫クラスのインスタンスA倉庫のget数量メソッドを呼び出していることが分かる。又、calc数量メソッドは、商品クラスの鉛筆インスタンスが有するcalc数量自身を呼び出している。
【0068】
このように、必要項目以外を画面上から排除することにより、シーケンス一覧表の全体の一覧性を高めることが可能になるとともに、検索速度を向上させることが可能になる。
【0069】
次に、図15に示す画面60において、ボタン64が操作され、矢線64aが選択された場合の動作について説明する。
ボタン64が操作され、矢線64aが選択されると、表示処理部23は、シーケンス一覧表上に現在矢線が表示されていない場合には、各メソッドの呼び出し関係に応じた矢線を表示する。また、矢線が表示状態である場合には、画面上から消去して非表示状態にする。いまの例では、図15に示すように、矢線は非表示状態であるので、表示処理部23は、矢線を表示状態にする。その結果、図16に示すように、矢線が表示されることになる。
【0070】
このように、矢線を必要に応じて表示または非表示の状態にすることにより、他の情報の視認性を高めたり、あるいは、矢線によるメソッドの呼び出し関係の視認性を高めたりすることを任意に選択することが可能になる。
【0071】
次に、図16において、ボタン62が操作された後、移動62aが選択された場合に動作について説明する。
移動62aが選択されると、任意のクラスを任意の位置に移動させることが可能になる。なお、移動はクラス単位でのみ許可するものとする。例えば、図16において、コントローラクラスが移動の対象として選択(例えば、マウスでクリック)された後、このコントローラクラスを在庫クラスの右側に移動させる操作がなされたとすると、表示処理部23は、シーケンス一覧表上のコントローラクラスが在庫クラスの右側に配置されるように並べ替え処理を行い、並べ替えが終了したデータを表示部26に供給して表示させる。
【0072】
その結果、図17の表示領域67に示すように、コントローラクラスが在庫クラスの後に表示されるとともに、矢線の方向が適宜修正されて表示されることになる。
【0073】
このように、クラスの位置を自由に変更することを可能としたので、目的に応じてクラスを再配置することにより、メソッドの参照関係をより簡易に知ることが可能になる。
【0074】
なお、以上の例では、クラスを移動させる場合について説明したが、クラスを削除したり、表示または非表示の状態にしたり、あるいは複写する処理を行うことも可能である。例えば、クラスを削除する場合には、呼び出し関係を有する他方のクラスとの関係が消滅するので、その点を考慮して削除する。また、非表示の状態にする場合も同様である。このように、表示されている内容に対してクラス単位で編集を許可することにより、目的に応じて表示の態様を変更し、作業性を向上させることが可能になる。
【0075】
次に、任意のクラスが選択された後、ボタン63が操作されて逆変換63bが選択された場合に実行される処理について図18を参照して説明する。このフローチャートが開始されると、以下のステップが実行される。
【0076】
ステップS30:
逆変換部24は、表示処理部23を介して入力部27から取得した情報に応じて、指定されたクラスを特定する。例えば、入力部27から、複数のクラスを指定する情報が入力された場合には、逆変換部24は指定された複数のクラスを特定する。
【0077】
ステップS31:
逆変換部24は、指定されたクラスに含まれている、シーケンス図における1本の矢線に対応するデータを取得する。具体的には、矢線の接続元と接続先のクラス、インスタンス、および、メソッド名等を取得する。
【0078】
ステップS32:
逆変換部24は、矢線に対応するデータの取得に成功したか否かを判定し、取得に成功した場合にはステップS33に進み、それ以外の場合には処理を終了する。
【0079】
ステップS33:
逆変換部24は、ステップS31において取得した矢線1本に対応するデータ(接続元および接続先のデータ)から、シーケンス図の矢線データ(ステップS31において取得したデータをクラス毎に分けて配置したデータ)を生成する。
【0080】
ステップS34:
逆変換部24は、シーケンス図の該当する部分に対して、ステップS33で生成した矢線データを書き込み、ステップS31に戻って前述の場合と同様の処理を繰り返す。
【0081】
以上の処理によれば、シーケンス一覧表上において所望のクラス群を指定し、指定されたクラス群に対応するシーケンス図を作成することが可能になるので、必要なクラスのみに着目したシーケンス図を簡易に作成することが可能になる。
【0082】
次に、ボタン65が操作され、相互チェック65aが選択された場合に実行される処理について説明する。
ボタン65が操作され、相互チェック65aが選択されると、チェック部25は、図19に示すフローチャートを実行する。
【0083】
ステップS50:
チェック部25は、データベース20から図5に示すクラス図を読み込む。
ステップS51:
チェック部25は、シーケンス一覧表の該当するクラス(ステップS50で読み込んだクラス図に対応するクラス)に含まれているメソッドの一覧表であるメソッド一覧表を作成する。
【0084】
ステップS52:
チェック部25は、取得したクラスがシーケンス一覧表の最後の行であるか否かを判定し、最後の行である場合には処理を終了し、それ以外の場合にはステップS53に進む。
【0085】
ステップS53:
チェック部25は、クラス図に含まれているメソッドと、メソッド一覧表に含まれているメソッドとを比較する。
【0086】
ステップS54:
チェック部25は、ステップS53の比較により、両者が一致するか否かを判定し、両者が一致する場合には正常であるとしてステップS50に戻って同様の処理を繰り返し、それ以外の場合にはステップS55に進む。
【0087】
ステップS55:
チェック部25は、シーケンス一覧表上の該当する行全体を反転表示する。
ステップS56:
チェック部25は、クラス図と不一致のメソッドが存在する旨を示すエラーメッセージを表示する。
【0088】
ところで、シーケンス図上にあるメソッドはクラス図上のクラスのメソッドとして定義されている必要があるが、以上の処理によれば、シーケンス図上にあるメソッドがクラス図上のメソッドとして定義されているか否かを自動的に判定することが可能となる。
【0089】
本例では、クラス図に含まれるクラスから呼び出されるメソッドと、シーケンス図上のメソッドが一致しているかをチェックしているが、本発明はクラス図とシーケンス図の不一致をチェックすることを目的とするものであるため、図示しないが、クラス図上のクラスとシーケンス図上のクラスとの不一致をチェックするものも本発明に含まれる。
【0090】
次に、ボタン65が操作され、シーケンス番号65bが選択された場合に実行される処理について図20を参照して説明する。このフローチャートが開始されると、以下のステップが実行される。
【0091】
ステップS70:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS71:
チェック部25は、読み込みに成功したか否か、即ち、未処理の行が残っていた場合にはステップS72に進み、それ以外の場合には処理対象が存在しないとして処理を終了する。
【0092】
ステップS72:
チェック部25は、読み込んだ行のシーケンス番号が1.であるか否か、即ち、階層が最も上の(入り口の)メソッドであるか否かを判定する。1.である場合にはステップS73に進み、それ以外の場合にはステップS76に進む。
【0093】
ステップS73:
チェック部25は、矢線の接続元の「接続元クラス」と、「接続元インスタンス」のカラムに格納されている情報を取得する。
【0094】
ステップS74:
チェック部25は、これら双方のカラムが空であるか否かを判定し、空である場合には正常であるとしてステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS75に進む。
【0095】
ステップS75:
チェック部25は、シーケンス番号が1.であるクラスは、通常は入り口クラスであり、クラスの接続元クラスと接続元インスタンスは空であるのに、何らかの情報が格納されている場合にはエラーであるとして当該行を反転するとともに、エラーが発生した旨を示すメッセージを表示する。
【0096】
ステップS76:
チェック部25は、1行上のシーケンス番号との関係を取得する。
ステップS77:
チェック部25は、1行上のシーケンス番号が1階層上のクラスのものであるか否かを判定し、1階層上のクラスのものである場合にはステップS79に進み、それ以外の場合にはステップS78に進む。ここで、1階層上であるか否かは、シーケンス番号に含まれているドット「.」の数を参照して決定する。即ち、ドットの数が多い程、階層が深いシーケンスだからである。
【0097】
ステップS78:
チェック部25は、1行上の接続元クラスおよび接続元インスタンスと、当該行の接続元クラスおよび接続元インスタンスとが一致するか否かを判定し、一致する場合には同一階層のシーケンスとして正常であることから、ステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS81に進む。
【0098】
ステップS79:
チェック部25は、1行上の接続先クラスおよび接続先インスタンスと、当該行の接続元クラスおよび接続元インスタンスとが一致するか否かを判定する。
【0099】
ステップS80:
チェック部25は、ステップS79の双方が一致するか否かを判定し、この双方が一致する場合には、1行上が1階層上のシーケンスであり、また、当該行が1階層下のシーケンスである場合に該当するとともに、正常な状態であるとして、ステップS70に戻って同様の処理を繰り返し、それ以外の場合にはステップS81に進む。
【0100】
ステップS81:
チェック部25は、1行上と当該行のシーケンスとが正常でないとして、当該行を反転するとともに、正常でない旨を示すメッセージを表示し、ステップS70に戻って同様の処理を繰り返す。
【0101】
以上の処理によれば、シーケンス番号の付与のしかたが正常であるか否かを自動的にチェックすることが可能になる。
次に、ボタン65が操作され、入り口65cが選択された場合に実行される処理について図21を参照して説明する。このフローチャートが開始されると、以下の処理が実行される。
【0102】
ステップS100:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS101:
チェック部25は、読み込みに成功したか否か、即ち、未処理の行が残っていた場合にはステップS102に進み、それ以外の場合には処理対象が存在しないとして処理を終了する。
【0103】
ステップS102:
チェック部25は、読み込んだ行のシーケンス番号が1.であるか否かを判定し、1.である場合にはステップS103に進み、それ以外の場合にはステップS100に戻って同様の処理を繰り返す。
【0104】
ステップS103:
チェック部25は、矢線の接続元の「接続元クラス」と、「接続元インスタンス」のカラムに格納されている情報を取得する。
【0105】
ステップS104:
チェック部25は、これら双方のカラムが空であるか否かを判定し、空である場合にはステップS105に進み、それ以外の場合には処理を終了する。
【0106】
ステップS105:
チェック部25は、シーケンス番号が1.であるクラスは、通常は入り口クラスであり、クラスの接続元クラスと接続元インスタンスは空であるのに、何らかの情報が格納されている場合にはエラーであるとして当該行を反転するとともに、エラーが発生した旨を示すメッセージを表示した後、処理を終了する。
【0107】
以上の処理によれば、入り口メソッドが正常であるか否かのチェックを行うことが可能になる。
次に、ボタン65が操作され、パラメタ65dが選択された場合に実行される処理について図22を参照して説明する。この処理は、シーケンス一覧表に記載されたメソッドのパラメタおよび返り値が正常であるか否かを判定する処理である。このフローチャートが開始されると、以下のステップが実行される。
【0108】
ステップS120:
チェック部25は、シーケンス一覧表の所定の1行を読み込む。
ステップS121:
チェック部25は、読み込みに成功したか否かを判定する。即ち、シーケンス一覧表に未処理の行が存在しない場合には処理を終了し、それ以外の場合にはステップS122に進む。
【0109】
ステップS122:
チェック部25は、ステップS120で読み込んだ所定の行の接続元のパラメタと返り値とを取得する。
【0110】
ステップS123:
チェック部25は、ステップS120で読み込んだ所定の行の接続先のパラメタと返り値とを取得する。
【0111】
ステップS124:
チェック部25は、接続元と接続先のパラメタおよび返り値の型および個数を比較する。
【0112】
ステップS125:
チェック部25は、ステップS124の比較の結果、両者が一致したか否かを判定し、一致した場合には正常であるとしてステップS120に戻って同様の処理を繰り返し、それ以外の場合にはステップS126に進む。
【0113】
ステップS126:
チェック部25は、現在の行を反転するとともに、パラメタと返り値が正常でない旨を示すメッセージを表示し、ステップS120に戻って同様の処理を繰り返す。
【0114】
以上の処理によれば、シーケンス一覧表に含まれている接続元と接続先のパラメタが一致しない、エラーを有する行を自動的に検出することが可能になる。
なお、以上の実施の形態においては、シーケンス図からシーケンス一覧表を生成するようにしたが、例えば、ソースファイルからシーケンス一覧表を生成することも可能である。その場合には、ソースファイルを各クラス毎に分解し、各クラスから派生するインスタンスと、各インスタンスに含まれているメソッドを特定し、メソッドの呼び出し関係を、テキスト解析によって解析することにより得ることができる。そして、そのようにして得られた情報に基づいて、上述の場合と同様の処理を施すことにより、メソッド一覧表を生成することができる。
【0115】
また、以上に示したシーケンス一覧表の表示は一例であり、このような場合のみに本発明が限定されるものではない。
最後に、上記の処理機能は、コンピュータによって実現することができる。その場合、シーケンス解析装置が有すべき機能の処理内容は、コンピュータで読み取り可能な記録媒体に記録されたプログラムに記述されており、このプログラムをコンピュータで実行することにより、上記処理がコンピュータで実現される。コンピュータで読み取り可能な記録媒体としては、磁気記録装置や半導体メモリ等がある。市場へ流通させる場合には、CD−ROM(Compact Disk Read Only Memory)やフロッピーディスク等の可搬型記録媒体にプログラムを格納して流通させたり、ネットワークを介して接続されたコンピュータの記憶装置に格納しておき、ネットワークを通じて他のコンピュータに転送することもできる。コンピュータで実行する際には、コンピュータ内のハードディスク装置等にプログラムを格納しておき、メインメモリにロードして実行する。
【0116】
以上説明したように本発明では、オブジェクト指向言語で記述されたプログラムのシーケンスを解析するシーケンス解析方法において、変換手段が、クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納されたシーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得するステップと、表示処理手段が、変換手段によって取得されたクラス名に対応する列と呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示するステップと、を設けるようにしたので、オブジェクト指向言語で記述されたシステムが有するシーケンスの一覧性を向上させることが可能になる。
【0117】
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
【図面の簡単な説明】
図1は、本発明の動作原理を説明する原理図である。
図2は、本発明の実施の形態の構成例を示すブロック図である。
図3は、図2に示すシーケンス解析装置のHDDに格納されているアプリケーションプログラムが起動された場合に、実装される機能ブロックについて説明する図である。
図4は、処理対象となるシーケンス図の一例である。
図5は、処理対象となるクラス図の一例である。
図6は、本発明に係る解析用のアプリケーションプログラムが起動された場合に表示される画面の一例である。
図7は、図6に示すボタンを操作した場合に表示されるプルダウンメニューの一例を示す図である。
図8は、ボタン63が操作され、変換63aが選択された場合に実行される、シーケンス図をシーケンス一覧表に変換する処理の一例を説明するフローチャートである。
図9は、変換処理によって生成されたシーケンス一覧表の表示例である。
図10は、コントローラクラスに関するシーケンス一覧表の一例である。
図11は、商品クラスに関するシーケンス一覧表の一例である。
図12は、在庫クラスに関するシーケンス一覧表の一例である。
図13は、ボタン66が操作されて文字列が入力され、検索が実行された結果を示す画面である。
図14は、メソッド集約処理の結果を示す表示例である。
図15は、メソッド省略処理の結果を示す表示例である。
図16は、クラス移動処理の結果を示す表示例である。
図17は、矢線非表示処理の結果を示す表示例である。
図18は、シーケンス一覧表をシーケンス図に逆変換する処理の一例を説明するフローチャートである。
図19は、クラス図とシーケンス一覧表との比較処理の一例を説明するフローチャートである。
図20は、シーケンス番号チェック処理の一例を説明するフローチャートである。
図21は、入り口メソッドチェック処理の一例を説明するフローチャートである。
図22は、パラメタチェック処理の一例を説明するフローチャートである。
Claims (7)
- オブジェクト指向言語で記述されたプログラムのシーケンスをコンピュータに解析させるプログラムを記録したコンピュータ読み取り可能な記録媒体において、
前記コンピュータを、
クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納された前記シーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得する変換手段、
前記変換手段によって取得された前記クラス名に対応する列と前記呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示する表示処理手段、
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。 - 前記表示処理手段は、前記シーケンス一覧表上において、同一または類似のメソッドが隣接する領域に表示されるように前記呼び出し関係の並べ替えを実行することを特徴とする請求項1記載の記録媒体。
- 前記表示処理手段は、前記呼び出し関係を、前記シーケンス一覧表上に矢線として表示することを特徴とする請求項1記載の記録媒体。
- 前記データベースには、プログラムを構成するクラスの静的構造を表すクラス図が更に格納されており、
前記コンピュータを、更に、前記クラス図に含まれているクラスまたはメソッドと、前記シーケンス一覧表に含まれているクラスまたはメソッドとを対比し、一致しない場合にエラーメッセージを表示するチェック手段として機能させることを特徴とする請求項1記載の記録媒体。 - 前記変換手段は、各メソッドのパラメタを更に取得し、
前記表示処理手段は、前記メソッド名と共に当該メソッドのパラメタを前記シーケンス一覧表に表示し、
前記コンピュータを、更に、前記シーケンス一覧表上で、各呼び出し関係の接続元の欄と接続先の欄との間でメソッドのパラメタの型および個数が一致しているか否かを判定するチェック手段として機能させることを特徴とする請求項1記載の記録媒体。 - オブジェクト指向言語で記述されたプログラムのシーケンスを解析するシーケンス解析装置において、
クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納された前記シーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得する変換手段と、
前記変換手段によって取得された前記クラス名に対応する列と前記呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示する表示処理手段と、
を有することを特徴とするシーケンス解析装置。 - オブジェクト指向言語で記述されたプログラムのシーケンスを解析するコンピュータが実行するシーケンス解析方法において、
前記コンピュータの変換手段が、クラスから派生したインスタンス間のメソッドの呼び出し関係を矢印情報として記憶するシーケンス図を格納したデータベースに格納された前記シーケンス図を読み込み、当該シーケンス図から、プログラムを構成するクラスのクラス名と、各クラスから派生するインスタンスのインスタンス名と、各インスタンスに含まれているメソッドのメソッド名と、各メソッドの呼び出し関係とを取得するステップと、
前記コンピュータの表示処理手段が、前記変換手段によって取得された前記クラス名に対応する列と前記呼び出し関係に対応する行とで構成され、列と行とで特定される各欄にデータを埋め込み可能な行列形式の表であって、各呼び出し関係について、接続元のインスタンスのクラスおよび接続先のインスタンスのクラスに対応する欄に、それぞれのインスタンスのインスタンス名と当該呼び出し関係で呼び出されるメソッドのメソッド名とを記載したシーケンス一覧表を表示するステップと、
を有することを特徴とするシーケンス解析方法。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2000/008733 WO2002046921A1 (fr) | 2000-12-08 | 2000-12-08 | Procede et dispositif pour l'analyse de sequences |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007297346A Division JP4180099B2 (ja) | 2007-11-15 | 2007-11-15 | シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPWO2002046921A1 JPWO2002046921A1 (ja) | 2004-04-08 |
JP4588295B2 true JP4588295B2 (ja) | 2010-11-24 |
Family
ID=11736781
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002548582A Expired - Fee Related JP4588295B2 (ja) | 2000-12-08 | 2000-12-08 | シーケンス解析方法およびシーケンス解析装置 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7062751B2 (ja) |
EP (1) | EP1341081A4 (ja) |
JP (1) | JP4588295B2 (ja) |
AU (2) | AU2001217357B2 (ja) |
CA (1) | CA2436609C (ja) |
WO (1) | WO2002046921A1 (ja) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4588295B2 (ja) | 2000-12-08 | 2010-11-24 | 富士通株式会社 | シーケンス解析方法およびシーケンス解析装置 |
US7219104B2 (en) * | 2002-04-29 | 2007-05-15 | Sap Aktiengesellschaft | Data cleansing |
US8132124B2 (en) * | 2003-03-13 | 2012-03-06 | Hewlett-Packard Development Company, L.P. | Method and system for representing Web service activity through a user interface |
US20040243944A1 (en) * | 2003-05-30 | 2004-12-02 | Sabiers Mark L. | Graphical user interface for viewing interactions between web service objects |
US20040243685A1 (en) * | 2003-05-30 | 2004-12-02 | Sabiers Mark L. | Method and apparatus for representing Web service activity |
AU2004319192B2 (en) | 2004-04-28 | 2008-07-31 | Fujitsu Limited | Source code generation support program and source code generation support method |
US7506320B2 (en) * | 2004-09-09 | 2009-03-17 | International Business Machines Corporation | Generating sequence diagrams using call trees |
US20060206879A1 (en) * | 2005-03-10 | 2006-09-14 | Harold Batteram | Java program method invocation display |
JP4260128B2 (ja) * | 2005-03-17 | 2009-04-30 | 富士通株式会社 | 業務スキル推定プログラム |
JP4737624B2 (ja) * | 2006-03-06 | 2011-08-03 | 株式会社日立ソリューションズ | アプリケーションの障害原因の特定作業支援システム |
JP4781163B2 (ja) * | 2006-05-12 | 2011-09-28 | シャープ株式会社 | 設計検証装置、設計検証プログラム、および設計検証プログラムを記録する記録媒体 |
JP4948126B2 (ja) * | 2006-11-13 | 2012-06-06 | 日本証券テクノロジー株式会社 | Java(登録商標)言語プログラムを用いた大規模業務システムを分析するプログラム及びその処理方法 |
US9626161B2 (en) * | 2006-12-12 | 2017-04-18 | Ca, Inc. | Computer readable medium and methods for filtering a dynamic comparison model |
JP4849555B2 (ja) * | 2007-02-14 | 2012-01-11 | 日本電信電話株式会社 | ソフトウェア仕様書/設計書の不整合検出装置、そのプログラム及び方法 |
JP2008269271A (ja) * | 2007-04-20 | 2008-11-06 | Meidensha Corp | ソフトウェア開発支援システム、開発支援方法およびプログラム |
JP5403362B2 (ja) * | 2007-08-02 | 2014-01-29 | 日本電気株式会社 | パターン検査システム、パターン検査装置、方法およびパターン検査用プログラム |
US9069559B2 (en) * | 2010-06-30 | 2015-06-30 | International Business Machines Corporation | Modularizing steps within a UML user model interaction pattern |
CN103116622B (zh) * | 2013-01-30 | 2016-03-09 | 深圳联友科技有限公司 | 一种用于Ibatis方案的序列值生成方法及装置 |
JP6684233B2 (ja) * | 2017-01-12 | 2020-04-22 | 株式会社日立製作所 | テスト入力情報検索装置及び方法 |
JP7513116B2 (ja) | 2020-12-11 | 2024-07-09 | 日本電信電話株式会社 | コールグラフ作成装置、コールグラフ作成方法及びプログラム |
WO2022208692A1 (ja) * | 2021-03-30 | 2022-10-06 | 日本電信電話株式会社 | 表示用データ生成装置、表示用データ生成方法、及び表示用データ生成プログラム |
Family Cites Families (38)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5957326A (ja) * | 1982-09-27 | 1984-04-02 | Toshiba Corp | 文書編集装置 |
JPH077409B2 (ja) | 1985-02-20 | 1995-01-30 | 株式会社東芝 | 文書処理装置 |
JPS63206866A (ja) * | 1987-02-24 | 1988-08-26 | Fujitsu Ltd | 分類キ−を備えた表デ−タ処理装置 |
JPH0291736A (ja) | 1988-09-29 | 1990-03-30 | Toshiba Corp | 並列オブジェクト指向型システムのデバック方式 |
JPH0440566A (ja) | 1990-06-06 | 1992-02-10 | Fujitsu Ltd | 構成設計支援装置 |
JPH0444176A (ja) | 1990-06-11 | 1992-02-13 | Mitsubishi Electric Corp | ソフトウエア開発支援ツール |
JP3002011B2 (ja) | 1991-04-26 | 2000-01-24 | 日本電気ホームエレクトロニクス株式会社 | 表デ−タの表示方式 |
JPH0689282A (ja) * | 1992-09-07 | 1994-03-29 | Just Syst Corp | 特定データ位置補正表示方法 |
JPH06274335A (ja) | 1993-01-22 | 1994-09-30 | Matsushita Electric Works Ltd | オブジェクト指向システム設計支援装置 |
JP3447365B2 (ja) * | 1993-04-14 | 2003-09-16 | 株式会社東芝 | オブジェクト指向プログラミング支援装置及びオブジェクト指向プログラミング支援方法 |
JPH06324853A (ja) * | 1993-05-14 | 1994-11-25 | Mitsubishi Electric Corp | オブジェクト指向プログラミング言語を対象とした原始プログラム編集装置 |
JPH07319676A (ja) | 1994-05-20 | 1995-12-08 | Hitachi Ltd | メッセージフロー図生成方式 |
JP3310116B2 (ja) * | 1994-08-31 | 2002-07-29 | 株式会社東芝 | 知識ベースシステム |
US5659735A (en) * | 1994-12-09 | 1997-08-19 | Object Technology Licensing Corp. | Object-oriented system for program version and history database management system for various program components |
JPH08314836A (ja) * | 1995-05-19 | 1996-11-29 | Hitachi Ltd | 管理サービスオブジェクト提供方法 |
US6272672B1 (en) * | 1995-09-06 | 2001-08-07 | Melvin E. Conway | Dataflow processing with events |
JP3434105B2 (ja) * | 1995-11-28 | 2003-08-04 | 富士通株式会社 | マクロプログラム管理装置 |
US6275976B1 (en) * | 1996-03-15 | 2001-08-14 | Joseph M. Scandura | Automated method for building and maintaining software including methods for verifying that systems are internally consistent and correct relative to their specifications |
US6113649A (en) * | 1996-03-27 | 2000-09-05 | International Business Machines Corporation | Object representation of program and script components |
US6091895A (en) * | 1996-03-27 | 2000-07-18 | International Business Machines Corporation | Object oriented central maintenance for programs and scripts |
JPH1011275A (ja) | 1996-06-20 | 1998-01-16 | Fuji Electric Co Ltd | オブジェクト指向開発における分析/設計支援方法 |
US6219826B1 (en) * | 1996-08-01 | 2001-04-17 | International Business Machines Corporation | Visualizing execution patterns in object-oriented programs |
JP2001514776A (ja) * | 1997-02-27 | 2001-09-11 | シーベル システムズ,インコーポレイティド | ローカルな修正を組み込むソフトウェア配布の連続レベル移送の方法 |
EP1015997A4 (en) * | 1997-02-28 | 2006-03-29 | Siebel Systems Inc | PARTLY REPLICATED DISTRIBUTED DATABASE WITH MULTIPLE LEVELS FROM REMOTE CLIENTS |
JPH10254728A (ja) * | 1997-03-06 | 1998-09-25 | Mitsubishi Electric Corp | デバッグシステム |
JPH1153217A (ja) * | 1997-07-31 | 1999-02-26 | Hitachi Ltd | 分散オブジェクトの管理システム |
JPH1185492A (ja) * | 1997-09-05 | 1999-03-30 | Mitsubishi Electric Corp | オブジェクト指向データモデル作成支援装置 |
US5956725A (en) * | 1997-11-26 | 1999-09-21 | Interanational Business Machines Corporation | Schema mapping to a legacy table with primary and foreign key support |
US6134559A (en) * | 1998-04-27 | 2000-10-17 | Oracle Corporation | Uniform object model having methods and additional features for integrating objects defined by different foreign object type systems into a single type system |
JP3323130B2 (ja) | 1998-05-27 | 2002-09-09 | 富士通株式会社 | 設計情報解析装置および記録媒体 |
GB2340008A (en) * | 1998-07-24 | 2000-02-09 | Ibm | Method and tool for generating and displayin a descriptive annotation of selec ted application data |
JP2000132387A (ja) * | 1998-10-22 | 2000-05-12 | Fujitsu Ltd | オブジェクト指向プログラム作成支援装置 |
JP2000284988A (ja) | 1999-03-31 | 2000-10-13 | Toshiba Corp | オブジェクト指向システム解析装置及び方法並びにオブジェクト指向システム解析用ソフトウェアを記録した記録媒体 |
JP2000298600A (ja) | 1999-04-14 | 2000-10-24 | Denso Corp | ソフトウェア結合検査装置 |
US6785882B1 (en) * | 1999-05-24 | 2004-08-31 | Unisys Corporation | Process-driven tool interface for an object management system |
AU2001227857A1 (en) * | 2000-01-14 | 2001-07-24 | Saba Software, Inc. | Method and apparatus for a business applications management system platform |
US6591274B1 (en) * | 2000-05-31 | 2003-07-08 | Sprint Communications Company, L.P. | Computer software framework and method for accessing data from one or more datastores for use by one or more computing applications |
JP4588295B2 (ja) | 2000-12-08 | 2010-11-24 | 富士通株式会社 | シーケンス解析方法およびシーケンス解析装置 |
-
2000
- 2000-12-08 JP JP2002548582A patent/JP4588295B2/ja not_active Expired - Fee Related
- 2000-12-08 WO PCT/JP2000/008733 patent/WO2002046921A1/ja active Application Filing
- 2000-12-08 AU AU2001217357A patent/AU2001217357B2/en not_active Ceased
- 2000-12-08 AU AU1735701A patent/AU1735701A/xx active Pending
- 2000-12-08 EP EP00980029A patent/EP1341081A4/en not_active Ceased
- 2000-12-08 CA CA2436609A patent/CA2436609C/en not_active Expired - Fee Related
-
2003
- 2003-06-06 US US10/455,445 patent/US7062751B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
EP1341081A4 (en) | 2005-12-07 |
WO2002046921A1 (fr) | 2002-06-13 |
JPWO2002046921A1 (ja) | 2004-04-08 |
AU1735701A (en) | 2002-06-18 |
AU2001217357B2 (en) | 2008-05-15 |
US20030212984A1 (en) | 2003-11-13 |
US7062751B2 (en) | 2006-06-13 |
EP1341081A1 (en) | 2003-09-03 |
CA2436609C (en) | 2011-10-25 |
CA2436609A1 (en) | 2002-06-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4588295B2 (ja) | シーケンス解析方法およびシーケンス解析装置 | |
US8909597B2 (en) | Document-based workflows | |
US6216138B1 (en) | Computer interface system for automatically generating graphical representations of computer operations linked together according to functional relationships | |
JP4195444B2 (ja) | ファイル・システムapiを拡張するための方法およびシステム | |
US20050060653A1 (en) | Object operation apparatus, object operation method and object operation program | |
JP2009508227A (ja) | ブラウズモードデザイナ | |
KR20060015705A (ko) | 사용자 인터페이스 자동화 프레임워크 클래스 및 인터페이스 | |
JP2004348310A (ja) | レビュー支援装置、方法及びプログラム | |
US8548967B1 (en) | System for visual query and manipulation of configuration management records | |
JP4839087B2 (ja) | ワークフロー管理システム | |
JPH11265368A (ja) | 作業手順管理システム | |
JP4180099B2 (ja) | シーケンス解析プログラムを記録した記録媒体、シーケンス解析装置およびシーケンス解析方法 | |
CN111949915A (zh) | 一种遥感产品生产流程的可视化定制方法及系统 | |
US7936356B2 (en) | Information processing method for information registration, and information processing method for information retrieval | |
JPH05313969A (ja) | ファイル一覧表示方法 | |
CN112948228A (zh) | 一种面向流数据的多模数据库评测基准系统及其构建方法 | |
JP2001134424A (ja) | システムパラメタ作成方法、システムパラメタ作成装置、システムパラメタ作成プログラムを記録したコンピュータ読み取り可能な記録媒体及びシステムパラメタ作成データを格納したコンピュータ読み取り可能な記録媒体 | |
JP3471389B2 (ja) | マルチメディアファイリングシステム | |
JP3424558B2 (ja) | オブジェクト管理方法 | |
US6880006B1 (en) | System and method for contextual passive rule-based navigation between applications supporting network-disconnected use | |
JPH04318672A (ja) | 情報検索装置 | |
JPH09152965A (ja) | クラスライブラリ再構築方法 | |
US20040172414A1 (en) | CAD generation management system and computer-readable storage medium | |
JPH1195992A (ja) | データ作成支援装置、オブジェクト指向分析設計支援装置及びデータ管理方法 | |
JP2002230036A (ja) | データ一覧表示装置、データ一覧表示方法、プログラムおよび記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20040310 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20070515 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20070717 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20070918 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20071115 |
|
A911 | Transfer to examiner for re-examination before appeal (zenchi) |
Free format text: JAPANESE INTERMEDIATE CODE: A911 Effective date: 20071121 |
|
A912 | Re-examination (zenchi) completed and case transferred to appeal board |
Free format text: JAPANESE INTERMEDIATE CODE: A912 Effective date: 20080418 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100816 |
|
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: 20100908 |
|
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: 20130917 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |