Эволюция метамодели в рамках моделирования Eclipse
-
20-08-2019 - |
Вопрос
Я предпринимаю попытку оценить EMF для использования в рамках проекта.Одна из вещей, на которые я смотрю, - это своего рода поддержка управления версиями на уровне метамодели (M2 или модели .ecore).
Что касается эволюции метамодели, я прочитал определенные обсуждения и наткнулись на этот документ.Однако я хотел знать, есть ли что-то конкретное в этом направлении, что происходит в рамках EMF.
В целом, каков уровень поддержки функций, связанных с управлением версиями - таких как слияние и сравнение, эволюция, миграция, одновременное существование нескольких версий и т.д.Я понимаю, что само фактическое управление версиями будет обеспечиваться системой управления версиями, которую можно было бы использовать для хранения этих метамоделей, однако возможности семантического управления версиями (такие, как те, которые я упомянул выше) должны предоставляться самим EMF, верно?
Мне известно о некоторых инициативах, таких как Сравнение ЭДС и Временность которые предназначены для моделей EMF.Я не уверен, работают ли они на уровне метамодели.
Решение
Я работаю над эволюцией метамодели в своей докторской диссертации.Чтобы показать применимость моих идей, я разработал инструментальную поддержку эволюции метамодели в EMF, который называется COPE.На Веб-сайт, вы можете получить доступ к ряду публикаций о COPE, а также загрузить сам инструмент.Кроме того, в настоящее время я предлагаю проект вносить свой вклад в борьбу с ЭДС.
Другие советы
В общем, каждый инструмент, который работает с Ecore Модели будет работать с Ecore метамодели кроме того, поскольку метамодель Ecore - это Ecore.(Потратьте некоторое время, чтобы осознать это, я знаю, что должен был ...)
Я успешно использовал EMF Compare с моей метамоделью Ecore, не знаю о других инструментах, которые вы упомянули.