信息产业培训网

UML/MDA技术研究

http://www.miiceic.org.cn   2007-7-19 15:28:49   中程在线   浏览数:
关键字:MDA
概念之争:什么是MDA

日前和IBM大牛谈到什么是MDA,有所感,记录下来吧。

如果说到MDA最正宗的定义,当然是来自www.omg.org/mda(图片贴不上来
 
其中说的是,MDA是为应对业务和技术的变化提供的一种开放的、中立的开发方法。
然后说到了MDA的目的:将业务/程序逻辑与底层平台技术分离开来,这是为了保护软件开发投资方的利益。
但如何实现这一点呢?其实说得也有够清楚了,基于OMG提供的各种标准。这些核心标准包括:UML、MOF、XMI、CWM等(其实现在很重要的标准QVT应该纳入其中,QVT正在制定中)。

其它很多地方谈到的MDA的定义,包括说它是一个方法论什么的也有,很多是从MDA的目的去说,包括:
MDA的目标是模型的可执行。
MDA是使模型成为开发的核心工件。
……
这些都没错。

IMHO,我觉得MDA的定义,或者说Model Driven的定义可以分为两种:
1)广义的模型驱动:按目的来看,凡是在模型自动生成代码、模型可执行、以模型为中心的开发方面的工作,都可以说是模型驱动的。
在这个定义下,微软的VSTS是模型驱动的,不论它是否支持UML标准,或者用什么形式来支持OMG的标准。国内的KCOM (::URL::http://www.kcomsoft.com)  也是模型驱动的……
2)狭义的模型驱动:从实施的方法来看,狭义的模型驱动是指基于OMG制定的这一系列标准所做的工作。这里,核心的概念有两个:four-layered model architecture和MOF。四层模型结构以MOF为基础以一致的形式管理各种元模型和模型,并且为这些元模型和模型提供了各种模型操作的标准:如XMI、JMI、QVT等。根据统一定义的标准,有专门的厂商或开源组织去开发这些标准的执行引擎。这样MDA应用的开发中需要进行模型存储、数据交换、模型转换的地方都可以直接使用这些引擎,而不用自己去大包大揽。这其实就是标准化带来的好处,也是OMG这样一个标准化组织该干的事情。
从这个意义来说,我认为MDA包括了OMG对模型和元模型的基于MOF的统一管理,以及提供的各方面的模型操作标准。
这个定义下的MDA工具和应用目前也有不少,如Eclipse下的GMT、还有OptimalJ等……,::URL::http://www.modelbased.net/列出了不少。

按照这个狭义的定义得到的MDA,并不是一定要用在模型可执行等前面所说的那几个目的上,同样可以用在其它领域、其它目的上。
按前面所说,标准化带来的MDA给模型操作带来的诸多好处,涉及模型操作的很多应用都可以从中收益良多。例如MDA在MIC(Model Integrated Computing)、MDA在过程建模领域(法国Nante大学的Jean教授有好几篇论文)的应用。那么这些算不算MDA?笑……
其实概念之争没有太大意义,关键是希望从这些辨别中产生更多的想法和加深理解。
如果对我的看法有不同意见,欢迎来信和我讨论:yuandafeng at gmail.com。
来源:blogcn
相关连接
最新评论
*以下网友发言不代表中程在线网站的观点和看法
    我要评论

    请您注意
    1、遵守中华人民共和国的各项有关法律规定
    2、承担一切因您的行为而导致的法律责任
    3、本网留言管理人员有权删除其管辖留言内容
    4、您在本网的留言本网有权在网站内转载和引用
    5、参与本留言即表明您已经阅读并接受上述条款
    我爱研发网中电华信阿里西西JAVA爱好者北京英才网全球大学查询网
    中国人的网站导航中国电脑论坛信息产业部新浪科技搜狐IT信息产业部电子教育与考试中心
    IT世界网软件项目交易网中国软件交易网国信培训网亚远景科技....[更多]
    关于我们 | 网站地图 | 周边住宿 | 行车路线 | 联系我们 | 网站律师 | 意见反馈 | 虚位以待 | 友情链接
    中程在线(北京)科技有限公司 版权所有
    总 部:北京市海淀区青东商务楼A座西四层
    企业培训部:010-52636110 52636106 就业培训部:010-68716925 68716926
    邮 件:training@miiceic.org.cn
    京ICP备06053134号
    Copyright © 2005-2008 Miiceic.org.cn All Rights Reserved