我想将一个基于XTextJava5元模型的模型(采用XMI格式)转换为另一个基于我使用JaMoPP创建的基本C++元模型的模型(同样采用XMI格式)。经过一些研究,我发现了两个用于模型到模型转换的工具: ATL和QVT。
两者之间的主要区别是什么?使用其中一个而不是另一个的一些原因是什么?
发布于 2014-12-09 01:09:35
使用/选择模型转换语言与使用通用语言(GPL)相同:自己的偏好和背景。与GPLs一样,一些转换语言可能更适合您的编程风格,或者在您的特定领域表现出更好的性能。它可能归结为仅支持您的建模技术的组合(例如,您的模型是csv文件)。此外,与GPLs相反,建模语言还很年轻,因此在挑选时的一个重要问题是工具支持和语言的未来发展。
顺便说一句,让我提醒您,QVT规范实际上定义了三种语言: QVTr、QVTc和QVTo。
QVTr和QVTc都是声明性的,而QVTo是命令式的(尽管ATL允许一些混合的描述)。其他的转型语言可以归类为手风琴,应该是一个重要的决策点。此外,当前对QVTr的工具支持是有限的,并且不存在于QVTc。我建议多读一些关于它们的文章,也许还包括其他语言,如Epsilon的ETL,Kermeta等,并根据您的需要进行选择。
https://stackoverflow.com/questions/24055973
复制相似问题