変換構成で指定するソースは、C/C++ 開発ツール (CDT) を使用して作成されたものである必要があります。
| DCMP | C++ ソース・オブジェクト |
|---|---|
| 具象モデルをシードする概念モデル | 1 つ以上の C++ プロジェクトから、次の項目を 1 つ以上選択できます。
|
| 概念モデル駆動型開発 | |
| 調整されたモデリング | 次の項目を選択できます。
C++ プロジェクト以外の項目を選択した場合、後方変換 (UML から C++ への変換) では、変換が最初に処理する項目の C++ プロジェクトが検出されます。 後方変換では、この C++ プロジェクトに出力が生成されます。 |
変換構成エディターを使用せずに「プロジェクト・エクスプローラー」ビュー内の C++ 要素を選択する場合、変換構成で指定されたソース・プロジェクトまたは要素は、選択したソース要素によってオーバーライドされます。変換構成は影響を受けず、変換構成エディターまたは「新規変換構成」ウィザードの「ソースとターゲット」ページで指定したソースも変更されません。
有効な変換ターゲットは、UML モデル、UML モデル・ファイル、または UML モデル内のルート・レベル・パッケージです。
C++ から UML への変換のマッピング・モデルを作成することはできません。 ただし、変換構成で調整されたモデリングの DCMP を実装すると、後方変換、つまり UML から C++ への変換によって生成される出力の代替ファイル名を指定できるマッピング・モデルを作成するように、この変換を構成することができます。
C++ から UML への変換では、マッピング・モデルを使用して、変換によって生成された UML 要素の該当する名前を判別します。例えば、UML モデルには PackageA という名前のパッケージが含まれ、PackageA には Class1 という名前のクラスが含まれるとします。 UML から C++ への変換にマッピング・モデルを作成する場合、Class1 が MappedClass1 という代替ファイル名を持つように指定できます。 UML から C++ への変換を実行する場合、PackageA.MappedClass1.cpp また は PackageA.MappedClass1.h という名前の C++ ファイルが生成されます。 C++ から UML への変換を実行する場合、変換により、C++ 要素のオリジナルの UML パスが PackageA.Class1 であると判別され、PackageA という UML パッケージに Class1 という UML クラスが生成されます。
マッピング・モデルで指定する成果物のファイル名が無効な C++ ファイル名である場合、変換により C++ コード要素の作成時にそのファイルの名前が変更されます。例えば、マッピング・モデルが MappedClass1 ではなく、「Mapped Class1」という代替ファイル名を指定する場合、変換によって Mapped_Class1.cpp という名前の C++ ファイルが生成されます。変換は、これらの変更記録を保持しないので、C++ から UML への変換では、Mapped_Class1 ファイルはオリジナルの UML 要素にマップされません。この例では、C++ から UML への変換で、Mapped_Class1 C++ ソース・オブジェクトが、Class1 ではなく、Mapped_Class1 という名前の UML クラスに変換されます。
C++ から UML への変換用の構成ファイルでは、関連によって C++ 要素と UML 要素との間のリンクを定義します。 複数の C++ プロジェクトまたは UML モデルを処理する場合に、異なるプロジェクト内の C++ ソース要素と UML ターゲット要素との関連を定義する関連ファイルを作成できます。
通常、変換ソース内の C++ 要素と、変換ターゲット要素の範囲外にあるモデルに含まれる UML 要素との間の関連を定義します。 デフォルトでは、C++ から UML への変換で具象 UML ターゲット要素への参照を作成できない場合で、関連が定義されていない場合には、対応する C++ 要素へのビジュアル参照が変換によって作成されます。 要素間の関連を定義した場合、変換によって具象 UML ターゲット要素への参照が作成されますが、ビジュアル参照は作成されません。
C++ から UML への変換の関連ファイルのファイル名拡張子は .xmi です。 複数の変換構成で 1 つの関連ファイルを共有することができます。
UML 要素と C++ コード要素の間に、追跡可能な関係と呼ばれる一種のリンクが変換により定義されるよう指定して、C++ コードと UML モデル要素を容易に同期させることができます。調整されたモデリングまたは概念の設計規約管理プロトコル (DCMP) を使用するように C++ から UML への変換または UML から C++ への変換を構成している場合は、このオプションを指定できます。変換を実行すると、生成された要素に注釈および ID が追加されて、追跡可能な関係が作成されます。追跡可能な関係を生成すると、UML から C++ への変換により C++ ソース・コードで重複したコード要素が生成されることを防げます。
変換によって追跡可能な関係が生成されるのは以下の要素です。
C++ から UML への変換では、比較およびマージ機能を使用して、ターゲット・モデルと変換によって生成される一時モデルの違いを判別します。C++ から UML への変換を実行すると、マージ・エディターに 2 つのモデルの違いが表示されます。マージ・エディターのダイアログ・ボックスで、 変換でターゲット・モデルにマージする変更点を選択することができます。
変換は、ファイルの自動チェックアウトや新規ファイルの追加を可能にする IBM® Rational® Team Concert、CVS、Rational ClearCase®、および Rational ClearCase LT バージョン管理システムとの統合機能を提供します。構成管理システムを使用するには、チーム機能を有効にする必要があります。