相互参照

<< 目次を表示 >>

ページ位置:  Enterprise Architectの操作 > パッケージ > MDAスタイルの変換 > モデル変換テンプレートの記述 >

相互参照

相互参照は変換の重要な要素となります。例えば、次のようにして利用されます。

 

個々の相互参照は、3つの異なる部分から構成されます。

 

変換のためのテンプレートを作成する場合には、TRANSFORM_REFERENCEマクロを利用して相互参照を作成するのが最も簡単です。

 

TRANSFORM_REFERENCE(<name>, <sourceGuid>, <namespace>)

 

このマクロの引数はいずれも省略可能です。このマクロは、以下の内容を中間言語として生成します。

 

XRef{namespace="<namespace>" name="<name>" source="<sourceGuid>"}

 

 

この相互参照を定義する必要がある場合は、変換で生成された要素間に接続を作成する場合です。

 

相互参照のよい例は、Enterprise Architectに組み込まれているDDLのテンプレートです。Classのテンプレートには相互参照が利用されています。この変換を実行すると、最大で2つの異なる接続が作成されます。これらの接続は相互参照の情報を元に、対象の要素間に適切に作成されます。

 

 

分類子の指定

オブジェクト・属性・操作の戻り値・操作の引数(パラメータ)は、型として他の要素を参照している場合があります。この型となる要素も変換によって生成される場合には、TRANSFORM_CLASSIFIERマクロを利用する必要があります。

 

TRANSFORM_CLASSIFIER(<name>, <sourceGuid>, <namespace>)

 

このマクロにより、型となる要素との間に相互参照を作成します。このマクロの引数はTRANSFORM_REFERENCEマクロと同じですが、生成され[連絡]ル中間言語では、XRefではなくClassifierが生成されます。

 

型となる要素が変換前にモデル内にすでに存在する場合(変換対象ではない場合)には、TRANSFORM_CLASSIFIER を利用することは適切ではありません。対象の要素のGUIDをclassifierとして直接指定して下さい。

 

classifierが中間言語内で指定された場合、typeとして設定された内容は無視されます。

 

 

参照: