Model Driven Architecture 模型驱动架构

 

Model Driven Architecture 模型驱动架构

为了实现MDA这一宏大构想,OMG(Object Management Group 国际对象管理集团)制定了一系列的标准:

UML:UML被MDA用来描述各种模型。它并不是为MDA而生,但是作为目前最为风行的建模语言,UML已经占据了全球建模语言领域90%的市场份额,成为了建模语言事实上的标准,因此OMG将它作为MDA技术的基础是自然而然的明智选择。它是MDA的基础,也是MDA最有力的武器。

MOF:MOF(Meta Object Facility 元对象机制)是比UML更高层次的抽象,它的目的是为了描述UML的扩展或者其它未来可能出现的类UML的建模语言。由此我们可以看到OMG的"野心",虽然MOF也不是为MDA而生的,但是我们可以体味到OMG的工程师们良苦的用心和长远的目光。

XMI:XMI(XML-based metadata Interchange)是基于XML的元数据交换。它通过标准化的XML文档格式和DTDs(Document Type Definitions)为各种模型定义了一种基于XML的数据交换格式。这使得作为最终产品的模型可以在各种不同的工具中传递,这一点是非常重要的,它保证了MDA不会在打破了一种束缚之后再被加上一层新的束缚。

CWM:CWM(Common Warehouse Metamodel 公共仓库元模型)提供了一种数据格式变换的手段,在任意级别的模型上都可以使用CWM来描述两种数据模型之间的映射规则,比如将数据实体从关系数据库变换为XML格式。在MOF的框架下,CWM使得通用的数据模型变换引擎成为可能。

在OMG的蓝图中,UML、MOF、XMI、CWM等一系列标准分别解决了MDA的模型建立、模型扩展、模型交换、模型变换这几个方面的问题。OMG试图通过标准化的定义,扩大MDA的应用范围。同时通过这样一个可扩展的建模语言环境,IT厂商可以自由实现自己的建模语言,以及语言到可执行代码的映射,然而不管怎么样,都必须处于OMG的标准化框架之下。

 

MDA(Model—Driven Architecture)模型驱动开发

MDA主要将生成的UML分成以下三个阶段:

  • CIM(Computation Independent Model) 聚焦于系统环境及需求,不涉及到系统内部结构和运作细节
  • PIM(Platform Independent Model)聚焦于系统内部细节,不涉及实现系统的具体平台
  • PSM(Platform Specific Model)聚焦于系统落实于特定平台的细节,例如JavaEE,dot net。

MDA的主张:

  • MDA欲解决的问题----如何应对企业于技术的快速变化
  • MDA所用的工具----运用OMG现有的标准及技术,主要包括有:UML(Unified Modeling language)、MOF(Meta-Object Facility)、CWM(Common Warehouse Metamodel)、UML profile 、XMI(XML Metadata Interchange)以及CORBA
  • MDA提出的解决方法----将企业及应用系统与实现技术平台分离,且以同意建模语言UML来表达于平台无关的PIM,然后设计出使用于特定平台的模型PSM,如此一来,因为分隔且封装了企业于技术两方面的变化,所以降低了两者之间的牵动

MDA的期望与相关技术图形:

Model Driven Architecture 模型驱动架构_第1张图片

 

MDA的步骤与生成(CIM和PIM阶段)

  • CIM1:定义业务流程,产生业务用例模型
  • CIM2:分析业务流程,产生活动图
  • CIM3:定义系统范围,产生系统用例图
  • PIM1:分析系统流程,产生系统用例叙述
  • PIM2:分析业务规则,产生状态图
  • PIM3:定义静态结构,产生类图
  • PIM4:定义操作及方法,生成序列图

 

转自http://vissul.javaeye.com/blog/355094

你可能感兴趣的:(xml,javaee,语言,UML,平台,IT厂商)