我正在寻找一种新的MDA工具来尝试建模和代码生成。这不适用于任何与工作相关的项目,但用于测试目的。直到现在我才使用Merode方法(使用jMermaid进行建模和伴随的代码生成器)但是想尝试新的东西。
由于EMF集成在Eclipse中,我认为有很多积极的理由可以尝试。但在阅读了一些文档和在线文章之后,我想知道它采用了多少OMG MDA标准以及它没有多少。
例如,我找到了以下文字
另一方面,如果你已经接受了建模的想法,甚至模型驱动架构(MDA)的大图3,你应该把EMF看作是朝这个方向发展的技术,但更多缓慢而不是立即广泛采用。您可以将EMF视为训练轮上的MDA。
on http://www.informit.com/articles/article.aspx?p=1323360&seqNum=2
但是,我无法找到一份简明的清单,列出了OMG标准的哪些要点已经实施,哪些要求被忽略或解释不同。有人可以帮忙吗? (如果还有其他更多推荐的工具,我总是乐于接受建议。)
答案 0 :(得分:2)
关系很少。 EMF是一个用于创建(元)模型的框架,具有非常基本的代码生成功能(基本上只是Java直接翻译)。 EMF的目标不是成为MDA框架,而是成为构建模块,其他工具可以构建更复杂的解决方案(例如,检查开放式的Eclipse Acceleo工具)。
MDA只是一种哲学。它本身甚至不是一种特定的方法。 MDA指南,即解释MDA的OMG标准文档,只是使用OMG技术进行模型驱动开发的一套原则,但没有更进一步(如果需要,您可能需要检查difference between all these MD* acronyms)。
因此,您可以找到遵循MDA原则的基于EMF的工具,但EMF本身并没有假装这样做。
答案 1 :(得分:1)
您可以将EMF用于任何模型驱动的哲学MBE,MDE,MDD或MDA。它是基本构建块,允许您定义自己的元模型和模型。简单地说,EMF提供模型,您可以将它用于任何模型驱动的方法,包括MDA。
答案 2 :(得分:0)
在EMF常见问题中,有问题"What is the relationship of EMF to OMG MDA?"表示
"基本上EMF 支持使用模型作为输入的关键MDA概念 开发和集成工具,产生多个 编程语言(Eclipse EMF本身的Java)或数据 交换格式(XML)表示。"