(57)【要約】【課題】モデル変換ルールは、開発するシステムのアーキテクチャーを定義する設計者が手動で作成するため、モデルに複雑な関連を持つ場合、設計者に大きな負担がかかるという問題があった。【解決手段】  既存情報システムのソースコード群１１２を入力情報とし、UMLモデルのクラス間に存在する関連を保持するための情報を生成する呼出メソッド／呼出クラス一覧情報生成部１０６と、ソースコード群の一部をモデル変換ルールの対象にした場合でも関連を保持することを可能にするコメント付きソースコード群生成部１０８と、関連を保持することを可能とするモデル変換ルールを生成／出力するモデル変換ルール生成部１１０を持つことにより解決する。【選択図】  図１
2008210070.tif 000002
【特許請求の範囲】
【請求項１】
メソッドとメンバ変数からなるクラスの集合であるパッケージを要素として含むモデルを、新たなモデルに変換するためのルールを生成する方法であって、
入力装置を介して入力されたクラスの集合である既存情報システムのソースコード群を取得し、
前記取得した既存情報システムのソースコード群に基づき、クラスに定義されているメソッドの呼び出し関係を持つ呼出メソッド一覧情報と、クラスの呼び出し関係を持つ呼出クラス一覧情報を抽出し、
前記抽出した呼出メソッド一覧情報と呼出クラス一覧情報に基づき、クラスの集合が有する関連情報を保持できるルールを生成する
ことを特徴とするモデル変換ルール生成方法。
【請求項２】
前記モデル変換ルール生成方法は、入力装置を介して入力されたクラス選択情報を取得し、
前記取得したクラス選択情報に基づき、モデル変換ルールの対象となるルール化対象クラス一覧情報と、モデル変換ルールの対象とならないルール化非対象クラス一覧情報を抽出し、
前記取得した既存情報システムのソースコード群と、
前記抽出した呼出メソッド一覧情報と呼出クラス一覧情報と、ルール化対象クラス一覧情報とルール化非対象クラス一覧情報に基づき、ルール化対象クラスとルール化非対象クラスが有する関連情報の解除を可能とすることで、既存情報システムのソースコード群の一部または全部からモデル変換ルールを生成する
ことを特徴とするモデル変換ルール生成方法。
【請求項３】
入力情報となる既存情報システムのソースコード群を記憶するソースコード群記憶部と、UMLモデルのクラス間に存在する関連を保持するための情報を生成する呼出メソッド／呼出クラス一覧情報生成部と、ソースコード群からモデル変換ルールの対象クラスの選択を可能にするクラス選択情報処理部と、ソースコード群の一部をモデル変換ルールの対象にした場合でも関連を保持することを可能にするコメント付きソースコード群生成部と、モデル変換ルールで用いるクラスIDとメソッドIDを定義するクラスID／メソッドID情報生成部と、関連を保持することを可能とするモデル変換ルールを生成／出力するモデル変換ルール生成部を有することを特徴とするモデル変換ルール生成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報システムを設計開発する技術に関し、特に、モデル変換ルール生成方法に関する発明である。
【背景技術】
【０００２】
今日のオブジェクト指向のシステム開発では、早期の工程において、開発対象となるシステムの概要を把握するために、UML（Unified Modeling Language）のクラス図を用いてシステムモデルを記述することが一般的である。システム開発の後に続く工程においては、早期の工程で得られた設計情報を詳細化し、最終的にはプログラミング言語での実装を行なう。
【０００３】
非特許文献１は、UMLを用いたオブジェクト指向のシステム開発技術であるMDA（Model Driven Architecture）に関する文献である。MDAによるシステム開発では、最初に、開発対象となるシステムを、抽象度が高く、実装技術に依存しないUMLモデルであるPIM（Platform Independent Model）を作成する。次に、PIMを、抽象度が低く、実装技術に特化したUMLモデルであるPSM（Platform Specific Model）にモデル変換し、最終的には、ソースコードの一部を自動的に生成する。PIMからPSMへのモデル変換は、PSMの雛型となるモデル変換ルールを適用することで行なわれる。
【０００４】
【非特許文献１】David S. Frankel：Model Driven Architecture(TM)：John Wiley & Sons Inc，(ISBN： 0471319201)
【発明の開示】
【発明が解決しようとする課題】
【０００５】
MDAによるシステム開発では、UMLモデルをPIMからPSMに変換するために、モデル変換ルールが必要となる。PSMが複数のクラスから成るUMLモデルでは、その複数のクラス間に存在する関連を、モデル変換後も保持することを可能とするモデル変換ルールが必要となる。このモデル変換ルールは、開発するシステムのアーキテクチャーを定義（各種フレームワークの選択、各種設計基準の作成、など）する設計者が手動で作成するため、モデルに複雑な関連を持つ場合、設計者に大きな負担がかかるという問題があった。
【０００６】
本発明は、UMLモデルのクラス間に存在する関連を保持することを可能とするモデル変換ルールを生成することを目的とする。さらに本発明は、既存情報システムのソースコード群を入力情報とし、その一部または全部からモデル変換ルールを生成することを他の目的とする。
【課題を解決するための手段】
【０００７】
本発明は、上記目的を達成するために、
メソッドとメンバ変数からなるクラスの集合であるパッケージを要素として含むモデルを、新たなモデルに変換するためのルールを生成する方法であって、
入力装置を介して入力されたクラスの集合である既存情報システムのソースコード群を取得し、
前記取得した既存情報システムのソースコード群に基づき、クラスに定義されているメソッドの呼び出し関係を持つ呼出メソッド一覧情報と、クラスの呼び出し関係を持つ呼出クラス一覧情報を抽出し、
前記抽出した呼出メソッド一覧情報と呼出クラス一覧情報に基づき、クラスの集合が有する関連情報を保持できるルールを生成することを特徴とするモデル変換ルール生成方法である。
更に、本発明は、入力情報となる既存情報システムのソースコード群を記憶するソースコード群記憶部と、UMLモデルのクラス間に存在する関連を保持するための情報を生成する呼出メソッド／呼出クラス一覧情報生成部と、ソースコード群からモデル変換ルールの対象クラスの選択を可能にするクラス選択情報処理部と、ソースコード群の一部をモデル変換ルールの対象にした場合でも関連を保持することを可能にするコメント付きソースコード群生成部と、モデル変換ルールで用いるクラスIDとメソッドIDを定義するクラスID／メソッドID情報生成部と、関連を保持することを可能とするモデル変換ルールを生成／出力するモデル変換ルール生成部を持つことを特徴とするモデル変換ルール生成装置である。
【発明の効果】
【０００８】
本発明によれば、UMLモデルのクラス間に存在する関連を保持することを可能とするモデル変換ルールを生成できることから、モデル変換ルールを手動で作成していた設計者にかかる負担を削減できるという効果がある。本発明はさらに、既存情報システムのソースコード群をもとにしているため、実績のある実装技術をモデル変換ルールとして再活用できるという効果がある。
【発明を実施するための最良の形態】
【０００９】
以下、本発明を実施するための最良の形態を図面に基づいて詳細に説明する。
【００１０】
図１は、本発明の実施例におけるシステム構成図である。図１は一般的なコンピュータであり、ディスプレイ等の表示装置１０１と、キーボードやマウス等の入力装置１０２と、各装置の制御やデータの計算等を行なうCPU１０３と、CPU１０３から直接アクセスできる内部記憶装置１０４と、データやプログラム等を記憶するための外部記憶装置１１１を備える。
【００１１】
外部記憶装置１１１には、本発明で入力情報とする既存情報システムのソースコード群１１２が記憶される。
【００１２】
内部記憶装置１０４には、既存情報システムのソースコード群１１２を記憶するソースコード群記憶部１０５と、UMLモデルのクラス間に存在する関連を保持するための情報を生成する呼出メソッド／呼出クラス一覧情報生成部１０６と、ソースコード群からモデル変換ルールの対象クラスの選択を可能にするクラス選択情報処理部１０７と、ソースコード群の一部をモデル変換ルールの対象にした場合でも関連を保持することを可能にするコメント付きソースコード群生成部１０８と、モデル変換ルールで用いるクラスIDとメソッドIDを定義するクラスID／メソッドID情報生成部１０９と、関連を保持することを可能とするモデル変換ルールを生成／出力するモデル変換ルール生成部１１０が記憶される。
【００１３】
モデル変換ルール生成部１１０により、外部記憶装置１１１に、本発明で出力情報とするモデル変換ルール１１３が記憶される。
【００１４】
図２−１、図２−２、図２−３は、本発明の実施例における、UMLモデルのクラス間に存在する関連を保持することを可能とするモデル変換ルールを生成するための一連の処理の流れを示すフロー図である。
まず、外部記憶装置１１１に記憶されている既存情報システムのソースコード群１１２を内部記憶装置１０４に記憶する（ステップ２０１）。ステップ２０１は、図１のソースコード群記憶部１０５で処理される。
次に、内部記憶装置１０４に記憶したソースコード群から、既存情報システムを構成するクラスのクラス名を抽出し、全てのクラス名を持つクラス一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２０２）。ステップ２０２は、図１の呼出メソッド／呼出クラス一覧情報生成部１０６で処理される。
次に、内部記憶装置１０４に記憶したソースコード群とクラス一覧情報から、各クラスに定義されているメソッドのメソッド名を抽出し、全てのクラスに定義されているメソッド名を持つ定義メソッド一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２０３）。ステップ２０３は、図１の呼出メソッド／呼出クラス一覧情報生成部１０６で処理される。
次に、内部記憶装置１０４に記憶したソースコード群と定義メソッド一覧情報から、各定義メソッド（呼び出される側）を呼び出しているメソッド（呼び出す側）のメソッド名を抽出し、全てのメソッドの呼び出し関係（クラス間の関連）を持つ呼出メソッド一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２０４）。ステップ２０４は、全ての定義メソッドに対して、繰り返し行なわれる。ステップ２０４は、図１の呼出メソッド／呼出クラス一覧情報生成部１０６で処理される。
次に、内部記憶装置１０４に記憶したソースコード群とクラス一覧情報から、各クラス（呼び出される側）を呼び出しているクラス（呼び出す側）のインスタンス名を抽出し、全てのクラスの呼び出し関係（クラス間の関連）を持つ呼出クラス一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２０５）。ステップ２０５は、全てのクラスに対して、繰り返し行なわれる。ステップ２０５は、図１の呼出メソッド／呼出クラス一覧情報生成部１０６で処理される。
次に、内部記憶装置１０４に記憶したクラス一覧情報を、表示装置１０１に表示する（ステップ２０６）。ステップ２０６は、図１のクラス選択情報処理部１０７で処理される。
モデル変換ルールを生成する設計者は、表示装置１０１に表示されたクラス一覧から、モデル変換ルールの対象とするクラスを、入力装置１０２によって選択する（ステップ２１０）。
次に、ステップ２１０によって入力されたクラス選択一覧情報を内部記憶装置１０４に記憶する（ステップ２０７）。ステップ２０７は、図１のクラス選択情報処理部１０７で処理される。
次に、内部記憶装置１０４に記憶したクラス選択一覧情報から、モデル変換ルールの対象／非対象となるクラスのクラス名をそれぞれ抽出し、ルール化対象クラス一覧情報とルール化非対象クラス一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２０８）。ステップ２０８は、図１のクラス選択情報処理部１０７で処理される。
次に、内部記憶装置１０４に記憶したソースコード群、ルール化対象クラス一覧情報、ルール化非対象クラス一覧情報、呼出メソッド一覧情報と呼出クラス一覧情報から、ルール化非対象クラスとルール化非対象クラスで定義されていたメソッドとメンバ変数を、ルール化対象クラスで呼び出している個所をコメントにしたコメント付きソースコード群を生成し、内部記憶装置１０４に記憶する（ステップ２０９）。これにより、全てのルール化対象クラスにおいて、ルール化非対象クラスと、未定義のメソッドとメンバ変数（ルール化非対象クラスで定義されていたメソッドとメンバ変数）を呼び出すことをなくすことができる。ステップ２０９は、全てのルール化対象クラスに対して、繰り返し行なわれる。ステップ２０９は、図１のコメント付きソースコード群生成部１０８で処理される。ステップ２０９の詳細な処理の流れは、図１６で説明する。
次に、内部記憶装置１０４に記憶したルール化対象クラス一覧情報と定義メソッド一覧情報から、各クラスと各メソッドに対応して、クラスIDとメソッドIDを割り当てた、クラスID／メソッドID一覧情報を生成し、内部記憶装置１０４に記憶する（ステップ２１１）。ここで、クラスIDは全クラス内で一意に、メソッドIDは各クラス内で一意に割り当てる。ステップ２１１は、全てのルール化対象クラスに対して、繰り返し行なわれる。ステップ２１１は、図１のクラスID／メソッドID情報生成部１０９で処理される。
次に、内部記憶装置１０４に記憶した呼出メソッド一覧情報、呼出クラス一覧情報、コメント付きソースコード群とクラスID／メソッドID一覧情報から、クラス内で自クラスを呼び出すための変数と、クラス内で自クラスに定義されているメソッドを呼び出すための変数と、クラス内で他クラスを呼び出すための変数と、クラス内で他クラスに定義されているメソッドを呼び出すための変数を生成し、コメント付きソースコード群のコード内にあるクラス名とメソッド名を、上記で生成した変数で置換し、モデル変換ルール１１３を生成し、外部記憶装置１１１に記憶する（ステップ２１２）。ステップ２１２は、全てのルール化対象クラスに対して、繰り返し行なわれる。ステップ２１２は、図１のモデル変換ルール生成部１１０で処理される。前記変数の詳細は、図１３で説明する。
以上で、モデル変換ルールを生成するための処理を終了する。
これにより、UMLモデルのクラス間に存在する関連を保持することを可能とするモデル変換ルールを生成することができる。
図３は、図２−１のステップ２０１にて、内部記憶装置１０４に記憶されるソースコード群のデータ例である。データはファイル毎に１レコード存在し、各レコードはファイル名３１１とファイルの中身（ソースコード）３１２で構成される。このデータは、クラス一覧情報の生成（ステップ２０２）、定義メソッド一覧情報の生成（ステップ２０３）、呼出メソッド一覧情報の生成（ステップ２０４）、呼出クラス一覧情報の生成（ステップ２０５）とコメント付きソースコードの生成（ステップ２０９）の入力情報となる。
図４は、図２−１のステップ２０２にて、内部記憶装置１０４に記憶されるクラス一覧情報のデータ例である。データはクラス毎に１レコード存在し、各レコードはクラス名４１１で構成される。このデータは、定義メソッド一覧情報の生成（ステップ２０３）、呼出クラス一覧情報の生成（ステップ２０５）とクラス一覧情報の表示（ステップ２０６）の入力情報となる。
図５は、図２−１のステップ２０３にて、内部記憶装置１０４に記憶される定義メソッド一覧情報のデータ例である。データはクラス毎に１レコード存在し、各レコードはクラス名５１１とそのクラスに定義されているメソッドの名前のリスト５１２で構成される。このデータは、呼出メソッド一覧情報の生成（ステップ２０４）とクラスID／メソッドID一覧情報の生成（ステップ２１１）の入力情報となる。
図６は、図２−１のステップ２０４にて、内部記憶装置１０４に記憶される呼出メソッド一覧情報のデータ例である。データは呼び出される側のメソッド名３０２を呼び出す側のクラス名３０３毎に１レコード存在し、各レコードは呼び出される側のクラス名３０１、呼び出される側のメソッド名３０２、呼び出す側のクラス名３０３と呼び出す側のメソッド名３０４で構成される。このデータは、コメント付きソースコード群の生成（ステップ２０９）とモデル変換ルールの生成（ステップ２１２）の入力情報となる。
図７は、図２−１のステップ２０５にて、内部記憶装置１０４に記憶される呼出クラス一覧情報のデータ例である。データは呼び出される側のクラス名（２）４０１を呼び出す側のクラス名（２）４０２毎に１レコード存在し、各レコードは呼び出される側のクラス名（２）４０１、呼び出す側のクラス名（２）４０２と呼び出す側のインスタンス名４０３で構成される。このデータは、コメント付きソースコード群の生成（ステップ２０９）とモデル変換ルールの生成（ステップ２１２）の入力情報となる。
図８は、図２−２のステップ２０７にて、内部記憶装置１０４に記憶されるクラス選択一覧情報のデータ例である。データはクラス毎に１レコード存在し、各レコードはクラス名８１１とモデル変換ルールの対象にする（True）か、非対象にするか（False）の選択状態８１２で構成される。このデータは、ルール化対象／非対象クラス一覧情報の生成（ステップ２０８）の入力情報となる。
図９は、図２−２のステップ２０８にて、内部記憶装置１０４に記憶されるルール化対象クラス一覧情報のデータ例である。データはルール化対象クラス毎に１レコード存在し、各レコードはモデル変換ルール化の対象となるクラスの名前９１１で構成される。このデータは、コメント付きソースコード群の生成（ステップ２０９）、クラスID／メソッドID一覧情報の生成（ステップ２１１）とモデル変換ルールの生成（ステップ２１２）の入力情報となる。
図１０は、図２−２のステップ２０８にて、内部記憶装置１０４に記憶されるルール化非対象クラス一覧情報のデータ例である。データはルール化非対象クラス毎に１レコード存在し、各レコードはモデル変換ルール化の非対象となるクラスの名前１０１１で構成される。このデータは、コメント付きソースコード群の生成（ステップ２０９）の入力情報となる。
図１１は、図２−２のステップ２０９にて、内部記憶装置１０４に記憶されるコメント付きソースコード群のデータ例である。データはルール化対象クラス毎に１レコード存在し、各レコードはルール化対象クラスの名前１１１１と、ルール化非対象クラスとルール化非対象クラスで定義されているメソッドとメンバ変数の呼び出し個所をコメント化したソースコード１１１２で構成される。このデータは、モデル変換ルールの生成（ステップ２１２）の入力情報となる。
図１２は、図２−３のステップ２１１にて、内部記憶装置１０４に記憶されるクラスID／メソッドID一覧情報のデータ例である。データはルール化対象クラスのクラスおよびそのクラスに定義されているメソッド毎に１レコード存在し、各レコードはモデル変換ルール化対象クラスの名前／モデル変換ルール化対象クラスに定義されているメソッドの名前１２１１と、モデル変換ルール内で用いられるクラスID／メソッドID１２１２で構成される。ここで、クラスIDは全クラス内で一意であり、メソッドIDは各クラス内で一意である。このデータは、モデル変換ルールの生成（ステップ２１２）の入力情報となる。
【００１５】
図１３は、変数の種類１３１１、クラスID／メソッドID１３１２、変数１３１３の各カラムからなるモデル変換ルール内の変数例である。図２−３のステップ２１２にてクラス名／メソッド名を置換する、クラス内で自クラスを呼び出すための変数と、クラス内で自クラスに定義されているメソッドを呼び出すための変数と、クラス内で他クラスを呼び出すための変数と、クラス内で他クラスに定義されているメソッドを呼び出すための変数の例を表している。クラス内で自クラスを呼び出すための変数は、クラス内に１つしか存在しないため、クラスIDによる識別を必要としない。クラス内で自クラスに定義されているメソッドを呼び出すための変数は、クラス内に定義されているメソッドの数だけ存在するため、メソッドIDによる識別を行なう必要がある。クラス内で他クラスを呼び出すための変数は、図９のルール化対象クラスの数だけ存在するため、クラスIDによる識別を行なう必要がある。クラス内で他クラスに定義されているメソッドを呼び出すための変数は、図９のルール化対象クラスに定義されているメソッドの数だけ存在するため、クラスIDとメソッドIDによる識別を行なう必要がある。この４つの変数を用いることにより、モデル変換ルールを構成する全てのクラスとメソッドを識別することが可能となり、UMLモデルのクラス間に存在する関連を保持することが可能となる。
【００１６】
図１４は、図２−１のステップ２０１の入力情報である、既存情報システムのソースコード群の例である。このソースコードは、図３、図４、図５、図６と図７で説明したデータ例を用いた例である。自クラスブロック５０１は、当該クラス（ソースコード）のクラス名であり、図９のルール化対象クラスである。ルール化非対象ブロック５０２は、図１０のルール化非対象クラスと、ルール化非対象クラスに定義されているメソッドである。自クラスメソッドブロック５０３は、自クラスブロック５０１のクラス内に定義されているメソッドである。他クラスブロック５０４は、図９のルール化対象クラスであり、自クラスブロック５０１と同じパッケージに属するクラスである。他クラスメソッドブロック５０５は、他クラスブロック５０４のクラス内に定義されているメソッドである。
【００１７】
図１５は、図２−３のステップ２１２の出力情報であり、図１４の既存情報システムのソースコード群の例から生成されたモデル変換ルールの例である。このモデル変換ルールは、図８、図９、図１０、図１１と図１２で説明したデータ例を用いた例である。自クラスのクラス変数ブロック６０１は、当該クラス（モデル変換ルール）のクラス変数であり、自クラスブロック５０１を自クラスのクラス変数で置換したものである。コメントブロック６０２は、図１０のルール化非対象クラスと、ルール化非対象クラスに定義されているメソッド（ルール化非対象ブロック５０２）をコメントにしたものである。これにより、モデル変換ルール内に存在しないクラスと、そのクラスで定義されているメソッドを呼び出すことがなくなる。自クラスのメソッド変数ブロック６０３は、自クラスブロック５０１のクラス内に定義されていたメソッド（自クラスメソッドブロック５０３）を自クラスのメソッド変数で置換したものである。他クラスのクラス変数ブロック６０４は、図９のルール化対象クラス（他クラスブロック５０４）を他クラスのクラス変数で置換したものである。他クラスのメソッド変数ブロック６０５は、他クラスブロック５０４のクラス内に定義されていたメソッド（他クラスメソッドブロック５０５）を他クラスのメソッド変数で置換したものである。
【００１８】
図１６は、図１１のコメント付きソースコード群を生成するための一連の処理の流れを示すフロー図であり、図２のステップ２０９を詳細化したものである。
【００１９】
まず、呼出メソッド一覧情報テーブル（図６）のレコードで、呼び出される側のクラス名３０１がルール化非対象クラス情報テーブル（図１０）のクラス名と同一であり、かつ、呼び出す側のクラス名３０３がルール化対象クラス情報テーブル（図９）のクラス名と同一であるレコードの有無を判定する（ステップ７０１）。
次に、ステップ７０１に該当するレコードが呼出メソッド一覧情報テーブル（図６）に存在する場合（YES）、該当レコードの呼び出す側のメソッド名３０４で呼び出されている、呼び出される側のメソッド名３０２をコメント化する（ステップ７０２）。これにより、モデル化対象クラス内で、モデル化非対象クラスに定義されているメソッドを呼び出すことがなくなる。ステップ７０１に該当するレコードが存在しない場合（NO）は、ステップ７０２をスキップする。
次に、呼出クラス一覧情報テーブル（図７）のレコードで、呼び出される側のクラス名（２）４０１がルール化非対象クラス情報テーブル（図１０）のクラス名と同一であり、かつ、呼び出す側のクラス名（２）４０２がルール化対象クラス情報テーブル（図９）のクラス名と同一であるレコードの有無を判定する（ステップ７０３）。
次に、ステップ７０３に該当するレコードが呼出クラス一覧情報テーブル（図７）に存在する場合（YES）、該当レコードの呼び出す側のクラス名（２）４０２で呼び出されている、呼び出される側のクラス名（２）４０１と呼び出す側のインスタンス名４０３をコメント化する（ステップ７０４）。これにより、モデル化対象クラス内で、モデル化非対象クラスとモデル化非対象クラスのインスタンスを呼び出すことがなくなる。ステップ７０３に該当するレコードが存在しない場合（NO）は、ステップ７０４をスキップする。
以上で、コメント付きソースコード群を生成するための処理を終了する。
これにより、ルール化非対象クラスとの関連を排除でき、ルール化対象クラスだけ（既存情報システムのソースコード群の一部）を対象としたモデル変換ルールを生成することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の実施例におけるシステム構成図である。
【図２−１】モデル変換ルールを生成するための処理の流れを示すフロー図（その１）である。
【図２−２】モデル変換ルールを生成するための処理の流れを示すフロー図（その２）である。
【図２−３】モデル変換ルールを生成するための処理の流れを示すフロー図（その３）である。
【図３】内部記憶装置に記憶する既存情報システムのソースコード群のデータ例である。
【図４】内部記憶装置に記憶するクラス情報のデータ例である。
【図５】内部記憶装置に記憶する定義メソッド一覧情報のデータ例である。
【図６】内部記憶装置に記憶する呼出メソッド一覧情報のデータ例である。
【図７】内部記憶装置に記憶する呼出クラス一覧情報のデータ例である。
【図８】内部記憶装置に記憶するクラス選択状態情報のデータ例である。
【図９】内部記憶装置に記憶するルール化対象クラス情報のデータ例である。
【図１０】内部記憶装置に記憶するルール化非対象クラス情報のデータ例である。
【図１１】内部記憶装置に記憶するコメント付きソースコード群のデータ例である。
【図１２】内部記憶装置に記憶するクラスID／メソッドID情報のデータ例である。
【図１３】モデル変換ルール内で用いる変数の例である。
【図１４】入力情報となる既存情報システムのソースコード群の例である。
【図１５】出力情報となるモデル変換ルールの例である。
【図１６】コメント付きソースコード群を生成するため処理の流れを示すフロー図である。
【符号の説明】
【００２１】
１０１  表示装置
１０２  入力装置
１０３  CPU
１０４  内部記憶装置
１０５  ソースコード群記憶部
１０６  呼出メソッド／呼出クラス一覧情報生成部
１０７  クラス選択情報処理部
１０８  コメント付きソースコード群生成部
１０９  クラスID／メソッドID情報生成部
１１０  モデル変換ルール生成部
１１１  外部記憶装置
１１２  既存情報システムのソースコード群
１１３  モデル変換ルール
３０１  呼び出される側のクラス名
３０２  呼び出される側のメソッド名
３０３  呼び出す側のクラス名
３０４  呼び出す側のメソッド名
４０１  呼び出される側のクラス名（２）
４０２  呼び出す側のクラス名（２）
４０３  呼び出す側のインスタンス名
５０１  自クラスブロック
５０２  ルール化非対象ブロック
５０３  自クラスメソッドブロック
５０４  他クラスブロック
５０５  他クラスメソッドブロック
６０１  自クラスのクラス変数ブロック
６０２  コメントブロック
６０３  自クラスのメソッド変数ブロック
６０４  他クラスのクラス変数ブロック
６０５  他クラスのメソッド変数ブロック
【図１】
2008210070.tif 000003
【図２−１】
2008210070.tif 000004
【図２−２】
2008210070.tif 000005
【図２−３】
2008210070.tif 000006
【図３】
2008210070.tif 000007
【図４】
2008210070.tif 000008
【図５】
2008210070.tif 000009
【図６】
2008210070.tif 000010
【図７】
2008210070.tif 000011
【図８】
2008210070.tif 000012
【図９】
2008210070.tif 000013
【図１０】
2008210070.tif 000014
【図１１】
2008210070.tif 000015
【図１２】
2008210070.tif 000016
【図１３】
2008210070.tif 000017
【図１４】
2008210070.tif 000018
【図１５】
2008210070.tif 000019
【図１６】
2008210070.tif 000020