Могу ли я добавить ocl в ecore с помощью кода Java?

Я хочу добавить ocl в свою метамодель .ecore с кодом java. Но я не могу найти ни одного примера или учебника.

Поэтому я хочу спросить, возможно ли это или где я могу найти примеры кодов?


person gezgin    schedule 18.02.2013    source источник


Ответы (2)


Вы проверили OCLinEcore? Это позволяет встроить OCL в вашу модель ecore и редактировать ее как текст, который можно редактировать с помощью предложений синтаксической и семантической проверки и завершения.

Это отрывок из ссылки:

OCL можно встроить в Ecore с помощью аннотаций. Обслуживание этих аннотаций выполняется автоматически редактором OCLinEcore... Встроенный OCL становится активным, когда указана соответствующая функциональность делегата.

Существует три типа функций делегата:

  1. Установка делегата
  2. Вызов делегата
  3. Делегат проверки

Также существуют ограничения инвариантов.

person Vladimir Vaschenko    schedule 09.10.2015
comment
Не могли бы вы уточнить свой ответ, добавив немного больше описания решения, которое вы предоставляете? - person abarisone; 09.10.2015
comment
Нет, это часть проекта Eclipse OCL. - person Vladimir Vaschenko; 09.10.2015
comment
Когда я написал «нет», я имел в виду, что это не решение, предоставленное мной, а Eclipse. Извините за недоразумение. - person Vladimir Vaschenko; 09.10.2015
comment
Я добавил некоторые детали в свой ответ, вы можете найти дополнительную информацию, используя ссылку оттуда. - person Vladimir Vaschenko; 09.10.2015

Я вижу две альтернативы:

  1. Используйте EVL (Epsilon Validation Language), он включен в EMF (Eclipse Modeling Framework). Таким образом, вы просто щелкаете правой кнопкой мыши модель .ecore и создаете новую проверку EVL (в параметрах Epsilon). Синтаксис EVL хорошо задокументирован в книге Epsilon https://www.eclipse.org/epsilon/doc/book/.

  2. Используйте OCL напрямую. Для этого вам необходимо установить компонент OCL на EMF. Итак, если вы используете Eclipse, выберите «Справка» > «Установить компоненты моделирования» > «Найти: OCL». Проверьте полученный результат. Теперь это руководство может помочь вам http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.ocl.doc%2Fhelp%2FCompleteOCLTutorial.html.

Хотел бы я, чтобы это могло помочь.

person lmove    schedule 02.06.2014