#eclipse-emf #ecore
Вопрос:
Есть 2 модели ecore с ЭДС. lang.ecore
По имени export.ecore
И. Они в общем-то такие же, как. Но export.ecore
в некоторых аспектах это немного урезано, и некоторые элементы имеют несколько иную семантику.
Теперь у меня есть загруженная модель lang
в памяти, и я хочу создать export
дерево объектов, только в памяти.
- сопоставление одинаковых элементов
- повторно создайте ссылки в модели экспорта
- настройка различных объектов
Есть ли способ сделать это эффективно, избегая при этом слишком много повторяющегося кодирования?
Ответ №1:
Вероятно, вы могли бы начать преобразование с шага, основанного на рефлексивных API, чтобы «воссоздать» исходную модель в целевую модель, которая «в основном похожа» только на основе имен ваших типов и их функций.
Однако, если ваши метамодели не настолько велики, я не уверен, что вы выиграете много времени за цену ясности/отладки.
Более того, вы хотите рассмотреть, останутся ли ваши две метамодели «в целом похожими», или есть вероятность, что они будут развиваться по-разному, или если ваше отображение потребует от вас отклониться от этого пути.