• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

如何建模:ODM、CIM及模型驱动的层次

发布: 2008-8-06 15:25 | 作者: cher | 来源: Sawin系统分析之窗 | 查看: 17次 | 进入软件测试论坛讨论

领测软件测试网  模型驱动应用的核心和症结就在于一个长期困扰我们的问题:如何对复杂问题建模?对模型驱动的众多怀疑正是这个问题没能得到有效解决的明证。 

一、MDA的规划及实现 

MDA的规划其实是非常宏伟的,MDA显然充分意识到了问题的复杂性,所有严格区分了MDA四类模型:

 

     1、计算无关模型(Computation Independent Model, CIM)

     2、平台无关模型(Platform Independent Model, PIM)

     3、平台特定模型(Platform Specific Model, PSM)

     4、实现相关模型(Implementation Specific Model, ISM)。

 

其中3、4二个模型解决软件基础设施问题,也即如今热门的业务基础平台问题。模型驱动实现的关键在于,从PIM到业务基础平台如何对接。就MDA的规划来看,主要是通过模型交换。但可执行UML(xUML)显然给出了另一种快捷的方式。这样,就有二种模型驱动的实现方式:

 

    xUML--就是使用动态执行引擎直接执行UML模型 

    模型交换--就是把PIM模型变换为容易执行的PSM模型

 

MDA更多的是从白盒视角规划了业务基础平台的实现架构。可执行UML的模型驱动程度无疑更高。且较之MDA采用PSM来解决对多平台的支持,xUML则是类java跨平台的方式,显得更为敏捷

 

二、计算的逻辑模型或逻辑服务模型

 

更重要的是,xUML实际上消解了PIM与PSM的区分,而专注于计算的逻辑模型。所以,在关于《新一代企业信息系统研究与开发纲要》的对话中,我用不严格的语言表术了这个问题:

 

    从现实的观点出发,逻辑层(或服务层)才是模型驱动的关键。就一般而论,业务模型与技术体系的松散耦合,是以逻辑服务层为中介的。所以,我得出一个结论:一套良好的服务元语义,可能是模型驱动系统的关键。

 

这里,我把计算的逻辑模型称为逻辑服务模型,是想融合进SOA的思想(而不是技术)。所谓一套良好的服务元语义就是指一种xUML的规范。显然,这里一个隐含的前提是,UML语言本身并不能直接作为这种规范,需要在其上扩展,尤其是融合DSL,方能构建出良好的服务元语义。

当然,这里出现了抛开UML另起炉灶的观点。从理论上,这也是可行的。比如,Microsoft就可能这样做。但是,这个成本太高,也只有Microsoft玩得起。事实上,模型驱动的思想很早就出现了。如今通过MDA流行起来,实际上是得益于UML的成功。抛开UML谈模型驱动,明显缺乏根基。最近UMLChina上的一个消息微软: "UML and more" 的延期和期待表明,就是财大气粗的Mcrosoft也并不想赤裸裸地抛开UML闹革命。所以: 

   

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/

TAG: 建模 模型 驱动 CIM ODM

21/212>

关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:info@testage.com.cn 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网