如何在EMF中设计链接

时间:2010-12-26 21:10:48

标签: eclipse-emf

我有一个类似下一个的EMF模型:

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

每当我创建EMF模型的实例时,我必须在环境中创建一个驱动程序,而另一个在HardwareVerification中创建,但我需要的是在两个地方都有相同的驱动程序。

例如:

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

我的问题是:我应该如何建模?   *我读到要管理EMF中的链接,您可以使用另一个带有目标属性的EClass。

2 个答案:

答案 0 :(得分:1)

可以将EReferences建模为包含或非包含引用。如果使用非包含引用,则可以引用模型中包含的相同对象。

假设环境“拥有”驱动程序,那么这将是包含引用。 并且HardwareVerification只会“使用”驱动程序,那么这将是非包含引用。文本“UML”图可能如下所示(< x>表示包含,<>非包含引用。

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

答案 1 :(得分:0)

我相信您所谈论的链接是EReference。

在ecore文件中向EClass添加EReference时,可以使用EReference的下限和上限属性指定基数。

在您的情况下,您可以设置LowerBound = 1,UpperBound = -1(无限)来表示-1 - * - &gt;