Ecore, genmodel и OCL - PullRequest
       50

Ecore, genmodel и OCL

2 голосов
/ 31 марта 2011

Я определяю метамодель предметно-ориентированного языка моделирования с помощью Ecore в EMF. Поэтому я создаю редактор из связанной генмодели, которую я могу использовать для создания моделей, соответствующих метамодели. Я хотел бы указать некоторые ограничения OCL для значений, которые могут принимать некоторые элементы метамодели. Было бы очень хорошо, если бы я мог указать эти ограничения в модели Ecore и иметь соответствующие проверки автоматически сгенерированного редактора Java-кода.

Есть ли стандартный способ сделать это?

Ответы [ 2 ]

1 голос
/ 24 октября 2013

Первый шаг - решить, как вы хотите добавить ограничения к своей (мета) модели ecore. На данный момент я знаю, что есть два способа:

1 - с вложенными в аннотации элементами модели ecore выражениями ocl.

2 - наличие выражений OCL в отдельном файле рядом с ecore.

Для получения дополнительной информации о первом подходе посмотрите OCLInEcore , а во втором - OCLComplete . Похоже, что они предоставляют некоторый API для проверки ограничения OCL для данных моделей (проверка соответствия).

Для вашей цели кажется, что OCLInEcore подходит. Вы можете встроить свой ocl в ecore и использовать API, предоставленный OCLInEcore, чтобы проверить, удовлетворяет ли данная модель ограничениям ocl.

Надеюсь, это поможет.

1 голос
/ 08 августа 2012

Вы должны взглянуть на недавнюю работу проекта OCL в Eclipse с "OCL in Ecore" или вы можете попробовать другой способ интеграции OCL с Ecore, указанным в Документация OCL Juno .

...