模型驱动的开发——EclipseEMF与OMGMDA标准的关系有多大



我正在寻找一个新的MDA工具来尝试建模和代码生成。这还不适用于任何与工作相关的项目,而是用于测试目的。到目前为止,我只使用Merode方法(使用jMermaid进行建模和附带的代码生成器),但我想尝试一些新的方法。

由于EMF集成在Eclipse中,我看到了很多尝试它的积极理由。但在阅读了一些文档和在线文章后,我想知道它在多大程度上采用了OMG MDA标准,又有多少没有。

例如,我发现以下文本

另一方面,如果您已经接受了建模的想法,甚至模型驱动体系结构(MDA)的大局,3您应该将EMF视为一种正在朝着这个方向发展的技术,但速度比立即广泛采用要慢。你可以把EMF想象成训练轮上的MDA。

在http://www.informit.com/articles/article.aspx?p=1323360&seqNum=2

但我找不到一个简明的清单,列出OMG标准的哪些要点得到了实施,哪些要点被遗漏或解释不同。有人能帮忙吗?(如果还有其他更推荐的工具,我总是乐于接受建议。)

几乎没有关系。EMF是一个创建(元)模型的框架,具有非常基本的代码生成功能(基本上只是Java直接翻译)。EMF的目标不是成为MDA框架,而是成为其他工具可以构建更复杂解决方案的构建块(例如,查看open-suruceEclipseAcceleo工具)。

MDA只是一种哲学。它本身甚至不是一种特定的方法。MDA指南,解释MDA的OMG标准文档,只是使用OMG技术进行模型驱动开发的一套原则,但并没有更进一步(如果需要,您可能需要检查所有这些MD*缩写词之间的差异)。

因此,您可以找到遵循MDA原则的基于EMF的工具,但EMF本身并没有假装这样做

在EMF常见问题解答中,有一个问题"EMF与OMG MDA的关系是什么?"

"本质上EMF支持使用模型作为输入的关键MDA概念开发和集成工具编程语言(在Eclipse EMF本身的情况下是Java)或数据交换格式(XML)表示。"

EMF对应于简化的OMG的MOF实现(http://www.omg.org/mof/),提供了表达自定义元模型和生成java组件以实例化模型的工具。

MDA是一种特殊的模型驱动哲学,基于几种模型(CIM、PIM、PSM…),旨在提供一种从独特的功能模型(PIM)中瞄准几种技术架构(PSM)的方法。

您可以将EMF用于任何模型驱动的哲学MBE、MDE、MDD或MDA。它是允许您定义自己的元模型和模型的基本构建块。简单地说,EMF提供了模型,您可以将它用于任何模型驱动的方法,包括MDA。

最新更新