Насколько Eclipse EMF относится к стандарту OMG MDA?
Я ищу новый инструмент MDA для моделирования и генерации кода. Это не для какого-либо проекта, связанного с работой, но для целей тестирования. До сих пор я использовал только подход Merode (используя jMermaid для моделирования и соответствующий генератор кода), но хочу попробовать что-то новое.
Поскольку EMF интегрирован в Eclipse, я вижу много положительных причин попробовать его. Но после прочтения некоторой документации и онлайн-статей мне стало интересно, насколько он принимает стандарты OMG MDA, а сколько нет.
Например, я нашел следующий текст
Если, с другой стороны, вы уже увлеклись идеей моделирования и даже общей картиной Model Driven Architecture (MDA) 3, вам следует рассматривать EMF как технологию, которая движется в этом направлении, но медленнее, чем немедленно широкое распространение. Вы можете думать об EMF как о MDA на тренировочных колесах.
на http://www.informit.com/articles/article.aspx?p=1323360&seqNum=2
Но я нигде не могу найти краткий список того, какие пункты стандарта OMG реализованы, а какие опущены или интерпретированы по-разному. Кто-нибудь, кто может помочь с этим? (И если есть другие, более рекомендуемые инструменты, я всегда открыт для предложений.)
3 ответа
Здесь очень мало отношений. EMF - это структура для создания (мета) моделей с очень простыми возможностями генерации кода (в основном только с прямым переводом Java). Цель EMF состоит не в том, чтобы быть платформой MDA, а в том, чтобы быть структурным элементом, на основе которого другие инструменты могут создавать более сложные решения (например, проверить инструмент Eclipse Acceleo с открытым кодом).
А MDA - это просто философия. Сам по себе это даже не конкретный метод. Руководство по MDA, стандартный документ OMG, объясняющий MDA, представляет собой просто набор принципов для разработки на основе моделей с использованием технологий OMG, но не идет дальше этого (при необходимости вы можете проверить разницу между всеми этими аббревиатурами MD *).
Таким образом, вы можете найти инструменты на основе EMF, которые следуют принципам MDA, но EMF как таковая не претендует на это.
EMF соответствует упрощенной реализации MOF OMG ( http://www.omg.org/mof/), предоставляя средства для выражения пользовательских метамоделей и создания компонентов Java для создания экземпляров моделей.
MDA - это особая философия, основанная на моделях, основанная на нескольких типах моделей (CIM, PIM, PSM...) и направленная на то, чтобы предоставить способ нацеливания на несколько технических архитектур (PSM) из уникальной функциональной модели (PIM).
Вы можете использовать EMF для любой философии, основанной на моделях MBE, MDE, MDD или MDA. Это фундаментальный строительный блок, который позволяет вам определять ваши собственные метамодели и модели. Проще говоря, EMF предоставляет модели, и вы можете использовать их для любого подхода, основанного на моделях, включая MDA.
В EMF FAQ есть вопрос "Какова связь EMF с OMG MDA?" в котором говорится
"По сути, EMF поддерживает ключевую концепцию MDA, заключающуюся в использовании моделей в качестве входных данных для инструментов разработки и интеграции, которые создают представления на нескольких языках программирования (Java в случае самой Eclipse EMF) или представления формата обмена данными (XML)".