2010-12-26 3 views
1

内のリンク設計することができます:どのように私は次のようなEMFモデルを持っているEMF

HardwareVerification -1-*-> Driver 
HardwareVerification -0-*-> Environment 
Environment -1-1-> Driver 

私は環境にドライバを作成する必要がありますと、別のEMFモデルのインスタンスを作成するたびにHardwareVerificationでは、私が必要なのは、両方の場所で同じドライバを持つことです。例えば

h1 -> driver 1 
h1 -> env1 
env1 -> driver1 

私の質問は:どのように私はこれをモデル化する必要がありますか? * EMFでリンクを管理するには、ソースターゲット属性を持つ別のEClassを使用することができます。

答えて

1

EReferencesが封じ込めまたは非包含参照としてモデル化することができます。非包含参照を使用する場合は、他の場所のモデルに含まれる同じオブジェクトを参照できます。

環境がドライバを「所有している」と仮定すると、それが包含参照になります。 そして、HardwareVerificationはドライバを "使用する"だけで、それは非包含参照になります。テキストの「UML」ダイアグラムは、このように見えます(< x>は包含を示し、<>非包含参照を示します)。

env1 <x>-----> driver1 
         ^
         | 
h1 <>-------------- 
0

あなたが話しているリンクはEReferenceだと思います。

ecoreファイルのEClassにEReferenceを追加する場合、EReferenceのLower BoundとUpper Boundプロパティを使用してカーディナリティを指定できます。あなたのケースでは

、あなたは下界= 1、は、UpperBound = -1(無限)を表現するために-1を設定することができます - * - >

関連する問題