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的期望与相关技术图形:
MDA的步骤与生成(CIM和PIM阶段)
- CIM1:定义业务流程,产生业务用例模型
- CIM2:分析业务流程,产生活动图
- CIM3:定义系统范围,产生系统用例图
- PIM1:分析系统流程,产生系统用例叙述
- PIM2:分析业务规则,产生状态图
- PIM3:定义静态结构,产生类图
- PIM4:定义操作及方法,生成序列图
http://www.ibm.com/developerworks/rational/library/3100.html?S_TACT=105AGX52&S_CMP=cn-a-j
分享到:
相关推荐
详细介绍了OMG的战略性开发方法学——MDA。 阐述了UML和MDA的关系,并介绍了MOF、XMI和CWM等与MDA相关的技术。 分析MDA如何运用基于UML的技术,将基于组件开发、设计模式、中间件等一系列重要的趋势性技术整合到...
MDA Explained: The Practice and Promise of the Model Driven Architecture
(Addison) MDA Explained--Model Driven Architecture, Practice & Promise.chm
Model Driven Architecture Applying MDA to Enterprise Computing
MDA Distilled is an accessible ... You will also learn how to define a model-driven process for a project involving multiple platforms, implement that process, and then test the resulting system.
MDA 是模型驱动体系架构(Model-Driven Architecture)的简称,由对象管理组织OMG(Object Management Group)所驱动。MDA 表示了一种模型驱动开发方法的概念框架。然而,尽管完整的MDA 还没有成为现实,模型驱动...
A Model Driven Architecture for Enterprise Application Integration. A Model Driven Architecture for Enterprise Application Integration.
最新的OMG MDA 指南 2.0 Guide .MDA 是模型驱动体系架构(Model-Dri ven Architecture)的简称,是一种新的系统开发方法。
Executable UML: A Foundation for Model-Driven Architecture,这本书虽然是02年出的,但是是MDA中很重要的研究方向,我们讨论组主要翻译了第一、二和章。
介绍model driven architecture (MDA)的愿景,标准,与所用的技術
It is designed to produce a comprehensive and understandable model of a solution independent of the organization of the software implementation. It is a highly abstract thinking tool that aids in the...
Model-Driven Architecture in Practice: A Software Production Environment Based on Conceptual Modeling
随着模型驱动体系结构(model driven architecture,MDA)技术和环境的不断发展,模型驱动软件开发(model driven development,MDD)已经成为一种新的软件开发模式,对于MDD软件开发过程中的核心问题,即面向不同...
提出了基于模型驱动架构(Model driven architecture, MDA)的GBDSS决策服务组合技术架构及其平台层次模型,论述了模型中各模块的运作机理,分析了其建模协议簇的层次结构.该模型通过平台无关模型(Platform independent...
型驱动架构(Model Driven Architecture,MDA)原理、构件技术应用关键技术、开源软件特性;根据 商业软件开发过程中的特性,提出了一种实用软件开发框架。此框架是基于SQA架构思想和 MDA架构实现原理,按照构件技术组装...
以模型驱动体系结构(ModelDriven Architecture,MDA)的基本概念为切入点,对基于MDA的应用开发过程、MDA的优点、不足及未来作了深入的探讨和思考。
MDA & SOA in the Enterprise Applying Model Driven Architecture (MDA) and Value Chain Analysis (VCA) to Services Oriented Architecture (SOA) to enable the Executable Enterprise
它是Eclipse MDA(Model Driven Architecture)的一个重要组成部分,是Eclipse中许多项目的基础( e.g, GEF), EMF可以将模型转换成高效的,正确的,和易于定制的Java代码。EMF项目的最初目标是要实现OMG(Object ...
在此技术架构基础之上,提出了一种基于MDA((model driven architecture)的分布式对象模型框架代码生成方法。该方法以模型为基本输入,通过灵活的转换规则配置,生成具体平台的模型,并依次自动生成框架代码,从而有效提高...