Как я могу оформить ссылку в EMF - PullRequest
1 голос
/ 27 декабря 2010

У меня есть модель ЭДС, подобная следующей:

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

Каждый раз, когда я создаю экземпляр модели EMF, мне приходится создавать драйвер в среде, а другой - в HardwareVerification, но мне нужно иметь один и тот же драйвер в обоих местах.

Например:

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

Мой вопрос: как мне это смоделировать? * Я прочитал, что для управления ссылками в EMF вы можете использовать другой EClass с атрибутом source и target .

Ответы [ 2 ]

1 голос
/ 08 марта 2011

EReferences могут быть смоделированы как ссылки сдерживания или не сдерживания.Если вы используете не содержащие ссылки, то вы можете ссылаться на тот же объект, который содержится в модели где-то еще.

Если предположить, что Среда "владеет" драйвером, то это будет ссылка на содержание.И HardwareVerification будет только «использовать» драйвер, тогда это будет ссылка на сдерживание.текстовая диаграмма «UML» может выглядеть следующим образом ( обозначает содержание, а <> не содержит ссылку.

env1 <x>-----> driver1
                        ^
                        |
h1 <>--------------
0 голосов
/ 04 января 2011

Я считаю, что ссылка, о которой вы говорите, - это EReference.

Когда вы добавляете EReference к EClass в файле ecore, вы можете указать количество элементов, используя свойство Нижняя граница и Верхняя граница EReference.

В вашем случае вы можете установить LowerBound = 1, UpperBound = -1 (бесконечно) для представления -1 - * ->

...