2

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

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

例如我发现以下文字

另一方面,如果您已经接受了建模的想法,甚至是模型驱动架构 (MDA) 的大图,3 您应该将 EMF 视为一种正在朝这个方向发展的技术,但比直接来得慢广泛采用。您可以将 EMF 视为辅助轮上的 MDA。

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

但是我无法找到一份简明的清单,说明 OMG 标准的哪些要点得到了实施,哪些要点被遗漏或解释不同。任何人都可以帮忙吗?(如果有其他更推荐的工具,我总是愿意接受建议。)

4

3 回答 3

2

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

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

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

于 2013-02-18T20:22:44.283 回答
1

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

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

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

于 2018-04-20T10:00:17.793 回答
0

在 EMF FAQ 中有一个问题“EMF 与 OMG MDA 有什么关系?” 哪个国家

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

于 2015-10-08T13:47:47.680 回答