Выбор между ATL и QVT для преобразования модели в модель

Я хочу преобразовать модель (в формате XMI), основанную на метамодели JaMoPP Java 5, в другую модель (также в формате XMI), основанную на базовой метамодели C++, которую я создал с помощью Xtext. После некоторых исследований я нашел два инструмента для преобразования Модель-Модель: ATL и QVT.

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

1 ответ

Использование / выбор языка преобразования модели аналогично использованию языка общего назначения (GPL): собственные предпочтения и фон. Как и в случае GPL, некоторые языки преобразования, вероятно, будут лучше соответствовать вашему стилю программирования или демонстрировать лучшую производительность для вашего конкретного домена. Информационные технологии могут сводиться только к той паре, которая поддерживает вашу технологию моделирования (например, ваши модели представляют собой CSV-файлы). Кроме того, в отличие от GPL, языки моделирования довольно молоды, и поэтому важным вопросом при выборе является поддержка инструментов и, возможно, развитие языка в будущем.

Напомним, что напомню, что спецификация QVT на самом деле определяет три языка: QVTr, QVTc и QVTo.

ATL, QVTr и QVTc являются декларативными, тогда как QVTo является обязательным (хотя ATL допускает несколько смешанных описаний). Другие трансформационные языки могут быть классифицированы в соответствии с этим и должны быть важным моментом принятия решения. Кроме того, текущая поддержка инструментов для QVTr ограничена и отсутствует для QVTc. Я бы рекомендовал почитать о них немного больше, возможно, в рамках других языков, таких как ETL, Kermeta и т. Д. Epsilon, и в зависимости от ваших потребностей сделать выбор.

Другие вопросы по тегам