< 前へ | 次へ >

演習 3: クラス間マッピング宣言の作成と詳細化

この演習では、入力および出力オブジェクトとして UML クラスを指定するマッピング宣言の作成方法を説明します。 このクラス間マッピング宣言には、生成済み変換をユーザーが実行するときに、クラスおよびその操作のコピーをソース・モデルに作成し、そのコピーをターゲット・モデルに置くマッピング規則が含まれています。 また、クラス間マッピング宣言のサブマップが呼び出す、操作間マッピング宣言も作成されます。
マッピング宣言 (マップともいう) は、 指定の入力オブジェクトに対する出力オブジェクトを作成または更新する方法を指定します。 変換を作成する場合は、マッピング宣言を使用して、 入力オブジェクトの属性と出力オブジェクトの属性を対応させる方法を指定できます。 各マッピング宣言は、 ユーザーがマッピング・モデルに追加するメタモデルから選択する、入力タイプと出力タイプを指定します。

マッピング・モデル内のそれぞれのマッピング宣言について、変換オーサリング・フレームワークは nTransform.java という名前を持つ Java™ ソース・ファイルを生成します (n はマッピング宣言の名前を表します)。 これらの Java ファイルがまとまって、変換コードを構成します。 変換オーサリング・フレームワークは、変換のための実装コードを生成するほかに、 変換を変換サービスに登録するためのコードも生成します。 ユーザーはマッピング宣言を作成した後で、徐々にマッピング規則を追加し、マッピング規則のソース・コードや実装を生成することができます。 ソース・コードを生成する前にすべてのマッピング規則を定義する必要はありません。

一般に、マッピング宣言は、x2y という命名規則に従います。 この場合、x は入力オブジェクト・タイプを、y は出力オブジェクト・タイプを表します。 例えば、Package2EPackage という名前のマッピング宣言は、 入力オブジェクトが Package で、出力オブジェクトが EPackage であるマッピング宣言を指定します。

要素間のマップにより、要素の属性間に対応関係が設定され、 これにより、それら要素間でのデータ交換が可能になります。 たいていの場合、マップにより、ソースとターゲットの間でデータをより詳細に操作する機能が提供されます。 例えば、計算を指定するようにしたり、カスタム・コードを作成してデータにその他の変更を加えたりして、 ターゲットに値を割り当てることができます。

マッピング・モデルにクラス間マッピング宣言を作成するには、以下のとおりに実行します。

  1. マッピング・モデルがまだ開いていない場合は、「パッケージ・エクスプローラー」ビューで、model フォルダー内の .mapping ファイルをダブルクリックします。
  2. 変換マッピング・エディターの「マッピング・ルート」セクションで、「Generalize_Classes」を右クリックしてから「マップの作成」をクリックします。
  3. 新規マップ」ウィンドウの「マップ名」フィールドに、Class2Class と入力し、「OK」をクリックします。 「アウトライン」ビューにマップが表示され、「マッピング・ルート」セクションの下のエディター・エリアで開きます。