MDA现在是OMG的大儿子,提供了从传统软件开发到基于可重用的模型驱动架构的方法学的转变。其中引入了标准的建模规约,提供了高效的建模技术,为各种不同的企业领域进行建模;提供了转换技术,将一种类型的模型转换为另一种类型;提供了映射(mapping)技术,从模型生成实现代码。MDA基于模型的多个层次,MDA工具在MDA在企业的成功应用中担当着重要的角色。这里给出工具的分类方式,以及一个工具的评价模版,以帮助我们区分真正好的工具和打着MDA幌子的那些,同时,这对于所有工具开发商来说也是一个有用的指南。
介绍
自从MDA规约在2003年6月发布以来,开发商们已经提供了好几个支持工具。但是,只有很少的公司真正理解了MDA的概念。JAX杂志的作者Soumen
Chatterjee是这么认为的,在每周的“MDA 雷达”栏目中,他调查了这些工具的成熟度,当前MDA的路线,以及企业架构中MDA的效率。这个专栏同样致力于为MDA的推广提供直接的建议。这些MDA工具是最终将MDA推向成功的重要基石。在这个专栏中,我们努力为开发商提供有用的指南。这里给出工具的分类方式,以及一个工具的评价模版。
MDA工具分类
“从产品的角度来看,MDA是通过工具或者工具链来实施的,开发商们将建模和开发继承到一个环境中,驱动一个程序从PIM到PSM,然后代码生成到各种语言和配置文件。有几个开发商已经提供了这个层次上的集成支持工具,包括切实的代码生成功能。”[OMG
FAQ] ,但是,很奇怪的是,IDE,UML工具和MDA工具之间的界限开始消失。有时候,行业用“符合MDA(MDA Compliant)”来标榜各种工具,甚至有时候,“模型驱动开发(“model
driven development)的”工具和MDA工具混淆在了一起。因此,很多作为MDA工具销售的产品实际上并不是的。就好比很通常的一个现象,为了“A”目的研制的药最后有治疗“B”的良好的副作用,结果作用被宣传为治疗“B”的药物卖得不错了。MDA工具也不例外。
MDA最基本的想法是将应用架构分解为三类模型:CIM、PIM和PSM。但是一个常见的误解就是代码生成工具被当作为了MDA工具,实用中这些工具是有助于MDA过程的,但这并不代表它就是MDA工具。
我们进行工具分类的主要目的是帮助大家理解目前市场上有的MDA工具的类型,以及它们和MDA规范的符合程度,并提供一个比较。
MDA工具可以分为以下6类:
1. 基于MDA规范的模型生成工具(MDA Specification based Model Generation Tools)
2. 模型转换工具(Model Transformation Tools)
3. 模型仓库(Model Repository)
4. 模型生成框架(Model Generation framework)
5. UML工具(UML Tool)
6. 基于MDA开发的支持工具(MDA based development support tools)
MDA工具有商用的也有开源的,表1列出了目前MDA社区的各个工具,按照以上列表分别列出。
2.我们的另一个任务是基于OMG的MDA规范,创建一个MDA工具的评价模版。见表2。
总结
MDA有助于软件开发过程、生命周期和架构机制的改进。引入基于MDA的软件开发将为当前的软件开发方法带来众多好处。MDA可以被理解为“建模一次,到处重用Model
Once and Reuse Elsewhere (MORE)”的建模策略,致力于企业问题域的抽象。而工具构成了MDA的主要部分。本期“MDA雷达”栏目中,我们大致进行了分类,列出著名的各种工具,并提供了一个工具的评价模版。
|