Я хочу добавить ocl в свою метамодель .ecore с кодом java. Но я не могу найти ни одного примера или учебника.
Поэтому я хочу спросить, возможно ли это или где я могу найти примеры кодов?
Я хочу добавить ocl в свою метамодель .ecore с кодом java. Но я не могу найти ни одного примера или учебника.
Поэтому я хочу спросить, возможно ли это или где я могу найти примеры кодов?
Вы проверили OCLinEcore? Это позволяет встроить OCL в вашу модель ecore и редактировать ее как текст, который можно редактировать с помощью предложений синтаксической и семантической проверки и завершения.
Это отрывок из ссылки:
OCL можно встроить в Ecore с помощью аннотаций. Обслуживание этих аннотаций выполняется автоматически редактором OCLinEcore... Встроенный OCL становится активным, когда указана соответствующая функциональность делегата.
Существует три типа функций делегата:
Также существуют ограничения инвариантов.
Я вижу две альтернативы:
Используйте EVL (Epsilon Validation Language), он включен в EMF (Eclipse Modeling Framework). Таким образом, вы просто щелкаете правой кнопкой мыши модель .ecore и создаете новую проверку EVL (в параметрах Epsilon). Синтаксис EVL хорошо задокументирован в книге Epsilon https://www.eclipse.org/epsilon/doc/book/.
Используйте OCL напрямую. Для этого вам необходимо установить компонент OCL на EMF. Итак, если вы используете Eclipse, выберите «Справка» > «Установить компоненты моделирования» > «Найти: OCL». Проверьте полученный результат. Теперь это руководство может помочь вам http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.ocl.doc%2Fhelp%2FCompleteOCLTutorial.html.
Хотел бы я, чтобы это могло помочь.