変換

このコンテンツは、バージョン 7.5.2 以降に適用されます。変換は、 一連のソース要素を取得して、それらを一連の新しいターゲット要素に変更するための手段です。

変換は、構成したり、プラグイン・マニフェスト・ファイルに「公開」として指定したり、変換構成を使用して実行したりできる一連の変換式です。

ソース要素とターゲット要素の関係は、変換に含まれる一連の規則によって定義されます。 これらの規則の適用は、一連のソース要素のトラバース方法を指定する抽出に基づいて行われます。 変換は、より多くの情報をその規則に適用するため、プロファイルに依存している場合があります。

変換により、UML モデルからコードへの変換、コードから UML モデルへの変換、ある抽象化レベルのモデルから別の抽象化レベルのモデルへの変換を行えます。変換には、次の 4 つのカテゴリーがあります。

また、変換はパターンを実装して、フォーム間で要素 を変換することができます。

変換の最も一般的な開始点は、クラス・モデルなどのプラットフォーム独立モデル (PIM) です。 クラス・モデルには、実装の仕様書への参照が ない設計要素が含まれています。クラス・モデルの作成、変更、および注釈付けを行ってから、 変換を使用して、Java™ トピック図やコード・レベル・テキストなどの プラットフォーム固有モデル (PSM) を生成することができます。

注: PIM (モデル駆動型アーキテクチャー (MDA) およびモデル駆動型開発 (MDD) に関して、 オブジェクト管理グループ (OMG) が定義しているプロセスの主要パート) について詳しくは、 オブジェクト管理グループの Web サイトを参照してください。

パッケージ化処理の一環として、パターンは、特定のレベルの抽象化や特定のメタモデルに関与した場合に適用される追加の規則を定義する変換の拡張を、定義および提供できます。この概念の一般的な実装は、特定コード を生成する変換規則を提供する設計パターンです。これらの規則はコード変換 (例えば、Java または C++ 変換) を拡張して、 生成される出力にパターン固有のコードを提供します。

特定の変換を適用するには、次の 4 つの情報が必要です。
変換
適用される特定の変換への参照。
変換コンテキスト
変換のすべてのパラメーターの値を含みます。
ソース
変換操作に渡される開始状態オブジェクト (またはオブジェクト・セット)。
ターゲット・コンテナー
生成されたすべての成果物が配置される場所への参照。

モデル変換のごく基本的なプロセスとして、以下のステップがあります。 これらの各ステップは、繰り返し実行できます。

  1. プロファイルを、使用可能な追加ステレオタイプを 定義するモデルに適用する。
  2. これらのステレオタイプを、既存のモデル要素に 適用する。
  3. 変換に必要な基本モデルの情報のほか、これらのステレオタイプが提供する情報を、ステレオタイプ・プロパティーを介して追加する。
  4. ワークベンチから変換を選択し、変換操作を開始する。

変換が完了した結果、ターゲット・モデルまたはテキスト、および追跡を可能にするための変換レコードが生成されます。 モデルからテキストへの変換による出力は、Java コード、 C++ コード、データベースの作成およびデータ取り込み用のデータ定義言語 (DDL) ファイル、単体テスト、 または対応するモデリング図に一致した視覚化図などになります。 変換のレコードには、ソース・モデルの要素からターゲットの対応する要素へのマップが含まれています。 また、このレコードは、変換の各部分に使用されたマッピングの部分も示しています。

変換 API を使用して、変換を新規作成することが できます。変換構成を使用して構成可能な変換を作成するには、 その変換が含まれているプラグインの中の plugin.xml ファイルに com.ibm.xtools.transform.core.transformationProviders 拡張を追加する必要があります。 変換プロバイダーは、提供する各変換について「変換」タイプの拡張を定義します。 これらの拡張を追加すると、変換サービスに変換 (複数可) が自動的に登録されます。 変換サービスは汎用であり、ソース・モデル、 ターゲット・モデル、または変換自身の実装に関する 前提事項はありません。 変換サービスにはデフォルトの変換エンジンが内蔵されていますが、 変換の作成者はまったく別のエンジンを使用する ことができます。 しかし、デフォルトのエンジンで変換をビルドすること によって、変換の作成者は論理デバッグ環境、拡張性 機構、およびそのアーキテクチャーに対する将来の改善点のすべてを 利用することができます。

変換構成

変換構成は、すべての変換で使用される情報 (変換の固有の名前、ソース、ターゲットなど) を含む変換のインスタンスです。 指定された変換に固有のプロパティーを含むこともあります。 変換構成のファイル名拡張子は .tc です。変換の実行時には、変換構成で規定した情報が使用されます。

変換を実行するには、事前に変換構成を作成しておく必要があります。 変換構成を適用すると、その構成内で定義したプロパティーを使用して変換のインスタンスが作成および実行され、 期待どおりの出力が生成されます。

プログラムにより階層関係を構築することで、変換構成のプロパティーを、他の変換構成と共有できます。 このフィーチャーにより変換構成は、デフォルトの変換構成のプロパティーからプロパティー値を継承できるようになります。 変換構成は、複数の親を持つことができます。複数の構成が同じプロパティーを指定した場合には、パブリック API を使用して関係を指定した順が、構成の優先順位となります。 そのため、デフォルトのプロパティー・セットが変更されると、そのプロパティー・セットを使用している、システム内のすべての変換構成が変更を継承します。


フィードバック