(57)【要約】【課題】      低コストでアプリケーションの開発効率を向上させることにある。【解決手段】  予め上流・下流設計用ＭＢＣ２１、２８、変換ルールを定める変換ルールセット２４及びこの変換ルールのルール項目を定義する変換用ＭＢＣ２５を作成するとともに、この上流設計用ＭＢＣ２１に基づいてプラットフォームに依存しない上流ＣＡＳＥの設計モデルデータを構築するＰＩＭ２と、この設計されたＰＩＭデータを入力とし、外部から入力される動作指示に含む変換ルールセット名に基づいて必要な変換ルールセットを選択し、これら選択された変換ルールセットの変換ルール項目を定める変換用ＭＢＣ２５の定義を取り出し、当該変換ルールセットに従ってＰＳＭデータに変換するＰＩＭ−ＰＳＭ変換手段２６，２７と、この変換手段で変換されたＰＳＭデータが下流設計用ＭＢＣ２８に基づいて正当に生成されているか検証するＰＳＭ検証部３０とを設けたＰＩＭ２−ＰＳＭ変換システム。【選択図】      図５
2005242479.tif 000002
【特許請求の範囲】
【請求項１】
プラットフォームに依存しない情報であって、システムの機能と前記機能の処理と前記処理の対象との間の関係によって表現されたシステムの情報からシステムの機能を特定する機能識別情報を抽出し、ユーザーからの前記抽出された機能への処理要求を受け付ける機能を実現するプログラムの設計情報を生成する手段と、
前記システムの情報から前記機能を実現するための処理を特定する処理識別情報と前記処理の対象情報を識別する処理対象識別情報を抽出し、抽出された前記処理識別情報と前記処理対象識別情報とに基づいて処理の対象情報が同一となる処理を抽出し、同一の処理対象情報に対して処理を行うプログラムの設計情報を生成する手段と、
前記システムの情報から前記処理対象識別情報を抽出し、前記処理の対象情報へのアクセスを実現するプログラムの設計情報を生成する手段と
を有することを特徴とするデータ変換装置。
【請求項２】
コンピュータを
プラットフォームに依存しない情報であって、システムの機能と前記機能の処理と前記処理の対象との間の関係によって表現されたシステムの情報からシステムの機能を特定する機能識別情報を抽出し、ユーザーからの前記抽出された機能への処理要求を受け付ける機能を実現するプログラムの設計情報を生成する手段と、
前記システムの情報から前記機能を実現するための処理を特定する処理識別情報と前記処理の対象情報を識別する処理対象識別情報を抽出し、抽出された前記処理識別情報と前記処理対象識別情報とに基づいて処理の対象情報が同一となる処理を抽出し、同一の処理対象情報に対して処理を行うプログラムの設計情報を生成する手段と、
前記システムの情報から前記処理対象識別情報を抽出し、前記処理の対象情報へのアクセスを実現するプログラムの設計情報を生成する手段として機能させるためのデータ変換用プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＯＭＧ（Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ：分散オブジェクトの標準化団体）で取り決められたＭＤＡ（Ｍｏｄｅｌ  Ｄｒｉｖｅｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ：オブジェクト指向に基づくソフトウエア開発を行うための仕様・規格体系）を用いて、プラットフォームに特化したより詳細な設計を行うためのＰＩＭ（プラットフォーム非依存モデル）データとＰＳＭ（プラットフォーム特化モデル）データとのデータ変換装置及びデータ変換用プログラムに関する。
【背景技術】
【０００２】
ソフトウエアの開発は、対象領域の問題を洗い出し、ユーザの要求を正確に把握しモデル化する必要がある。そこで、ソフトウエア開発は、その開発の手順等から幾つかのソフトウエア開発型ライフサイクルモデルが存在するが、共通して言えることは、ソフトウエア開発対象の分析、設計、プログラム生成、検証等のプロセスをとるのが一般的である。
【０００３】
このプログラム生成の作業軽減を図るべく、ＣＡＳＥ（Ｃｏｍｐｕｔｅｒ  Ａｉｄｅｄ  Ｓｏｆｔｗａｒｅ  Ｅｎｇｉｎｅｅｒｉｎｇ：コンピュータ支援ソフトウエア工学）ツールがあるが、ＣＡＳＥツール扱われるデータの仕様はＣＡＳＥツール固有のものであり、ＣＡＳＥツール間でデータを流用することが難しく、ＣＡＳＥツールの乗換えも困難となっていた（例えば、特許文献１参照。）。
【０００４】
一方、ソフトウエア開発の１つの方法としては、ＵＭＬ（Ｕｎｉｆｉｅｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ：オブジェクト指向分析／設計に用いられるモデリング言語）を用いたＯＯ（Ｏｂｊｅｃｔ  Ｏｒｉｅｎｔｅｄ）フレームワーク・コンポーネント方式があり、ＯＭＧの標準化規格の１つとなっている。
【特許文献１】特開平０９−２３１０６３号公報。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、以上のようなＯＯフレームワーク・コンポーネント方式は、ＵＭＬエディタを用いてプログラムの骨組を生成するが、この場合には分析・設計等の上流ＣＡＳＥだけでなく、プログラム作成・テスト・保守等の下流ＣＡＳＥを含めて、実行可能なプログラムコードを生成する必要があるので、プラットフォームが異なるプログラムを設計する場合には、各プラットフォーム毎に新たに設計しなおさなければならず、上流及び下流を含めてソフトウエア開発工程の削減及び生産性の向上等が非常に難しい状況にある。
【０００６】
本発明は上記事情に鑑みてなされたもので、ＵＭＬの記述を遵守しつつ、上流及び下流を含めてソフトウエア開発工程の削減及び生産性の向上等を図るデータ変換装置及びデータ変換用プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
（１）  上記課題を解決するために、本発明に係るデータ変換装置は、プラットフォームに依存しない情報であって、システムの機能と前記機能の処理と前記処理の対象との間の関係によって表現されたシステムの情報からシステムの機能を特定する機能識別情報を抽出し、ユーザーからの前記抽出された機能への処理要求を受け付ける機能を実現するプログラムの設計情報を生成する手段と、
前記システムの情報から前記機能を実現するための処理を特定する処理識別情報と前記処理の対象情報を識別する処理対象識別情報を抽出し、抽出された前記処理識別情報と前記処理対象識別情報とに基づいて処理の対象情報が同一となる処理を抽出し、前記処理要求を受け付けた場合に同一の処理対象情報に対して処理を行うプログラムの設計情報を生成する手段と、
前記システムの情報から前記処理対象識別情報を抽出し、前記処理の対象情報へのアクセスを実現するプログラムの設計情報を生成する手段とを設けた構成である。
【０００８】
(２）  なお、前記（１）では、データ変換装置の構成について述べたが、当該装置がコンピュータで実現されている場合、データを変換する一連の処理機能をプログラムにより実現することも可能である。
【発明の効果】
【０００９】
本発明は、上流の分析・設計等に関し、ソフトウエア開発工程の削減及び生産性の向上等をさせることができるデータ変換装置及びデータ変換用プログラムを提供できる。
【発明を実施するための最良の形態】
【００１０】
以下、本発明の実施の形態について図面を参照して説明する。  
先ず、本発明に係るデータ変換装置の一実施の形態を説明するに先立ち、本発明の対象とする範囲ないし位置付けについて図1ないし図４を参照して説明する。  
図１はＯＭＧ（Ｏｂｊｅｃｔ  Ｍａｎａｇｅｍｅｎｔ  Ｇｒｏｕｐ：分散オブジェクトの標準化団体）によって作成されたＭＤＡ（Ｍｏｄｅｌ  Ｄｒｉｖｅｎ  Ａｒｃｈｉｔｅｃｔｕｒｅ）仕様・規格体系の中の発明対象範囲を説明する図、図２は近年のＭＤＡによるソフトウエア開発に用いられているモデル駆動開発方式を説明する図、図３はＭＤＡの対象範囲と今回発明対象部分の位置付けとの関係を説明する図、図４は本願発明の基本的な概念構成を示す図である。
【００１１】
ＭＤＡの規格体系としては、図１に示すように計算処理非依存モデルＣＩＭ（Ｃｏｍｐｕｔａｔｉｏｎ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｏｄｅｌ）、プラットフォーム非依存モデルＰＩＭ（Ｐｌａｔｆｏｒｍ  Ｉｎｄｅｐｅｎｄｅｎｔ  Ｍｏｄｅｌ）、プラットフォーム特化モデルＰＳＭ（Ｐｌａｔｆｏｒｍ  Ｓｐｅｃｉｆｉｃ  Ｍｏｄｅｌ）及び実装（ｉｍｐｌｅｍｅｎｔａｔｉｏｎ）からなり、これに特定プラットフォームを構成する部品群や提供サービス一式を表すプラットフォームモデルを追加してなる体系となっている。ここで、ＣＩＭ、ＰＩＭ、ＰＳＭ、実装はモデルとして記載されているが、実際には各モデルに対応したＣＩＭデータ１、ＰＩＭデータ２、ＰＳＭデータ３、実装データ４によって表現されている。
【００１２】
また、プラットフォームとは、プログラムを実行可能にする条件のことをいい、ＯＳ等の条件項目がある。
【００１３】
前記ＣＩＭデータ１は、モデリング対象である業務要件に相当し、ユーザの要求する要求仕様書又は基本設計書からソフトウエアの分析結果を導き出す計算処理に非依存なドメインモデルデータとなる部分である。
【００１４】
ＰＩＭデータ２は、同型（例えば事務処理システム仕様のみとか、或いは監視／制御システム仕様のみを意味する）の異なるプラットフォーム群に対応可能なプラットフォームに左右されないプラットフォーム非依存モデルデータである。つまり、プラットフォームを選ばない上流ＣＡＳＥの設計によってユーザの要求や技術の変化に十分に対応可能なソフトウエア開発を可能とするモデルデータである。
【００１５】
ＰＳＭデータ３は、ＰＩＭデータ２とプラットフォームの特定の型，例えはJａｖａベースやＷｅｂベース等の使い方を組み合わせたモデルデータであって、プラットフォームに特化したより詳細な設計を行うプラットフォーム特化モデルデータである。
【００１６】
実装データ４は、システムを構築して運用に移行するためのすべての情報を提供する仕様であって、それぞれフラットフォームに特化して詳細なプログラム言語で規定される。
【００１７】
図２はＭＤＡによるモデル駆動開発方式を説明する図であって、プラットフォームに依存しないモデルを作成するためのＭＤＡの一般的なソフトウエアモデル開発の１つの例である。
【００１８】
このモデル駆動開発方式は、ソフトウエア開発者がモデルエディタ（ＵＭＬエディタ）１１を用いて、必要な情報を入力し、クラス図、シーケンス図、状態遷移図等を作成し編集するが、この段階では、他社製モデルエディタと互換性を有しないことから、モデルエディタ（ＵＭＬエディタ）１１で作成されたクラス図、シーケンス図等の関係を、ＭＤＡに含まれる規格の１つであるタグを用いてテキストに情報を付加可能とするＸＭＩ形式に変換し、データをテキスト形式で表すＸＭＬ１２の形式で保存することにより、例えば他社製モデルエディタ（ＵＭＬエディタ）１３との間の相互運用を可能とするものであり、プラットフォームに依存しないモデルを作成する。
【００１９】
ここで、ＵＭＬは、Ｕｎｉｆｉｌｄ  Ｍｏｄｅｌｉｎｇ  Ｌａｎｇｕａｇｅ（統一モデリング言語）の略語であって、モデルを図で表記する際に使用される標準言語である。図の表記方法としては、前述するようにクラス図、シーケンス図，状態遷移図等が定義されている。ここで、モデルとは、業務やソフトウエアの構造、ソフトウエアの振る舞いなどのごとき、何らかの概念を分析・抽象化したものを指す。また、ＸＭＬはＥｘｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ（拡張可能マークアップ言語）を意味する。従って、作成されたプログラムの検証を行うモデルデバッガ１４やモデルコンパイラ１５はＸＭＬ形式でプログラムデータの受け渡しが可能であり、モデルコンパイラ１５によってプラットフォーム対応プログラムが作成可能である。
【００２０】
図３はＭＤＡの対象範囲を示すもので、縦軸にモデリング対象を表し、横軸にモデルのフェーズ（プロセスの流れ）を表している。モデリング対象としては、業務の他、画面，コントローラ，ビジネスロジック層（Ｂｕｓｉｎｅｓｓ  Ｌｏｇｉｃ  Ｔｉｅｒ），データベース等に係るアプリケーション、ソフトウエアの基本設計様式を定めるアーキテクチャ、コンピュータ設計環境などが挙げられ、一方、モデルのフェーズとしては、分析結果を得るＣＩＭフェーズ、共通機能部分となる抽象的な設計を行うＰＩＭフェーズ、より詳細な設計を行うＰＳＭフェーズ及び実装フェーズからなり、そのうちＯＭＧによる将来の仕様・規格化可能なＭＤＡの改良部分として破線枠が考えられているが、特に今回の発明は、ビジネスロジック層におけるアプリケーションをモデリング対象とし、かつＰＩＭフェーズからＰＳＭフェーズに跨る網目領域部分を対象範囲とする。このビジネスロジック層とは、アプリケーションの構造を四つの層に分けて分類する考えに基づくものであって、業務を遂行するための処理単位（ビジネスロジック）を提供している層をいう。
【００２１】
図４は図３に示すビジネスロジック層にあって、特にプラットフォームの違いに左右されない上流ＣＡＳＥの設計を行うＰＩＭ２と、このＰＩＭ２からよりプラットフォームに特化した最適化された詳細な設計を行うＰＳＭ３に変換する関係を表す図である。
【００２２】
すなわち、本発明に係るシステムは、前述する図１ないし図４の説明を踏まえ、ＭＤＡの実現形態として、ＰＩＭデータ２からＰＳＭデータ３に変換するためにＭＢＣ（モデルベースコンポーネント）データを含んだデータ変換装置を実現することにある。ここで、ＭＢＣデータとは、モデルを中心として考えたコンポーネント（部品）データを意味し、上流（ＰＩＭに相当）設計用コンポーネント（後記するＰＩＭ構築用ＭＢＣ）データ及び上流から下流への落とし込みの変換用コンポーネント（後記するＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣ）データとに相当するものである。なお、本実施の形態では詳細に記載しないが、下流（ＰＳＭに相当）設計用コンポーネント（後記するＰＳＭ構築用ＭＢＣ）データを用いてＰＳＭデータのモデリングすることも可能である。なお、ＰＩＭデータ／ＰＳＭデータの「／」は「ＰＩＭデータとＰＳＭデータとの間での」という意味を有する。
【００２３】
次に、本発明に係るＰＩＭデータからＰＳＭデータに変換するデータ変換装置の一実施の形態について図５を参照して説明する。
【００２４】
ここで、ＰＩＭ構築用ＭＢＣデータ２１はＰＩＭデータ２の構成要素及びその各構成要素の振る舞いないし結びつきを記述したデータである。
【００２５】
ＰＩＭモデリング部２２は、ＰＩＭ構築用ＭＢＣデータ２１を選択的に取り込んでビジネスロジック層に係るプラットフォームの違いに左右されない上流での設計を行う機能を有する。このモデリング部２２によりされた結果得られるデータがＰＩＭデータ２となる。ＰＩＭデータ２はクラス図、シーケンス図、状態遷移図等が含まれ、これらがＸＭＬ（ｅＸｔｅｎｓｉｂｌｅ  Ｍａｒｋｕｐ  Ｌａｎｇｕａｇｅ）ファイルとして作成される。
【００２６】
ＰＩＭ検証部２３はＰＩＭモデリング部２２で作成されたＰＩＭデータ２の妥当性を検証する。妥当なＰＩＭデータ２とは、例えばａ）ＰＩＭデータ２が従うべきＰＩＭ構築用ＭＢＣデータ２１が指定するＵＭＬＰｒｏｆｉｌｅに指定されないステレオタイプを持つ要素を含まないこと、かつ、ｂ）ＰＩＭデータ２に含まれる要素間の関連付け（結線）がＰＩＭ構築用ＭＢＣデータ２１が指定する関連付けパターンに従っていること、かつ、ｃ）ＰＩＭデータ２の形式がＸＭＩのＤＴＤ（Ｄｏｃｕｍｅｎｔ  Ｔｙｐｅ  Ｄｅｆｉｎｉｔｉｏｎ）やＸＭＩに従ってＵＭＬモデルを保存する形式を指定するＤＴＤに従っていることを満たすデータであり、妥当性の検証は上記条件を満たすか否かを確認することによって行う。
【００２７】
ここで、ステレオタイプとは、下位のクラスの特性を表す名称がつけられたものであって、その下位のクラスに対する上位のクラスである。ここでの特性とは例えば「クラスが機能（ｐｒｏｃｅｓｓ）であること」や「クラスが処理（ｓｅｒｖｉｃｅ）であること」や「クラスが処理対象（ｅｎｔｉｔｙ）であること」などをいう。
【００２８】
また、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４は、ＰＩＭデータからＰＳＭデータに変換する際に用いられるものであって、ＰＩＭデータ対して適用すべき変換用ＭＢＣ文書へのリンク情報を含むデータである。
【００２９】
図６はモデルコンパイラ２６の処理を詳細に示した図である。図６の例では、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４は＜＜ＸＳＬＴ＞＞ＴＭＢＣ４Ｓｔｒｕｔｓや＜＜ＸＳＬＴ＞＞ＴＭＢＣＳｔｒｕｔｓＷＳである。また、図６の例では、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４と矢印で結ばれているＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５がＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４において指定されていることを表している。
【００３０】
つまり、＜＜ＸＳＬＴ＞＞ＴＭＢＣ４ＳｔｒｕｔｓというＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４の場合では、＜＜ＸＳＬＴ＞＞ｄｅｆａｕｌｔ、＜＜ＸＳＬＴ＞＞ａｓｓｏｃｉａｔｉｏｎ、＜＜ＸＳＬＴ＞＞ｐｒｏｃｅｓｓＰａｃｋａｇｅ、＜＜ＸＳＬＴ＞＞ｓｅｒｖｉｃｅＰａｃｋａｇｅ、＜＜ＸＳＬＴ＞＞ｅｎｔｉｔｙＰａｃｋａｇｅ、＜＜ＸＳＬＴ＞＞ｒｕｌｅＰａｃｋａｇｅというＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が指定、つまり各ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５へのリンク情報が記載されており、各ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が読み出せるようになっている。
【００３１】
ここで、各変換ルールに記述されているＸＳＬＴは、ＸＳＬ  Ｔｒａｎｓｆｏｒｍａｔｉｏｎｓ（ＸＳＬ変換）の略語である。ＸＳＬは、Ｅｘｔｅｎｓｉｂｌｅ  Ｓｔｙｌｅｓｈｅｅｔ  Ｌａｎｇｕａｇｅ：拡張可能スタイルシート言語）の略語である。これは、ＸＭＬに従ってマークアップされた文書に対する変換ルールを記述するための規則となる。このＸＳＬＴは、主にＸＭＬ文書からＷｅｂブラウザ上で表示可能なＨＴＭＬ文書に変換生成する場合に用いられるが、本発明システムにおいては、ＸＭＬ文書で表されるＵＭＬモデルに対する変換ルールの記述のために用いられている。
【００３２】
なお、Ｓｔｒｕｔｓは、ストラッツと呼ばれ、Ａｐａｃｈｅ財団Ｊａｋａｒｔａ（アパッチ財団ジャカルタ）プロジェクトによって開発された「フレームワーク」であって、サーバ上で動作し、Ｗｅｂブラウザからの要求を受け取り、それに応じて適切なビジネスロジックを呼び出すためのサブシステムを作成するためのソフトウエアである。
【００３３】
ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５は、ＰＩＭデータ２をＰＳＭデータ３に変換する際に使用されるデータであり、例えば、入力となるＰＩＭデータ２であるクラス図を表すＸＭＬデータに含まれる特定のタグ（要素）に作用し、そのタグ（要素）の内容に基づいてＰＳＭデータ３のクラス図を表すＸＭＬデータに新たなタグ（要素）を追加することで変換する際に利用されるデータである。図９は、ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５の例であり、図６でいう＜＜ＸＳＬＴ＞＞ｐｒｏｃｅｓｓＰａｃｋａｇｅの例であって、ＸＳＬＴスタイルシートによって実現されている。具体的には、ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５は＜自分自身のクラスをコピーする＞、＜Ｃｌａｓｓ名の末尾にＡｃｔｉｏｎをつける＞等の変換ルールの定義内容を表すデータとなっている。
【００３４】
モデルコンパイラ２６は、図６のようにビルドツール機能２９と変換エンジン機能２７とから構成されている。このモデルコンパイラ２６は、ユーザーがキーボードからモデルコンパイラ呼び出しコマンドを打ち込むなどして起動される。この起動の際、モデルコンパイラ２６が入力とすべきＰＩＭデータ２、出力すべきＰＳＭデータ３、そして変換Ｃｏｎｆｉｇデータ２８の場所がコマンドに対し引数として指定（入力）される。
【００３５】
ビルドツール機能２９は、例えば変換Ｃｏｎｆｉｇデータ２８（図６の例ではｂｕｉｌｄ．ｘｍｌ）を基に変換エンジン機能２７を起動して変更を行う。その結果、変換エンジン機能２７はＰＳＭデータ３を処理結果として出力するものである。なお、図示しないが、モデルコンパイラ２６は実行環境としてＪａｖａ（商標）が必要（構成要素）となっている。
【００３６】
ここで、変換Ｃｏｎｆｉｇデータ２８は、モデルコンパイラ２６の変換エンジン機能２７を起動する際に必要とされるデータである。図６の例では、変換Ｃｏｎｆｉｇデータはｂｕｉｌｄ．ｘｍｌというファイルデータであり、ｂｕｉｌｄ．ｘｍｌとしては図８の例があげられる。図８の＜ｐｒｏｐｅｒｔｙ  ｎａｍｅ＝“ＴＭＢＣ”  ｖａｌｕｅ＝“ＴＭＢＣ４Ｓｔｒｕｔｓ”／＞という記載はＪ２ＥＥ＋Ｓｔｒｕｔｓ（Ｊ２ＥＥとＳｔｒｕｔｓに対応したものという意味）用変換ルールセットデータ２４が指定されていることを表している。
【００３７】
本実施の形態では、変換エンジン機能２７はビルドツール機能２９からの起動指示に従い起動し、変換用ＭＢＣデータ２５を読み込むことにより変換を行う機能である。例えば、ＸＳＬＴエンジン機能によって実現されている。
【００３８】
つまり、変換エンジン機能２７は、ビルドツール機能２９から提供された変換Ｃｏｎｆｉｇデータ２８（本例ではｂｕｉｌｄ．ｘｍｌファイルデータ）に基づいていずれかのＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４を選択して読み込む（図８の例では、＜＜ＸＳＬＴ＞＞ＴＭＢＣ４Ｓｔｒｕｔｓを読み込む）。そして、選択されたＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４に記載されているリンク情報を基に変換用ＭＢＣデータ２５を変換エンジン機能２７が読み込む（図６の例では、＜＜ＸＳＬＴ＞＞ｄｅｆａｕｌｔ、＜＜ＸＳＬＴ＞＞ａｓｓｏｃｉａｔｉｏｎ、＜＜ＸＳＬＴ＞＞ｐｒｏｃｅｓｓＰａｃｋａｇｅなどのＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が読み込む）。そして、変換エンジン機能２７は読み込まれた変換用ＭＢＣデータ２５を用いてモデルコンパイラ２６に入力されたＰＩＭデータ２をＰＳＭデータ３に変換する。
【００３９】
そして、ＰＳＭデータ３を出力する。
【００４０】
図５に示すＰＩＭデータ構築用ＭＢＣデータ２１、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４、ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５等を作成し、それぞれハードディスクなどの記憶装置に記憶される。すなわち、ＰＩＭデータ構築用ＭＢＣデータ２１は記憶装置２１ａ、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４は記憶装置２４ａ、ＰＩＭ／ＰＳＭ変換用ＭＢＣデータ２５は記憶装置２５ａに記憶されている。なお、これら記憶装置は1台の記憶装置にエリア分けして記憶してもよく、或いは個別の記憶装置に記憶する構成であってもよく、ハードディスク以外のメモリなどのハードウェアによって構成可能である。
【００４１】
以上のような構成要素の下での変換処理は以下の方法で行われる。つまり、１．モデルコンパイラ２６を起動し、２．変換エンジン２７を起動し、その後、３．変換ルールセット２４を読み込み、４．変換用ＭＢＣデータを読み込む、そして５．ＰＩＭデータを読み込み、６．ＰＩＭデータの妥当性を検証し、７．読み込んだデータに基づいて変換処理を実行し、８．変換後のＰＳＭデータを書き出す。
【００４２】
各処理の詳細は以下の通りである。
【００４３】
１．モデルコンパイラ２６の起動は、ユーザーがキーボードからモデルコンパイラ呼び出しコマンドを打ち込むなどして実行する。この起動の際、モデルコンパイラ２６が入力とすべきＰＩＭデータ、出力すべきＰＳＭデータ、そして変換Ｃｏｎｆｉｇデータの場所をコマンドに対し引数として指定（入力）する。
【００４４】
２．モデルコンパイラ２６内の変換エンジン２７の起動は、モデルコンパイラが、変換Ｃｏｎｆｉｇデータで指定される変換エンジン２７を呼び出すことにより実行する（実際は、図６にあるようにビルドツール機能２９を使用し、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４やＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が変換エンジン２７に読み込まれることにより起動する）。このとき、モデルコンパイラ２６で指定されたＰＩＭデータ２、ＰＳＭデータ３、変換Ｃｏｎｆｉｇ２８データ内で指定された変換ルールセットデータ名を変換エンジン２７（実際は図６のビルドツール機能２９と協働して実行される）に指定し（引渡し）、変換エンジン２７が指定されたＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４を取り込むことができるようにしている。
【００４５】
３．ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４の読み込みは、変換エンジン２７は変換エンジン２７の起動時に指定された（引き渡された）変換ルールセット名に対応するＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４を読み込む事により実行される。読み込まれるＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４には、ＰＩＭデータ２に対して適用すべきＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５の集合が指定されている（ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータへのリンク情報が含まれている）。
【００４６】
４．ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５の読み込みは、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４が読み込まれた際にＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４内で指定されている各変換用ＭＢＣデータ２５を変換エンジン２７が読み込むことにより実行する。
【００４７】
５．ＰＩＭデータの読み込みは、変換エンジン２７が起動した際に指定された（引き渡された）ＰＩＭデータ２を変換エンジン２７が読み込むことにより実行される。
【００４８】
６．ＰＩＭデータ２の検証は、変換エンジン２７がＰＩＭデータ２の妥当性を検証することにより実行される。
【００４９】
妥当でない（不正な）ＰＩＭデータの場合、ここでエラーを表示して処理は終了する。
【００５０】
７．変換処理は、以下のように実行される。つまり、変換エンジン２７は読み込んだ変換用ＭＢＣデータが定義する変換ルール情報を基にそのルールをＰＩＭデータ内の要素または要素の集合に順番に適用していく。適用の方式は、ＰＩＭデータ内の要素を上から順番に見ていきながら、変換ルールの適用の優先度（例えば、先に指定された変換用ＭＢＣデータの変換ルールを優先など）に従ってどれか一つを選び、そのルールを適用し、適用結果生じたＰＳＭ文書全体を書き換える。
【００５１】
この場合、あるＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５によって変換された後、次のＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５がある場合は、そのＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５は、既にＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５によって書き換えられたＰＩＭデータ２に対して適用される。そのため、複数のＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５がある場合は、最後のＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５によって書き換えられた後のＰＩＭデータ２がＰＳＭデータ３となる。なお、ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が定義する変換ルールの適用方式は、変換エンジンの仕様より、上述の方式に限らない。
【００５２】
８．ＰＳＭデータ３の書き出しは、上記の変換処理の結果生じたＰＳＭデータ３をユーザが取り出せるように書き出す（出力する）。
【００５３】
ここで、ＰＩＭデータ２からＰＳＭデータ３への変換処理について、ＰＩＭデータ２がＰＳＥＲに基づくデータである場合の例を以下に説明する。特に上記ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４が変換エンジン２７に読み込まれ、読み込まれたＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４で指定されるＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータが読み込まれた際の処理を説明する。まず、ＰＳＥＲとは、＜＜ｐｒｏｃｅｓｓ（プロセス）＞＞、＜＜ｓｅｒｖｉｃｅ（サービス）＞＞、＜＜ｅｎｔｉｔｙ（エンティティ）＞＞、＜＜ｒｕｌｅ（ルール）＞＞のいずれかのＰＩＭデータ２を作るための構築用ＭＢＣデータである。
【００５４】
ここで、図７を用いて説明すると、プロセスのコンポーネントデータは一つの業務機能にまつわる一連の処理の流れや状態遷移を制御するコンポーネントデータである。例えば、Ｗｅｂショッピングでは「商品選択」や「注文確認」や「注文確定」などのデータがある。サービスのコンポーネントデータは業務プロセスが業務処理を実行する上で必要となるロジックを提供するコンポーネントデータである。例えば、Ｗｅｂショッピングでは、「商品検索」や「ショッピングカート商品入力」や「注文発行」などのデータがある。エンティティのコンポーネントデータはデータベースに保存される業務データである。例えば、Ｗｅｂショッピングでは、「注文明細」や「配送伝票」などのデータがある。ルールのコンポーネントデータは、チェックロジックや計算式を提供するコンポーネントデータである。Ｗｅｂショッピングでは、注文可否チェックとして「カートが空でない」かつ「合計金額＜１００万円」かつ「商品在庫有り」の条件を満たすかどうかを基準（チェックロジック）などがある。
【００５５】
このＰＳＥＲは、システム構築の際の要求仕様に対応したものとなっている。つまり、要求仕様は通常、以下の項目情報が存在するため、抽出が容易な情報となっている。項目としては、システムのユーザから見た業務機能（プロセスに相当）、業務機能を実行するために必要となる表示や入力などのロジック（サービスに相当）、入出力項目など処理の対象となるデータ（エンティティに相当）、業務のチェックロジックやトリガなどのルール（ルールに相当）がある。
【００５６】
まず、Ｐ（プロセス）のＰＩＭデータ２からＰＳＭデータ３への変換について以下に説明する。Ｐ（プロセス）の変換処理は、変換エンジン２７に業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｐｒｏｃｅｓｓＰａｃｋａｇｅであり、これは、ｐｒｏｃｅｓｓＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１０はプロセスのＰＩＭデータとＰＳＭデータとの対応を表した図である。
【００５７】
ここで、特許請求の範囲の「プラットフォームに依存しない情報であって、システムの機能と前記機能の処理と前記処理の対象との間の関係によって表現されたシステムの情報」はＰＩＭデータ２に対応するものである。
【００５８】
この図で、四角形はクラスを表し、中は三つの四角に分けられているが、一番上の四角内の＜＜＞＞はステレオタイプを表し、その下の表示はクラス名を表す。二番目の四角内は属性を表し、三番目の四角内はメソッド名を表す。また、矢印とステレオタイプ（＜＜＞＞記号）の付いた破線は、矢印の向きに従って、ステレオタイプが持つ意味に従った関連を表す。また、＜＜ｔｒａｃｅ＞＞を添えた矢印付きの破線の表示は、ＰＳＭデータに含まれる構成要素と、このＰＩＭデータの構成要素との間の対応関係を表す。つまり、矢印の根元にあるＰＳＭデータの構成要素は、変換時には矢印の先にある要素を元にして生成される。図１０の例では、ＰＳＭデータ３の＜＜ｐｒｏｃｅｓｓ＞＞ＰｒｏｃｅｓｓＡｃｔｉｏｎというデータはＰＩＭデータ２の＜＜ｐｒｏｃｅｓｓ＞＞Ｐｒｏｃｅｓｓを基にして生成されることを意味する。
【００５９】
ここで、ｐｒｏｃｅｓｓＰａｃｋａｇｅ．ｘｓｌの内容の例を図１１を用いて説明する。このファイルは、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、クラスに対する変換処理内容が表されており、この例ではＳｔｒｕｔｓのＡｃｔｉｏｎクラスを継承し、ＰＩＭデータのクラス名の末尾にＡｃｔｉｏｎを追加することによりＰＩＭデータをＰＳＭデータに変換処理する旨が示されている。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｐｒｏｃｅｓｓ）からＳｅｒｖｉｃｅへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＰｒｏｃｅｓｓＡｃｔｉｏｎ）からＳｅｒｖｉｃｅＰａｃｋａｇｅへの依存関係に変換処理する旨が示されている。変換テンプレートの項目は、ＰＩＭデータであるＸＭＬファイルのうち、どの部分が変換対象であるかを示しており、この情報（タグ情報）を下に変換対象を抽出し、変換処理をするためのデータである。図１１の例では、「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例では、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７では変換対象を抽出することになる。本例では、「Ｃｌａｓｓ」という情報に基づいて図１２中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象である３３行目から４３行目までの範囲等の情報を抽出する。なお、図１２は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例である。この変換処理が、特許請求の範囲の「システムの機能を特定する機能識別情報を抽出し、ユーザーからの前記抽出された機能への処理要求を受け付ける機能を実現するプログラムの設計情報を生成する手段」に対応する。
【００６０】
Ｓ（サービス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｓ（サービス）の変換処理は、変換エンジン２７に業務サービス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｓｅｒｖｉｃｅＰａｃｋａｇｅ）であり、これは、ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１３はサービスのＰＩＭデータとＰＳＭデータとの対応を表した図である。図の表記はＰ（プロセス）の場合と同様である。また、＜＜ｕｓｅ＞＞は二つの業務コンポーネント／オブジェクトが使う又は使われるの関係にあることを表す。業務コンポーネント同士の呼び出し関係を表す場合に用いられるステレオタイプです。
【００６１】
ここで、ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌの内容の例を図１４を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、この例では＜＜ｓｅｒｖｉｃｅＰａｃｋａｇｅ＞＞のステレオタイプを持つパッケージをクラスに変換し、その子要素である＜＜ｓｅｒｖｉｃｅ＞＞のステレオタイプを持つクラスを抽出し、同一のエンティティへの処理を抽出して、メソッドに変換することによりＰＩＭデータをＰＳＭデータに変換処理する旨が示されており、変換エンジン２７に読み込まれることにより変換エンジン２７は変換処理を実行する。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｓｅｒｖｉｃｅ）からＥｎｔｉｔｙへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＳｅｒｖｉｃｅＰａｃｋａｇｅ）からＩＥｎｔｉｔｙおよびＩＥｎｔｉｔｙＨｏｍｅへの依存関係に変換処理する旨が示されている。変換テンプレートの項目は、図１４の例では、上記と同様「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例では、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７は変換対象を抽出することになる。
【００６２】
この変換処理が、特許請求の範囲の「前記システムの情報から前記機能を実現するための処理を特定する処理識別情報と前記処理の対象情報を識別する処理対象識別情報を抽出し、抽出された前記処理識別情報と前記処理対象識別情報とに基づいて処理の対象情報が同一となる処理を抽出し、同一の処理対象情報に対して処理を行うプログラムの設計情報を生成する手段」に対応する。
【００６３】
Ｅ（エンティティ）のＰＩＭデータ２からＰＳＭデータ３への変換について以下に説明する。なお、図１５はサービスのＰＩＭデータであるＸＭＬファイル中での変換処理の適用個所データを示す図である。Ｅ（エンティティ）の変換処理は、変換エンジン２７に業務エンティティ用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｅｎｔｉｔｙＰａｃｋａｇｅであり、これは、ｅｎｔｉｔｙＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることに変換エンジン２７が行う。図１６はエンティティのＰＩＭデータとＰＳＭデータとの対応を表した図である。
【００６４】
ここで、ｅｎｔｉｔｙＰａｃｋａｇｅ．ｘｓｌの内容の例を図１７を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、この例ではＰＩＭデータのＥｎｔｉｔｙクラスデータからＩＥｎｔｉｔｙインタフェース情報（ＩＥｎｔｉｔｙに対応）、ＩＥｎｔｉｔｙＨｏｍｅインタフェース情報（ＩＥｎｔｉｔｙＨｏｍｅに対応）、ＥｎｔｉｔｙＨｏｍｅＩｍｐｌｅクラス情報（＜＜ｈｅｌｐｅｒ＞＞ＥｎｔｉｔｙＨｏｍｅＩｍｐｌに対応）を生成する旨が示されており、この情報が変換エンジン２７に読み込まれることにより、変換エンジン２７が実行する。なお、＜＜ｈｅｌｐｅｒ＞＞ステレオタイプは、ＰＳＥＲ関連の分類に直接対応しないクラスで、業務コンポーネントの内部で利用され、その働きを助ける補助操作全般に与えるもの。＜＜ｉｎｓｔａｎｔｉａｔｅ＞＞ステレオタイプはあるクラスのオブジェクトが別のクラスをインスタンス化する場合に、その二つのクラスを関係付けるクラスである。
【００６５】
次に、依存関係の項目は、生成したＩＥｎｔｉｔｙクラスデータからＥｎｔｉｔｙクラスデータへのＡｂｓｔｒａｃｔｉｏｎ、ＩＥｎｔｉｔｙＨｏｍｅクラスデータからＥｎｔｉｔｙＨｏｍｅＩｍｐｌｅへのＡｂｓｔｒａｃｔｉｏｎ、ＥｎｔｉｔｙＨｏｍｅＩｍｐｌｅからＥｎｔｉｔｙへのステレオタイプ＜＜ｉｎｓｔａｎｔｉａｔｅ＞＞の依存関係を追加して変換処理する旨が示されており、変換エンジン２７により上記クラス生成、依存関係追加の変換処理が行われる。
【００６６】
変換テンプレートの項目は、図１７の例では、上記と同様「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例では、「Ｃｌａｓｓ」というタグ情報を基に変換対象を抽出することになる。
【００６７】
本例では、「Ｃｌａｓｓ」という情報に基づいて図１８中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象である１９８行目から２０８行目までの範囲等の情報を抽出する。なお、図１８は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例であり、適用箇所の情報が抽出され、変換エンジン２７にて変換処理される。
【００６８】
この変換処理が、特許請求の範囲の「前記システムの情報から前記処理対象識別情報を抽出し、前記処理の対象情報へのアクセスを実現するプログラムの設計情報を生成する手段」に該当する。
【００６９】
Ｒ（ルール）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｒ（ルール）の変換処理は、変換エンジン２７に業務ルール用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｒｕｌｅＰａｃｋａｇｅであり、これは、ｒｕｌｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１９はプロセスのＰＩＭデータとＰＳＭデータとの対応を表した図である。
【００７０】
ここで、ｒｕｌｅＰａｃｋａｇｅ．ｘｓｌの内容の例を図２０を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、この例ではＰＩＭデータのＲｕｌｅクラスデータからＲｕｌｅクラスデータの他にＩＲｕｌｅインタフェースデータ、ＡｂｓｔｒｕｃｔＲｕｌｅ抽象クラスデータを追加する旨が示されている。
【００７１】
次に、依存関係の項目は、ＲｕｌｅクラスデータからＡｂｓｔｒｕｃｔＲｕｌｅ抽象クラスデータへのＧｅｎｅｒａｌｉｚａｔｉｏｎを追加して変換処理する旨が示されている。また、上記で追加したクラス間の承継関係と集約関係を追加して変換処理する旨が示されている。
【００７２】
変換テンプレートの項目は、図２０の例では、上記と同様「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例では、「Ｃｌａｓｓ」、「Ｎａｍｅｓｐａｃｅ．ｏｗｎｅｄＥｌｅｍｅｎｔ」というタグ情報を基に変換対象を抽出することになる。
【００７３】
本例では、「Ｃｌａｓｓ」という情報に基づいて図１８中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象である２４８行目から２５６行目までの範囲等の情報を抽出する。なお、図１８及び図２１は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例である。
【００７４】
また、図面で詳述しないが、図６の＜＜ＸＳＬＴ＞＞ｄｅｆａｕｌｔに対応するｄｅｆａｕｌｔ．ｘｓｌファイルは、ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５による変換対象とはされないが、ＰＩＭデータ２内の要素をそのままＰＳＭデータの構成要素として生成する旨が示されており、変換エンジン２７はこのＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を読み込み、この内容に沿って処理する。
【００７５】
また、図面で詳述しないが、図６の＜＜ＸＳＬＴ＞＞ａｓｓｏｃｉａｔｉｏｎ．ｘｓｌに対応するａｓｓｏｃｉａｔｉｏｎ．ｘｓｌファイルには、集約を表す関連付けを以下の規則に従って変換する旨が示されている。（１）ＰｒｏｃｅｓｓからＲｕｌｅへの集約：Ｐｒｏｃｅｓｓ側は変更せず、Ｒｕｌｅ側はＩＲｕｌｅへの集約に変換する。（２）ＳｅｒｖｉｃｅからＲｕｌｅへの集約：Ｓｅｒｖｉｃｅ側はＳｅｒｖｉｃｅＰａｃｋａｇｅに変換、Ｒｕｌｅが和はＩＲｕｌｅへの集約に変換する。（３）Ｅｎｔｉｔｙ側は変更せず、Ｒｕｌｅ側はＩＲｕｌｅへの集約に変換する。
【００７６】
以上は、プラットフォームがＳｔｒｕｔｓ向けの処理を述べたが（図６では、ＴＭＢＣ４Ｓｔｒｕｔｓ．ｘｓｌに対応（図では＜＜ＸＳＬＴ＞＞ＴＭＢＣ４Ｓｔｒｕｔｓ））、プラットフォームがＳｔｒｕｔｓ＋Ｗｅｂサービス向けの処理をＳｔｒｕｔｓ向けのものと対比し、異なる部分を説明する。
【００７７】
Ｐ（プロセス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｒ（ルール）の変換処理は、変換エンジン２７に業務ルール用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｒｕｌｅＰａｃｋａｇｅ＿ＷＳであり、これは、ｒｕｌｅＰａｃｋａｇｅ ＷＳ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図２２はプロセスのＰＩＭデータとＰＳＭデータとの対応を表した図である。Ｓｔｒｕｔｓ向けのものと異なる部分は、＜＜ｓｅｒｖｉｃｅＰａｃｋａｇｅ＞＞ＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂが追加されている点で異なる。ここで、ｐｒｏｃｅｓｓＰａｃｋａｇｅ ＷＳ．ｘｓｌの内容の例を図２３を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、クラスに対する変換処理内容が表されており、この例ではＳｔｒｕｔｓのＡｃｔｉｏｎクラスを継承し、ＰＩＭデータのクラス名の末尾にＡｃｔｉｏｎを追加することによりＰＩＭデータをＰＳＭデータに変換処理する旨が示されている。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｐｒｏｃｅｓｓ）からＳｅｒｖｉｃｅへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＰｒｏｃｅｓｓＡｃｔｉｏｎ）からＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂへの依存関係に変換処理する旨が示されている。変換テンプレートの項目は、ＰＩＭデータであるＸＭＬファイルのうち、どの部分が変換対象であるかを示しており、この情報（タグ情報）を下に変換対象を抽出し、変換処理をするためのデータである。この例でも、「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前をＳｔｒｕｔｓ向けと同様に、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７では変換対象を抽出することになる。
【００７８】
Ｓ（サービス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｓ（サービス）の変換処理は、変換エンジン２７に業務サービス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｓｅｒｖｉｃｅＰａｃｋａｇｅ）であり、これは、ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１３はサービスのＰＩＭデータとＰＳＭデータとの対応を表した図である。図の表記はＰ（プロセス）の場合と同様である。また、＜＜ｕｓｅ＞＞は二つの業務コンポーネント／オブジェクトが使う又は使われるの関係にあることを表す。業務コンポーネント同士の呼び出し関係を表す場合に用いられるステレオタイプである。
【００７９】
ここで、ｓｅｒｖｉｃｅＰａｃｋａｇｅ＿ＷＳ．ｘｓｌの内容の例を図２４を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、この例では＜＜ｓｅｒｖｉｃｅＰａｃｋａｇｅ＞＞のステレオタイプを持つパッケージをクラスに変換し、その子要素である＜＜ｓｅｒｖｉｃｅ＞＞のステレオタイプを持つクラスを抽出し、同一のエンティティへの処理を抽出して、メソッドに変換することによりＰＩＭデータをＰＳＭデータに変換処理し、更に同種のＳｔｕｂクラスを追加する旨が示されており、変換エンジン２７に読み込まれることにより変換エンジン２７は変換処理を実行する。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｓｅｒｖｉｃｅ）からＥｎｔｉｔｙへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＳｅｒｖｉｃｅＰａｃｋａｇｅ）からＩＥｎｔｉｔｙおよびＩＥｎｔｉｔｙＨｏｍｅへの依存関係に変換処理する旨及びＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂからＳｅｒｖｉｃｅＰａｃｋａｇｅへの依存関係を追加する変換処理が示されている。変換テンプレートの項目は、図１４の例では、上記と同様「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例でもＳｔｒｕｔｓ向けの場合と同様に、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７は変換対象を抽出することになる。
【００８０】
図６では、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４で指定されているＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５で、Ｓｔｒｕｔｓ向け（＜＜ＸＳＬＴ＞＞ＴＭＢＣ４Ｓｔｒｕｔｓ）とＳｔｒｕｔｓ＋Ｗｅｂサービス向け（＜＜ＸＳＬＴ＞＞ＴＭＢＣ４ＳｔｒｕｔｓＷＳ）とで異なるものはｐｒｏｃｅｓｓとｓｅｒｖｉｃｅであり、他のＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５は共通し、Ｓｔｒｕｔｓ向けと同様に変換処理等が行われる。
【００８１】
このように、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４が異なり、指定されるＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５が異なると同じＰＩＭデータ２から異なるＰＳＭデータ３が生成することができるのである。また、その変換処理にあたっては各ＰＳＥＲ（最低限システムを表現する最小情報であるＰＳＥが明確となっていることが必要）毎にＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５があるため、異なるプラットフォームに対応するためには、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４をそのプラットフォームに対応するように定義することによって、他のプラットフォームに使われるＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５も利用することができ、この点においてもプログラム生成にあたってその生産性の向上を図ることができる。
【００８２】
このＳｔｒｕｔｓ向けの各ステレオタイプの関係付けの例を図２６に示す。また、Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けの各ステレオタイプの関係付けの例を図２７に示す。この二つの図に示されるように、二つのプラットフォームの際は後者がＷｅｂサービスに対応する必要があることからＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂがＳｔｒｕｔｓ向けに比べて追加されているが、この変換の違いを本発明によれば自動的に達成することができ、Ｓｔｒｕｔｓ向け、Ｓｔｒｕｔｓ＋Ｗｅｂサービス向け両方のＰＳＭデータ３を生成することができる。
【００８３】
なお、ＰＩＭデータ／ＰＳＭデータ変換処理に先立ち、図５に示すＰＩＭ構築用ＭＢＣデータ２１、ＰＩＭ／ＰＳＭ変換ルールセットデータ２４、ＰＩＭ／ＰＳＭ変換用ＭＢＣデータ２５及び変換Ｃｏｎｆｉｇデータ２８等を作成し、それぞれハードディスクなどの記憶装置に記憶される。すなわち、ＰＩＭ構築用ＭＢＣデータ２１は記憶装置２１ａ、ＰＩＭ／ＰＳＭ変換ルールセットデータ２４は記憶装置２４ａ、ＰＩＭ／ＰＳＭ変換用ＭＢＣデータ２５は記憶装置２５ａ、変換Ｃｏｎｆｉｇデータ２８は記憶装置２８ａに記憶されている。また、ＣＩＭデータ１やＰＩＭデータ２やＰＳＭデータ３や実装データ４も記憶装置１ａに記憶される。なお、これら記憶装置２１ａ、２４ａ、２５ａ、２８ａ、
１ａは1台の記憶装置にエリア分けして記憶してもよく、或いは個別の記憶装置に記憶する構成であってもよく、ハードディスク以外のメモリなどのハードウェアによって構成されてもよい。
【００８４】
従って、以上のような実施の形態によれば、ＰＩＭ構築用ＭＢＣデータ２１及び上流から下流に落とし込む変換用ＭＢＣデータ２５を作成し、ソフトウエア開発に利用することにより、常に進化する技術の中にあってＰＩＭ構築用ＭＢＣデータ２１や変換用ＭＢＣデータ２５を有効に活用し、より詳細な下流設計の半自動化が可能となるので、技術者の育成や調達コストを大幅に抑制でき、ひいては技術の習得コストの低減に大きく貢献できる。
【００８５】
また、ＰＩＭ構築用ＭＢＣデータ２１を用いて、上流設計を行うことによりＰＩＭを生成するが、この同じＰＩＭであっても、前述する変換用ＭＢＣデータ２５にて変換ルール項目の定義付けを変更することにより、様々なプラットフォームに最適化されたＰＳＭを生成できる。  さらに、ＰＩＭ構築用ＭＢＣデータ２１を用いて、ＰＩＭでプラットフォームに左右されない上流設計を行い、変換ルールセット２４及び上流から下流に落とし込む変換用ＭＢＣデータ２５を用いて、プラットフォームに特化したより詳細な設計を行うＰＳＭに変換するので、開発効率の向上、保守・拡張性の向上を図ることができる。
【００８６】
さらに、ＰＩＭ構築用ＭＢＣデータ２１にて設計構成がパターン化され、変換用ＭＢＣデータ２５にて実装に正確に対応する設計となっているので、第三者でも設計内容を理解でき、かつ検証することもできる。
【００８７】
その他、本発明は、上記実施の形態に限定されるものでなく、その要旨を逸脱しない範囲で種々変形して実施できる。
【００８８】
例えば上記実施の形態では、ＰＩＭの構成要素として、Ｐ，Ｓ，Ｅ，Ｒの要素に限定して説明したが、今後新たに第５の要素も追加されることも当然考えられるものである。システムの要求仕様内容を示すためには少なくともＰ、Ｓ、Ｅが必要であり、Ｒは必ずしも必要でない場合がある。  なお、上記各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【００８９】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【００９０】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が本実施形態を実現するための各処理の一部を実行しても良い。
【００９１】
さらに、本発明における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【００９２】
また、記憶媒体は１つに限らず、複数の媒体から本実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【００９３】
尚、本発明におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、本実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【００９４】
また、本発明におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【００９５】
また、各実施の形態は可能な限り組み合わせて実施することが可能であり、その場合には組み合わせによる効果が得られる。さらに、上記各実施の形態には種々の上位，下位段階の発明が含まれており、開示された複数の構成要素の適宜な組み合わせにより種々の発明が抽出され得るものである。例えば問題点を解決するための手段に記載される全構成要件から幾つかの構成要件が省略されうることで発明が抽出された場合には、その抽出された発明を実施する場合には省略部分が周知慣用技術で適宜補われるものである。
【図面の簡単な説明】
【００９６】
【図１】ＯＭＧによって作成されたＭＤＡ仕様・規格体系の中の発明対象範囲を説明する図。
【図２】近年のＭＤＡによるソフトウエア開発に用いられているモデル駆動開発方式を説明する図。
【図３】ＭＤＡの対象範囲と今回発明対象部分の位置付けとの関係を説明する図。
【図４】本発明の基本的な概念構成を示す図。
【図５】本発明に係るデータ変換装置の一実施の形態を示す構成図。
【図６】モデルコンパイラの処理を説明する図。
【図７】ＰＳＥＲに基づくデータを説明する図。
【図８】変換Ｃｏｎｆｉｇデータの構成を説明する図。
【図９】ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータの構成を説明する図。
【図１０】プロセスのＰＩＭデータとＰＳＭデータとの対応を説明する図。
【図１１】ｐｒｏｃｅｓｓＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図１２】プロセスのＰＩＭデータであるＸＭＬファイル中での変換処理の適用箇所データを説明する図。
【図１３】サービスのＰＩＭデータとＰＳＭデータとの対応を説明する図。
【図１４】ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図１５】サービスのＰＩＭデータであるＸＭＬファイル中での変換処理の適用箇所データを説明する図。
【図１６】エンティティのＰＩＭデータとＰＳＭデータとの対応を説明する図
【図１７】ｅｎｔｉｔｙＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図１８】エンティティのＰＩＭデータであるＸＭＬファイル中での変換処理の適用箇所データを説明する図。
【図１９】ルールのＰＩＭデータとＰＳＭデータとの対応を説明する図
【図２０】ｒｕｌｅＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図２１】ルールのＰＩＭデータであるＸＭＬファイル中での変換処理の適用箇所データを説明する図。
【図２２】Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けのプロセスのＰＩＭデータとＰＳＭデータとの対応を説明する図
【図２３】Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けのｐｒｏｃｅｓｓＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図２４】Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けのサービスのＰＩＭデータとＰＳＭデータとの対応を説明する図
【図２５】Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けのｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌの内容例を示す図。
【図２６】Ｓｔｒｕｔｓ向けの各ステレオタイプの関係付けを説明する図
【図２７】Ｓｔｒｕｔｓ＋Ｗｅｂサービス向けの各ステレオタイプの関係付けを示す図。
【符号の説明】
【００９７】
１…計算処理非依存モデルＣＩＭデータ、２…プラットフォーム非依存モデルＰＩＭデータ、３…プラットフォーム特化モデルＰＳＭデータ、４…実装、２１…ＰＩＭ構築用ＭＢＣデータデータ、２２…ＰＩＭモデリング部、２３…ＰＩＭ検証部、２４…ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ、２４ａ…記憶装置、２５…ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ、２５ａ…記憶装置、２６…モデルコンパイラ、２７…変換エンジン、２８…変換Ｃｏｎｆｉｇデータ
【図１】
2005242479.tif 000003
【図２】
2005242479.tif 000004
【図３】
2005242479.tif 000005
【図４】
2005242479.tif 000006
【図５】
2005242479.tif 000007
【図６】
2005242479.tif 000008
【図７】
2005242479.tif 000009
【図８】
2005242479.tif 000010
【図９】
2005242479.tif 000011
【図１０】
2005242479.tif 000012
【図１１】
2005242479.tif 000013
【図１２】
2005242479.tif 000014
【図１３】
2005242479.tif 000015
【図１４】
2005242479.tif 000016
【図１５】
2005242479.tif 000017
【図１６】
2005242479.tif 000018
【図１７】
2005242479.tif 000019
【図１８】
2005242479.tif 000020
【図１９】
2005242479.tif 000021
【図２０】
2005242479.tif 000022
【図２１】
2005242479.tif 000023
【図２２】
2005242479.tif 000024
【図２３】
2005242479.tif 000025
【図２４】
2005242479.tif 000026
【図２５】
2005242479.tif 000027
【図２６】
2005242479.tif 000028
【図２７】
2005242479.tif 000029
【手続補正書】
【提出日】平成17年3月1日(2005.3.1)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００２９
【補正方法】変更
【補正の内容】
【００２９】
図６はモデルコンパイラ２６の処理を詳細に示した図である。図６の例では、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４は＜＜ＸＳＬＴ＞＞ＴＭＢＣ４Ｓｔｒｕｔｓや＜＜ＸＳＬＴ＞＞ＴＭＢＣＳｔｒｕｔｓＷＳである。また、図６の例では、ＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４と破線の矢印で結ばれているＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５がＰＩＭデータ／ＰＳＭデータ変換ルールセットデータ２４において指定されていることを表している。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００５８
【補正方法】変更
【補正の内容】
【００５８】
この図で、四角形はクラスを表し、中は三つの四角に分けられているが、一番上の四角内の＜＜＞＞はステレオタイプを表し、その下の表示はクラス名を表す。二番目の四角内は属性を表し、三番目の四角内はメソッド名を表す。また、矢印とステレオタイプ（＜＜＞＞記号）の付いた破線は、矢印の向きに従って、ステレオタイプが持つ意味に従った関連を表す。また、＜＜ｔｒａｃｅ＞＞を添えた矢印付きの破線の表示は、ＰＳＭデータに含まれる構成要素と、このＰＩＭデータの構成要素との間の対応関係を表す。つまり、矢印の根元にあるＰＳＭデータの構成要素は、変換時には矢印の先にある要素を元にして生成される。図１０の例では、ＰＳＭデータ３の＜＜ｐｒｏｃｅｓｓ＞＞ＰｒｏｃｅｓｓＡｃｔｉｏｎというデータはＰＩＭデータ２の＜＜ｐｒｏｃｅｓｓ＞＞Ｐｒｏｃｅｓｓを基にして生成されることを意味する。＜＜ｕｓｅ＞＞は二つの業務コンポーネント／オブジェクトが使う又は使われるの関係にあることを表す。業務コンポーネント同士の呼び出し関係を表す場合に用いられるステレオタイプです。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
ここで、ｐｒｏｃｅｓｓＰａｃｋａｇｅ．ｘｓｌの内容の例を図１１を用いて説明する。このファイルは、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、クラスに対する変換処理内容が表されており、この例ではＳｔｒｕｔｓのＡｃｔｉｏｎクラスを継承し、ＰＩＭデータのクラス名の末尾にＡｃｔｉｏｎを追加することによりＰＩＭデータをＰＳＭデータに変換処理する旨が示されている。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｐｒｏｃｅｓｓ）からＳｅｒｖｉｃｅへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＰｒｏｃｅｓｓＡｃｔｉｏｎ）からＳｅｒｖｉｃｅＰａｃｋａｇｅへの依存関係に変換処理する旨が示されている。変換テンプレートの項目は、ＰＩＭデータであるＸＭＬファイルのうち、どの部分が変換対象であるかを示しており、この情報（タグ情報）を下に変換対象を抽出し、変換処理をするためのデータである。図１１の例では、「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、本例では、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７では変換対象を抽出することになる。本例では、「Ｃｌａｓｓ」という情報に基づいて図１２中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象であるMainFlowControl定義の範囲等の情報を抽出する。なお、図１２は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例である。この変換処理が、特許請求の範囲の「システムの機能を特定する機能識別情報を抽出し、ユーザーからの前記抽出された機能への処理要求を受け付ける機能を実現するプログラムの設計情報を生成する手段」に対応する。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
Ｓ（サービス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｓ（サービス）の変換処理は、変換エンジン２７に業務サービス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｓｅｒｖｉｃｅＰａｃｋａｇｅ）であり、これは、ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１３はサービスのＰＩＭデータとＰＳＭデータとの対応を表した図である。図の表記はＰ（プロセス）の場合と同様である。＜＜ｔｒａｃｅ＞＞を添えた矢印付きの破線の表示は、ＰＳＭデータ３に含まれる構成要素と、このＰＩＭデータ２の構成要素との間の対応関係を表す。つまり、矢印の根元にあるＰＳＭデータ３の構成要素は、変換時には矢印の先にある要素を元にして生成される。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００６３
【補正方法】変更
【補正の内容】
【００６３】
Ｅ（エンティティ）のＰＩＭデータ２からＰＳＭデータ３への変換について以下に説明する。なお、図１５はサービスのＰＩＭデータであるＸＭＬファイル中での変換処理の適用個所データを示す図である。Ｅ（エンティティ）の変換処理は、変換エンジン２７に業務エンティティ用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｅｎｔｉｔｙＰａｃｋａｇｅであり、これは、ｅｎｔｉｔｙＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることに変換エンジン２７が行う。図１６はエンティティのＰＩＭデータ２とＰＳＭデータ３との対応を表した図である。＜＜ｔｒａｃｅ＞＞を添えた矢印付きの破線の表示は、ＰＳＭデータ３に含まれる構成要素と、このＰＩＭデータ２の構成要素との間の対応関係を表す。つまり、矢印の根元にあるＰＳＭデータ３の構成要素は、変換時には矢印の先にある要素を元にして生成される。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００６７
【補正方法】変更
【補正の内容】
【００６７】
本例では、「Ｃｌａｓｓ」という情報に基づいて図１８中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象であるMembershipを定義、<<entity>>ステレオタイプを定義／Membershipを定義の範囲等の情報を抽出する。なお、図１８は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例であり、適用箇所の情報が抽出され、変換エンジン２７にて変換処理される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００６９
【補正方法】変更
【補正の内容】
【００６９】
Ｒ（ルール）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｒ（ルール）の変換処理は、変換エンジン２７に業務ルール用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｒｕｌｅＰａｃｋａｇｅであり、これは、ｒｕｌｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図１９はルールのＰＩＭデータ２とＰＳＭデータ３との対応を表した図である。＜＜ｔｒａｃｅ＞＞を添えた矢印付きの破線の表示は、ＰＳＭデータ３に含まれる構成要素と、このＰＩＭデータ２の構成要素との間の対応関係を表す。つまり、矢印の根元にあるＰＳＭデータ３の構成要素は、変換時には矢印の先にある要素を元にして生成される。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００７３
【補正方法】変更
【補正の内容】
【００７３】
本例では、「Ｃｌａｓｓ」という情報に基づいて図２１中の「ＵＭＬ：Ｃｌａｓｓ」というタグに着目して変換対象であるCheck_Authentificationを定義、<<rule>>ステレオタイプを定義／Check_Authentificationに設定の範囲等の情報を抽出する。なお、図１８及び図２１は変換対象のＰＩＭデータ２であるＸＭＬファイル中の業務プロセス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５を用いた変換処理の適用箇所部分のデータ例である。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】００７７
【補正方法】変更
【補正の内容】
【００７７】
Ｐ（プロセス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｒ（プロセス）の変換処理は、変換エンジン２７に業務ルール用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｐｒｏｃｅｓｓＰａｃｋａｇｅ＿ＷＳであり、これは、ｐｒｏｃｅｓｓＰａｃｋａｇｅ  ＷＳ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図２２はプロセスのＰＩＭデータとＰＳＭデータとの対応を表した図である。図１０に示すＳｔｒｕｔｓ向けのものと異なる部分は、＜＜ｓｅｒｖｉｃｅＰａｃｋａｇｅ＞＞ＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂが追加されている点で異なる。図２２のｐｒｏｃｅｓｓＰａｃｋａｇｅ  ＷＳ．ｘｓｌの内容の例を図２３を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、クラスに対する変換処理内容が表されており、この例ではＳｔｒｕｔｓのＡｃｔｉｏｎクラスを継承し、ＰＩＭデータのクラス名の末尾にＡｃｔｉｏｎを追加することによりＰＩＭデータをＰＳＭデータに変換処理する旨が示されている。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｐｒｏｃｅｓｓ）からＳｅｒｖｉｃｅへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＰｒｏｃｅｓｓＡｃｔｉｏｎ）からＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂへの依存関係に変換処理する旨が示されている。変換テンプレートの項目は、ＰＩＭデータであるＸＭＬファイルのうち、どの部分が変換対象であるかを示しており、この情報（タグ情報）を下に変換対象を抽出し、変換処理をするためのデータである。この例でも、「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前をＳｔｒｕｔｓ向けと同様に、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７では変換対象を抽出することになる。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
Ｓ（サービス）のＰＩＭデータからＰＳＭデータへの変換について以下に説明する。Ｓ（サービス）の変換処理は、変換エンジン２７に業務サービス用ＰＩＭデータ／ＰＳＭデータ変換用ＭＢＣデータ２５（図６の例では、＜＜ＸＳＬＴ＞＞ｓｅｒｖｉｃｅＰａｃｋａｇｅ）であり、これは、ｓｅｒｖｉｃｅＰａｃｋａｇｅ．ｘｓｌというＸＳＬＴファイルであることを意味する）が読み込まれることにより行われる。図２４はサービスのＰＩＭデータとＰＳＭデータとの対応を表した図である。図の表記はＰ（プロセス）の場合と同様である。また、＜＜ｕｓｅ＞＞は二つの業務コンポーネント／オブジェクトが使う又は使われる関係にあることを表す。業務コンポーネント同士の呼び出し関係を表す場合に用いられるステレオタイプである。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】００７９
【補正方法】変更
【補正の内容】
【００７９】
ここで、図２４のｓｅｒｖｉｃｅＰａｃｋａｇｅ＿ＷＳ．ｘｓｌの内容の例を図２５を用いて説明する。このファイルも、クラス、依存関係、変換テンプレートの項目から構成されている。クラスの項目は、この例では＜＜ｓｅｒｖｉｃｅＰａｃｋａｇｅ＞＞のステレオタイプを持つパッケージをクラスに変換し、その子要素である＜＜ｓｅｒｖｉｃｅ＞＞のステレオタイプを持つクラスを抽出し、同一のエンティティへの処理を抽出して、メソッドに変換することによりＰＩＭデータをＰＳＭデータに変換処理し、更に同種のＳｔｕｂクラスを追加する旨が示されており、変換エンジン２７に読み込まれることにより変換エンジン２７は変換処理を実行する。次に、依存関係の項目は、ＰＩＭデータのクラスデータ（本例ではクラス名：ｓｅｒｖｉｃｅ）からＥｎｔｉｔｙへの依存関係を、ＰＳＭデータのクラスデータ（本例では上記で変換されたクラス名：ＳｅｒｖｉｃｅＰａｃｋａｇｅ）からＩＥｎｔｉｔｙおよびＩＥｎｔｉｔｙＨｏｍｅへの依存関係に変換処理する旨及びＳｅｒｖｉｃｅＰａｃｋａｇｅＳｔｕｂからＳｅｒｖｉｃｅＰａｃｋａｇｅへの依存関係を追加する変換処理が示されている。変換テンプレートの項目は、図１４の例では、上記と同様「Ｍａｔｃｈ」という項目の「＝」以下が変換の対象となるＸＭＬデータのタグの名前を表しており、図２５に示す本例でもＳｔｒｕｔｓ向けの場合と同様に、「Ｃｌａｓｓ」、「Ｄｅｐｅｎｄｅｎｃｙ」というタグ情報を基に変換エンジン２７は変換対象を抽出することになる。
【手続補正１２】
【補正対象書類名】図面
【補正対象項目名】図１０
【補正方法】変更
【補正の内容】
【図１０】
2005242479.tif 000030
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図１２
【補正方法】変更
【補正の内容】
【図１２】
2005242479.tif 000031
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図１５
【補正方法】変更
【補正の内容】
【図１５】
2005242479.tif 000032
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図１８
【補正方法】変更
【補正の内容】
【図１８】
2005242479.tif 000033
【手続補正１６】
【補正対象書類名】図面
【補正対象項目名】図２１
【補正方法】変更
【補正の内容】
【図２１】
2005242479.tif 000034