変換 は、要素のソース・ セットを取り込み、要素の新規ターゲット・セットに変更する 機構です。Rational® XDE® でのコード - モデル間の同期のように、変換することで、モデルからコードを生成 することができます。ただし、変換は カスタマイズ可能で、その実行内容において同期より 強力です。
ソース要素とターゲット要素の関係は、変換に 含まれるルールのセットによって定義されています。 これらのルールの実行は、要素のソース・セットの トラバース方法を理解するルール・セットに基づいています。 変換は、そのルールにより多くの情報を適用するためにプロファイルに依存している場合があります。
変換 (およびパターン) によって、UML モデルと コードの間、および異なる抽象化レベルのモデル間の溝を 埋めることができます。変換の一部を以下に示します。
また、変換はパターンを実装して、フォーム間で要素 を変換することができます。製品にインストールされた 変換は 、Software Architect および Systems Developer のコマンドで使用可能です。
最も一般的な変換の開始点は、 クラス・モデルなどのプラットフォーム独立モデル (PIM) です。 クラス・モデルには、実装の仕様書への参照が ない設計要素が含まれています。クラス・モデルの生成、 変更、および注釈付けを実行して、変換を使用し、PSM (Java™ トピック図など のプラットフォーム特化モデル) またはコード・レベル・ テキストを生成することができます。
パッケージ化の一部として、パターンは、固有の レベルの抽象化または固有のメタモデルを交差する場合に 実行される追加ルールを定義する、変換の拡張を定義して提供 することもできます。この概念の一般的な実装は、特定コード を生成する変換ルールを提供する設計パターンです。 これらのルールはコード変換 (例えば 、Java または C++ 変換) を拡張して、生成される出力にパターン 固有のコードを提供することになります。
特定の変換を適用するには、以下の 4 つの情報が 必要です。
モデル変換の基本プロセスには、以下のステップが あります。
変換が完了した結果、ターゲット・モデルまたは テキスト、および追跡の目的のための変換のレコードが 生成されます。モデルからテキストへの変換では、その出力は、 Java または C++ コード、データベース作成および取り込み用の DDL ファイル、単体テスト、または対応するモデル図に一致 する可視化図になります。変換のレコードには、ソース ・モデルの要素からターゲットの対応する要素への マップが含まれています。このマップは、マッピングの どの部分が変換の各部分に使用されたかを示しています。
変換 API を使用して、変換を新規作成することが できます。変換サービスは汎用であり、ソース・モデル、 ターゲット・モデル、または変換自身の実装に関する 前提事項はありません。 変換サービスにはデフォルトの変換エンジンが内蔵されていますが、 変換の作成者はまったく別のエンジンを使用する ことができます。 しかし、デフォルトのエンジンで変換をビルドすること によって、変換の作成者は論理デバッグ環境、拡張性 機構、およびそのアーキテクチャーに対する将来の改善点のすべてを 利用することができます。