转自http://www.umlchina.com/News/Content/234.htm
呵呵,区别MDA工具和伪MDA工具,这个事情俺在去年就做拉:
见俺的这个blog:MOF:基于MOF的元建模工具列表
MOF就是MDA的灵魂!
相关的blog还有:
AndroMDA:是真正的MDA实现吗?
document.title="AndroMDA:是真正的MDA实现吗? - "+document.title
MDA工具列表(最新!)
document.title="[转载] MDA工具列表(最新!) - "+document.title
MDA工具分类方法:一个评价模版 |
|
|
|
[2006/2/15]
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雷达”栏目中,我们大致进行了分类,列出著名的各种工具,并提供了一个工具的评价模版。
|
分享到:
相关推荐
随着模型驱动架构(MDA)在软件设计与实施领域的日益普及,一种新的技术范式正在形成,它旨在整合不同的建模语言、工件和工具,以创建一个统一的技术空间。然而,这同时也对基于领域特定语言(DSL)的现有开发方法论...
例如,在极限编程(Extreme Programming,XP)和统一过程(Rational Unified Process,RUP)中,MDA能够提供一个灵活且可扩展的基础框架,帮助团队更高效地管理和实施软件项目。通过将MDA应用于敏捷环境中,可以确保...
模型驱动架构(Model Driven Architecture, MDA)是一种软件开发方法,它强调使用模型作为软件开发的核心,并通过一系列转换过程将高层的抽象模型转化为具体的平台实现。MDA旨在提高软件开发的效率,可重用性,并...
5. 实战案例:提供实际的MDA应用示例,展示如何从PIM到PSM的整个过程,可能包括一个简单的业务应用程序或移动应用的开发。 6. MDA的挑战和最佳实践:讨论MDA实施中可能遇到的问题,如模型的复杂性管理和维护,以及...
1. "一般外接程序(MDA)实例讲解.doc":这可能是一个详细文档,涵盖了MDA的基本概念、开发步骤、使用的技术以及如何创建和测试一个简单的MDA实例。文档可能包含代码示例,指导开发者如何使用Visual Studio创建项目...
1. 元对象设施(MOF,Meta Object Facility):MOF是OMG定义的一个标准,它是一种面向对象的元模型,用来定义其他元模型的基本元素、语法和结构。MOF允许不同元模型之间的映射和元数据的交换,为MDA提供了基础架构。...
MDA由OMG(Object Management Group)制定,其目标是提供一个标准化的框架,使开发者能够以一种独立于平台和技术的方式描述软件系统,然后自动或半自动地生成具体平台的代码。 在MDA中,模型被分为三个主要层次:...
- **构建UML IDE**:将图形系统和UML对象类库相结合,采用MVC架构,构建一个完整的UML应用环境。 #### 五、总结 本文档详细介绍了UML支持MDA开发的相关知识点,包括技术实践、管理和运营实践、UML建模工具开发...
4. **代码生成**:MDA的一个主要优点是自动化代码生成。通过PIM到PSM的转换,可以自动生成大量平台相关的代码,如数据库映射、业务逻辑和用户界面代码,从而减少了手动编码的工作量,提高了开发效率和代码质量。 5....
本文提出的基于MDA的方法为开发多智能体系统提供了一个系统化的过程。通过使用MAS-ML和UML等建模语言,并通过明确的模型转换规则,可以有效地管理和控制MAS的开发过程。这种方法不仅有助于提高系统的可维护性和可...
MDA,全称Measurement and Diagnostic Application,是INCA软件的一个重要组件,专注于车辆诊断和测量任务。本篇文章将深入探讨INCA中的MDA功能、使用场景以及与INCA版本兼容性的问题。 首先,MDA是INCA软件的核心...
模型驱动体系架构(Model-Driven Architecture,简称MDA)是由对象管理组织(Object Management Group,简称OMG)定义的一种系统开发方法。MDA提供了一种通过模型和架构来驱动整个系统(包括物理系统、组织系统和IT...
MDA则通过构建一个双中心距离矩阵,该矩阵包含了原始数据在高维空间中的相互距离,然后通过奇异值分解或其他方法将其映射到低维空间。MDA的优点在于它能够捕获非线性关系,这对于某些复杂的人脸识别任务可能更有优势...