1

私は次のようなEMFモデルを持っています:

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

EMFモデルのインスタンスを作成するたびに、環境内にドライバーを作成し、HardwareVerificationに別のドライバーを作成する必要がありますが、必要なのは、両方の場所に同じドライバーを配置することです。

例えば:

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

私の質問は、これをどのようにモデル化する必要があるかということです。* EMFでリンクを管理するには、 source属性とtarget属性を持つ別のEClassを使用できることを読みました。

4

2 に答える 2

1

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

環境がドライバーを「所有」していると仮定すると、それが包含参照になります。そして、HardwareVerificationはドライバーのみを「使用」し、それが非封じ込め参照になります。テキストの「UML」図は次のようになります(<x>は包含を示し、<>は非包含参照を示します。

env1 <x>-----> driver1
                        ^
                        |
h1 <>--------------
于 2011-03-07T21:21:06.467 に答える
0

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

ecoreファイルのEClassにEReferenceを追加する場合、EReferenceのLowerBoundプロパティとUpperBoundプロパティを使用してカーディナリティを指定できます。

あなたの場合、LowerBound = 1、UpperBound = -1(無限)を設定して、-1-*->を表すことができます。

于 2011-01-04T08:57:57.493 に答える