このタスクについて
以下のコード生成セマンティクスは、コンポーネント図に適用されます。
- コード生成は、ライブラリーおよび実行可能ビルド型コンポーネントに対して行われます。
- コード生成は、フォルダーおよびファイル・コンポーネント関連メタタイプに対して行われます。
- コードは、バイナリー・コンポーネント (ライブラリーと実行可能ファイル) 間の関係についてのみ生成されます。
- コンポーネント図の以下の部分ではコード生成は行われません。
- ファイルとフォルダーに関する関係
- コンポーネントが実現するインターフェース
- ステレオタイプが «Library» および «Executable» ではない、他のすべてのコンポーネント型
- コンポーネント間の依存関係では、そのステレオタイプが «Usage» の場合にのみコードが生成されますが、以下の制約があります。
CG::Component::ComponentsSearchPath プロパティーでは、関連コンポーネントの名前を指定します。ただし、このプロパティーよりも先に依存関係がチェックされます。例えば、コンポーネント A からコンポーネント B への依存関係は、ComponentsSearchPath プロパティーに "B" を入れるのと同じです。
下図のダイアグラムを見てみましょう。
クラス C1 と C2 は互いに関係 (関連) があります。モデルには、それぞれ同じ名前の構成を持つ 2 つのコンポーネント component_1 と component_2 があります。Component_1 には、component_2 に対してステレオタイプ «Usage» の依存関係があります。クラス C1 は、component_1 のスコープ内にあります。クラス C2 は component_1 のスコープ内にはありませんが、component_2 内のファイル F1 にマッピングされています。
- 関連コンポーネント内で要素ファイル名を探します (要素がカレント・コンポーネントのスコープ内にない場合)。
例えば、component_1 を生成するときに、IBM® Rational® Rhapsody® が C2 を組み込む必要がある場合、F1 (component_2 内のファイル) を組み込みます。
- 関連コンポーネントを Make ファイル・インクルード・パスに追加します。例えば、component_1 Make ファイルでは、インクルード・パスにロケーション component_2 で新しい行が追加されます。
- カレント・コンポーネント・ビルド型が実行可能で、関連コンポーネント・ビルド型がライブラリーの場合、ライブラリーをカレント・コンポーネントのビルドに追加します。例えば、component_1 のビルド型が実行可能で、component_2 のビルド型がライブラリーの場合、component_1 Make ファイルはそのビルドに component_2 のライブラリーをインクルードします。