第30卷第2期计算机工程
2004年1月Vot30脑2ComputerEngineeringJanuary2004
?软件技术与数据库?
立鞠昏100P,---3428(20D4)D2—m】Jl—02文■晰识碍:A中圈分赛飘TP30|
模型驱动体系综述
张水掣,韩永型。余军分
(1中科院软件所工业管理与设计中心,北京100080;2浙札大学现代制造工程研究所,杭州310027)
摘赛:模型驱动体系是OMG提出的一种rr系统描述方法,是互操作性标准进一步的发展。文章介绍了模型驱动体系的基本概念、核心基础构造及其模型体系,井介绍了当前的应用现状。
美膏翻:模型驱动体系;平白无荧的模型;特定平台模型
Surveyof
ModelDrivenArchitecture
ZHANGXiaohua。,HANYongsheng。。YU
JunhF
{IIndust叫Management&DcsignCenter.InstituteofSoftware,ChineseAcademyofScienCes.Beijing】00080;
2Mechanical
EngineeringDepartment,zh嘲iangUnivo'slty,Hanb强hou310027)
[AbstractlModeldrivenarchitecture(MDA)isanapproachofITsystemspecificationintroducedbyOMG.It
represents
amajorevolutionarystepinthewayofinteroperabilitystandardsThispaperpresentsthebasiccono:-pt.modcIarchitectureandcoreinfrastructureofMDAandintroducesitspresentapplication
IKeywordslModeldrivenarchJIeClUre(MDA);PSM;PIM
1背景
中间件技术的出现大大减轻了异构系统的集成负担,但是众多的中间件产品不断发展,难以形成统一的中问件标准,从而使得新IH系统之间的集成或演化面临不同的实现技术。如何保证现有投资并驱动整个系统的技术升级成为不可避免但又难以解决的挑战。为此,OMG提出模型驱动体系(ModelDrivenArchitecture,MDA),分离业务功能的分析设计与实现技术之间紧耦合的关系,从而使技术变化对系统的影响迭到最小化。从宏观看,MDA使得应用模型与领域模型在整个软件生命周期中得到了复用。MDA支持整个系统生命周期中的集成,从业务建模到系统设计、组件的构造、组装、集成、部署、管理和改进。在MDA平台支持下的软件开发过程如图I所示。处理.持久性、事务和安全性。另外.MDA还支持特定垂直行业如电信、运输行业的标准化领域模型的建立。
l毒篙:!:l岛..几亲黼:篙硐.1J21iE/EJB,NEIl1■丽两k+厂而‰].—+厂可瓢订一眄丽可孺¨-lCORBA
I“o特E1怕l堑J。樽l_驱曲作景tMDA)的坐J正坪境
田IMDA支持曲软件开爱过程
2MDA的基本栩b鲁
MDA定义了一种IT系统描述方法,将系统功能描述从
特定技术平台的功能实现描述中分离出来。MDA的核心思
想是抽象出与实现技术无关、完整描述业务功能的核心模型
PlM(Pimfom—IndependentModel).针对不同实现技术制定多
个映射规则,然后通过这些映射规则及辅助工具将PIM转换
成与具体实现技术相关的应用模型PSM(Platform—Specific
Model),最后,在一定程度上将PSM自动转换成代码。
图2给出了MDA的整体框架。MDA不仅包含了OMG已
经建立的一系列重要的集成标准,女IIUML、CORBA等,而
且还涵盖了OMG所定义的普遍服务,包括目录服务、事件
啊2MDA框槊
3MDA的技术规范和楱型体系
3.1MDA中姻主要技术瓤萜
集成和互操作性的关键就在于巧妙地使用和管理跨应用程序、平台、工具和数据库的元数据。一系列重要的OMG标准包括统一建模语言、元对象设施、公共仓库元模
型、基于XML的元数据交换等,实现了元数据的管理和集
成。而这些标准恰恰是MDA的核心基础构造。
(I)UML。它是一种通用的可视化建模语言,用于对体
系结构、对象、对象问的交互、应用程序生命周期的数据建
模特性,以及基于组件的开发特性【包括构造和组装)进行建
模。在MDA中.所有的模型均是以UML来描述的。UML模
型比其它描述性模型语言所表示的模型(如基于IDL的对象模
型、Java接口等)具有更加丰富的语义。
柞者筒舟:张小华(1978一),女,碗士,研究方向:企业信息北技
术;韩永生,博导;采军台,博士后
收稿日羽:2002?12+I7E-maihzhang,xh@youngorcom.cR
一111一 万方数据