(计算机软件与理论专业论文)面向spring框架的mda模型转换方法研究.pdf_第1页
(计算机软件与理论专业论文)面向spring框架的mda模型转换方法研究.pdf_第2页
(计算机软件与理论专业论文)面向spring框架的mda模型转换方法研究.pdf_第3页
(计算机软件与理论专业论文)面向spring框架的mda模型转换方法研究.pdf_第4页
(计算机软件与理论专业论文)面向spring框架的mda模型转换方法研究.pdf_第5页
已阅读5页,还剩62页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

摘要 模型驱动体系结构( m d a ,m o d e ld r i v e na r c h i t e c t u r e ) 是o m g 提出的软件丌发过 程中的模型组织管理框架,通过定义不同抽象级别的模型以及模型之间的转换实现系统 的分析、设计与实现。m d a 把系统划分为两种不同抽象层次的模型:平台无关模型( p i m ) 和平台相关模型( p s m ) 。m d a 不仅能有效提高软件生产效率、增强系统移植性、降低 文档维护费用、解决软件之间的互操作问题,还使得应用模型与领域模型在整个软件生 命周期中得以复用。 模型转换,特别是p i m 到p s m 的转换,是基于m d a 进行软件开发的关键,目前 还没有标准化。当前m d a 范畴内存在多种模型转换方法,如基于模式及标记的模型转 换方法,基于图文法的转换方法等,但对于工业界普遍应用的开源框架s p r i n g 依旧缺乏 有效支持,尽管a n d r o m d a 中支持由类图直接生成s p r i n g 的配置文件,但a n d r o m d a 并 没有考虑s p r i n ga o p 这个核心部分,仅仅支持s p r i n g 框架的部分i o c 功能,且a n d r o m d a 中缺少对p i m 的构建。同时,在当前基于s p r i n g 框架的w r e b 应用开发过程中,传统的 开发方法不能有效保证系统的分析模型、设计模型以及代码问的一致性;由于缺乏描述 s p r i n g 框架基本特征的建模语言,面向s p r i n g 框架的系统建模难以进行。 本文提出一种面向s p r i n g 框架的m d a 模型转换方法,以业务系统的领域对象类图 作为研究起点,引入w e b 应用系统的层次结构模型对p i m 进行精化,通过构建适合 s p r i n g 框架的u m lp r o f i l e 以及制定相应的转换规则完成精化后的p i m 到基于s p r i n g 框 架的w e b 应用系统p s m 模型的转换,扩展r s a 模型转换框架实现p s m 模型到s p r i n g 配置文件的自动生成。最后结合一个应用实例,在i b mr s a 开发环境中验证面向s p r i n g 框架的m d a 模型转换方法的可行性以及基于m d a 开发模式的优点。不仅能有效解决 基于s p r i n g 框架的w - e b 应用开发中所存在的问题,更是对m d a 模型转换的一次探索 与研究。 相比国内外的相关工作,本文主要贡献在于:( 1 ) 提出一种将应用系统抽象层次的 体系结构信息添加到p i m 模型中的思想,引入w e b 应用系统层次结构模型对p i m 进行 精化;( 2 ) 构建了u m lp r o f i l ef o rs p r i n gf r a m e w o r k ,较全面的描述s p r i n g 框架的基本特 征,使得面向s p r i n g 框架的系统建模得以进行;( 3 ) 设计并实现了u m l t ox m l 模型转 换插件,完成s p r i n g 框架相关的p s m 到s p r i n g 配置文件的自动生成。 关键词:模型驱动体系结构( m d a ) ;模型转换;s p r i n g 框架;u m lp r o f i l e a b s t r a c t m o d e ld r i v e na r c h i t e c t u r e ( m d a ) i sa no r g a n i z a t i o na n dm a n a g e m e n tf r a m e w o r kf o r m o d e l si nt h es o f t w a r ed e v e l o p m e n tp r o c e s s ,w h i c hi sp r o v i d e db yo b j e c tm a n a g e m e n tg r o u p ( o m g ) s y s t e ma n a l y s i s ,d e s i g na n di m p l e m e n t a t i o nb a s e d o nm d aa r ec o m p l e t e dt h r o u g h d e f i n i n gm o d e l sa td i f f e r e n ta b s t r a c tl e v e l sa n dd r i v i n gt h et r a n s f o r m a t i o na m o n gm o d e l s g e n e r a l l ym d a d i v i d e sas o f t w a r es y s t e mi n t ot h ep l a t f o r mi n d e p e n d e n tm o d e l ( p i m ) a n d t h ep l a t f o l t ns p e c i f i cm o d e l ( p s m ) m d an o to n l yc a ne f f e c t i v e l yi m p r o v es o f t w a r e p r o d u c t i v i t y , e n h a n c es y s t e mp o r t a b i l i t y , r e d u c em a i n t e n a n c ec o s t so fd o c u m e n t sa n ds o l v e t h ep r o b l e mo fi n t e r o p e r a b i l i t ya m o n gd i f f e r e n ts o f t w a r e s ,b u ta l s om a k ea p p l i c a t i o nm o d e l s a n dd o m a i nm o d e l sc a nb er e u s e di nt h ee n t i r es o f t w a r el i f ec y c l e m o d e lt r a n s f o r m a t i o n ,e s p e c i a l l yt h et r a n s f o r m a t i o nf r o mp i mt op s m ,i st h ek e yo f m d a b a s e ds o f t w a r ed e v e l o p m e n t i ti ss t i l ln o ts t a n d a r d i z e d n o w a d a y s ,t h e r ea r em a n y m o d e lt r a n s f o r m a t i o na p p r o a c h e sa n dt o o l s ,s u c ha st h et r a n s f o r m a t i o nu s i n gp a t t e r n sa n d m a r k i n g s ,t h et r a n s f o r m a t i o nb a s e do ng r a p h i c sa n ds oo n h o w e v e r i ts t i l ll a c ko fe f f e c t i v e s u p p o r t sf o rs p r i n gf r a m e w o r kw h i c hi sw i d e l yu s e di ni n d u s t r y a n d r o m d ah a ss u p p o r t e d t h ea u t o m a t i cg e n e r a t i o no fs p r i n gc o n f i g u r a t i o nf i l e sf r o mt h ec l a s sd i a g r a m s ,b u ti th a sn o t r e s e a r c h e dt h es p r i n ga o pw h i c hi sac o r ep a r to fs p r i n gf r a m e w o r ka n dc a n ts u p p o r tt h e m o d e l i n go fp i m a tt h es a m et i m e ,s p r i n g b a s e dw e ba p p l i c a t i o n sw i t h t h et r a d i t i o n a l s o f t w a r ed e v e l o p m e n tm e t h o dc a nn o tg u a r a n t e et h ec o n s i s t e n c ya m o n ga n a l y s i sm o d e l , d e s i g nm o d e la n dt h ec o d e b e s i d e sd u e t ot h el a c ko fm o d e l i n gl a n g u a g ew h i c hi su s e dt o d e s c r i b et h eb a s i cf e a t u r e so fs p r i n gf r a m e w o r k ,i ti sv e r yd i f f i c u l t t oc a r r yo u tt h e s p r i n g o r i e n t e ds y s t e mm o d e l i n g t h i sp a p e rp r e s e n t sas p r i n g s p e c i f i cm o d e lt r a n s f o r m a t i o na p p r o a c hi nm d a - i tu s e s t h ed o m a i nc l a s sd i a g r a m so fb u s i n e s ss y s t e m sa sas t a r t i n gp o i n t ,i n t r o d u c e st h ew e b a p p l i c a t i o nh i e r a r c h ym o d e lt or e f i n ep i m ,c o n s t r u c t sas u i t a b l eu m lp r o f i l ef o rs p r i n g f r a m e w o r ka n de s t a b l i s h e st h et r a n s f o r mr u l e st oc o m p l e t et h et r a n s f o r mf r o mr e f i n e dp i m t o s p r i n gf r a m e w o r ks p e c i f i cm o d e l t h e ni ti m p l e m e n t st h ea u t o m a t i cg e n e r a t i o no fs p r i n g c o n f i g u r a t i o nf i l e sf r o ms p r i n gf r a m e w o r ks p e c i f i c m o d e lt h r o u g he x t e n d i n gt h em o d e l t r a n s f o r m a t i o nf r a m e w o r kp r o v i d e db yr s a t ot h i se n d ,ac a s es t u d yi sa l s op r o v i d e dt o s h o wt h ea d v a n t a g eo ft h em e t h o dp r o p o s e d c o m p a r e dw i t ht h er e l a t e dw o r k a th o m ea n da b r o a d ,t h em a i nc o n t r i b u t i o n so ft h i sp a p e r a r ea sf o l l o w s :( 1 ) p r o p o s ean e wi d e ao fa d d i n gt h ei n f o r m a t i o na b o u ta b s t r a c ta r c h i t e c t u r eo f a p p l i c a t i o ns y s t e m si n t ot h ep i m a n di n t r o d u c et h ew e ba p p l i c a t i o nh i e r a r c h ym o d e lt or e f i n e t h ep i m ( 2 ) c o n s t r u c tau m lp r o f i l ef o rs p r i n gf r a m e w o r kw h i c hc a nc o m p r e h e n s i v e l y i i d e s c :r i b et h eb a s i cf - e a t u r e s o fs p r i n gf r a m e w o r k ,a n dm a k ei tp o s s i b l e t oc a r r ) ,o u t 也e s p r i n g - o f f e n t e ds y s t e mm o d e l i n g ( 3 ) d e s i g na n di m p l e m e n ta m o d e lt r a n s f o m l a t l o n p l u g ,- i n n :m e du m lt o 丈m ls 0a st oc 。m p l e t et h ea u t o m a t i cg e n e r a t i 。n 。f s p r i n gc o n f i g u r a t 沁nm e s f r o ms p r i n gf r a m e w o r ks p e c i f i cm o d e l k e yw 。r d s :m 。d e ld r i v e na r c h i t e c t u r e ;m 。d e lt r a n s f o r m a t i o n ;s 两n g f r a m e 、o r k ;u m l p r o f i l e 1 i i 独创性声明 本人郑重声明:所提交的学位论文是本人在导师指导下独立进行研究 工作所取得的成果。据我所知,除了特别加以标注和致谢的地方外,论文 中不包含其他人已经发表或撰写过的研究成果。对本人的研究做出重要贡 献的个人和集体,均已在文中作了明确的说明。本声明的法律结果由本人 承担。 学位论文作者签名:赴如 日期: 学位论文使用授权书 本学位论文作者完全了解东北师范大学有关保留、使用学位论文的规 定,即:东北师范大学有权保留并向国家有关部门或机构送交学位论文的 复印件和电子版,允许论文被查阅和借阅。本人授权东北师范大学可以将 学位论文的全部或部分内容编入有关数据库进行检索,可以采用影印、缩 印或其它复制手段保存、汇编本学位论文。 ( 保密的学位论文在解密后适用本授权书) 学位论文作者签名:盘丝 日 期:玉q 2 二丕二垒 学位论文作者毕业后去向: 工作单位: 通讯地址: 指导教师签名:灶 e l 期:驰牛必 电话: 邮编: 东北师范大学硕士学位论文 第一章引言 1 1 研究背景 信息技术革命对人类社会的发展产生了极大的影响,随着网络技术的逐步发展,这 种影响会更加深入。为满足不断增长的软件应用需求,寻找一种高效的软件开发方法以 及和这种方法相配套的生产模式成为了人类社会的迫切需要。 回顾软件工程的发展历史,不难发现,软件工程方法主要经历了从结构化设计到面 向对象设计的变革。结构化方法强调自顶向下将复杂的问题用标准的方法分解成多个简 单的问题,逐个予以解决。它围绕实现处理功能的“过程”来构造系统,当软件规模庞 大,或者对软件的需求是模糊的或会随时问而变化的时候,使用结构化方法开发软件往 往不会成功,用结构化方法开发出的软件,其稳定性、可重用性和可修改性都比较差。 面向对象的分析与设计方法尽量模拟人类习惯的思维方式,使得人们可以从非常自然的 角度来分析和计算现实世界的问题,它以对象为基础,将数据和对数据的操作紧密地结 合在一起,支持封装和继承等多种抽象表达功能,在很大程度上改进了结构化设计的不 足,如更容易适应需求的变化、系统可重用性强等。然而,软件开发的生产效率并没有 因此而有实质性的提升。另一方面,随着计算机技术、网络技术及分布式计算技术的发 展,如何屏蔽异构系统间的差异性,为用户和丌发人员提供一种标准的、独立于计算机 硬件和操作系统的开发及运行环境成为业界面临的一大挑战,在这种背景下,中间件技 术应运而生乜1 。简单来说,中间件技术的根本目的是通过一种体系结构来提供互操作性, 这种体系结构屏蔽了分布式环境中异构的操作系统和网络协议,在此基础上为应用程序 提供一组通用的服务( 如事务管理、持久性、通信机制等) ,从而简化了分布式应用程序 的开发。目前存在多种使用广泛的中间件,如c o r b a 、e j b 、d c o m 、n e t 等。遗憾 的是,不同的中间件有不同的体系结构。由于缺乏统一的标准,这些平台之间互不兼容。 这种中间分化( p r o l i f e r a t i o n ) 现象所带来的中间价平台之间的互操作障碍,直接导致了 企业必须为不同中间件应用系统间的集成付出昂贵的代价。同时,由于企业商业逻辑与 某种平台实现技术的“绑定 ,增加了信息系统的平台移植难度,提高了企业业务发展 受制于某种平台技术发展的风险。因此,如何解决企业信息系统建设的互操作性、可移 植性、可重用性等问题,成为目前软件开发领域的重要课题。为此,2 0 0 1 年7 月国际对 象管理组织o m g 提出了一种新的软件解决方案模型驱动体系结构( m o d e ld r i v e n a r c h i t e c t u r e ,m d a ) r 3 。 m d a 是一种基于u m l 以及其他工业标准的框架,支持软件设计和模型的可视化、 存储和交换,通过提供开放的、语言中立的、厂商中立且中间件中立的标准来解决应用 系统的集成问题。它将模型区分为平台无关模型( p l a t f o r mi n d e p e n d e n tm o d e ,p i m ) 和平 台相关模型( p l a t f o r ms p e c i f i cm o d e ,p s m ) ,使得模型不再仅仅是描绘系统、辅助沟通的 l 东北师范大学硕士学位论文 工具,而是软件开发的核心和主干。m d a 的核心思想是抽象出与实现技术无关、完整 描述业务功能的平台独立模型( p i m ) ,针对不同实现技术制定多个映射规则,通过这些 映射规则及辅助工具将p i m 转换成与具体实现技术相关的平台模型( p s m ) ,最后,将 p s m 转换成代码。同一个平台无关模型可以被转换到多个中间件平台之上的平台相关模 型,这就为解决不同的中间件平台之间的集成和互操作问题提供了一个基础。目前国内 外出现的各种支持m d a 的c a s e 工具主要有:( 1 ) t i g r i s 公司的a r g o u m l ( f r e e ) h 1 ;( 2 ) 前r a t i o n a ls o f t w a r e 公司的r a t i o n a lr o s e2 0 0 0 :( 3 ) a n d r o m d a 璐1 ;( 4 ) 德国i n t e r a c t i v e o b j e c t s 公司的a r c s t y l e r 阳1 ;( 5 ) c o m p u w a r e 公司推出的o p t i m a l j 口1 ;( 6 ) 大型软件开发环 境青鸟系统提供的基于m d a 思想的c a s e 工具。 m d a 被面向对象技术界预言为未来两年里最重要的方法学,它以一种全新的方式 将i t 技术的一系列新的趋势性技术整合到一起。这些技术包括基于组件的开发 ( c o m p o n e n t b a s e dd e v e l o p m e n t ) 、设计模式( d e s i g np a a e m ) 、中间件( m i d d l e w a r e ) 、说 明性规约( d e c l a r a t i v es p e c i f i c a t i o n ) 、抽象( a b s t r a c t i o n ) 、多层系统( m u l t i t i e r e ds y s t e m ) 、 企业应用整合( e n t e r p r i s ea p p l i c a t i o ni n t e g r a t i o n ) 以及契约式设计( d e s i g nb yc o n t r a c t ) 。 m d a 的出现,为提高软件开发效率,增强软件的可移植性、协同工作能力和可维护性, 以及文档编制的便利性指明了解决之道呻,。 s p r i n g 是目前工业界流行的开源j 2 e e 应用框架,由7 个模块组成呻3 ,其核心技术是 i o c 容器和a o p 功能的实现。s p r i n g 的i o c 容器将应用程序的配置和依赖性规范与实际 的应用程序代码分开;而配置式的a o p 支持,极大简化了j 2 e e 应用系统丌发中横切关 注点问题。然而,在当前基于s p r i n g 框架的w e b 应用开发过程中,模型仅是描绘系统、 辅助沟通交流的工具;同一系统不同阶段的各模型( 如分析模型与设计模型) 都是由分 析设计人员手工绘制而成,模型之间缺乏一致性保证;同时,由于缺乏描述s p r i n g 框架 基本特征的建模语言,面向s p r i n g 框架的系统建模难以进行。 考虑到m d a 的特性及优势,将m d a 的软件开发思想应用到基于s p r i n g 框架的 w e b 应用开发中,不仅能有效地解决上述问题,还能在应用程序框架之上直接生成大量 应用程序代码,提高软件开发效率。 1 2 研究现状及选题依据 作为一种新型的软件丌发模式,模型驱动体系架构( m d a ) 受到了企业界的大力 推崇和关注。国内外嗅觉敏锐的各个厂商都看好了m d a 的大好前景,纷纷进行各自的 m d a 发展规划。如i b m 除了在r a t i o n a l 中增加m d a 功能之外( 在x d e ,r o s e 等工具 中都提供了m d a 功能) ,在其倡导的丌源项目e c l i p s e 中,也提出了e m f ( e c l i p s e m o d e l i n gf r a m e w o r k ) 这一创新的m d a 代码生成系统项目,可见i b m 对m d a 这一发展 中技术的重视程度;b o r l a n d 公司宣称他们也在关注m d a 技术,并且准备在t o g e t h e r 中配置基于m d a 的模型自动生成功能;国内西安楚凡( t r u f u n ) 科技开发了一款 u m l m d a 工具t m f u n2 0 0 7 系列,对m d a 的开发提供了极大的方便。 2 东北9 币范大学硕士学位论文 基于m d a 的软件开发方法要解决的两个关键问题是如何有效地建立软件模型以及 如何在模型之间进行转换n 训。u m l 及其扩展机制1 为有效地建立软件模型提供了很好 的支持,然而对于模型转换,尤其是p i m 到p s m 的转换,还没有统一的解决方案。 概括来说,当前m d a 范畴内的模型转换途径主要有口1 : ( 1 ) 手动转换方法,即编程人员使用可以访问和操作模型的a p i 对源模型进行转换, 从而得到目标模型,其与传统的、非基于模型驱动开发的软件设计方法相比并没有太大 的区别,没能在很大程度上加快应用程序的开发速度; ( 2 ) 基于模式及标记的模型转换需要为p i m 增加一系列预先定义的标记( m a r k s ) , 并基于设计模式来定义转换规则,将p i m 中符合通用模式的模型元素转换成p s m 中特 定模式的实例,这种方法比较复杂且缺乏灵活性,比较适合于完成型的模型进化n 引: ( 3 ) 自动转换方法并不需要向模型中添加标记或者额外的信息,要求被转换的p i m 中包含足够多的信息以完成从p i m 到最终代码的生成。这种方法通常仅适用于成熟的、 基于组件的应用程序开发; ( 4 ) 基于u m lp r o f i l e 的模型转换方法采用扩展的u m l 描述p i m 与p s m ,并通过制 定相应的转换规则完成模型之间的转换。由于u m lp r o f i l e 扩展机制能针对不同的平台 或技术进行扩展,使得基于u m lp r o f i l e 的模型转换方法成为当前的主流方法。如文献 n 3 1 提出一种基于j 2 e e 平台的m d a 模型转换技术,基于u m lp r o f i l e 的模型转换方法, 通过构建u m lp r o f i l ef o rj a v a 、u m lp r o f i l ef o rj 2 e e 以及制定p i m 到j 2 e e 相关的p s m 的转换规则,从而完成p i m 到p s m 的转换。 要将m d a 的软件开发思想应用到基于s p r i n g 框架的w e b 应用开发中,最为关键的 问题在于如何实现面向s p r i n g 框架的各种模型转换。目前m d a 范畴内尚缺乏有效的面 向s p r i n g 框架的模型转换工具或方法。 文献 5 】中提及的开源代码生成框架a n d r o m d a ,主要用于j 2 e e 技术的开发,能够 创建使用u m l 生成代码的j 2 e e 项目,基于不同的c a r t r i d g e 提供对h i b e r n a t e 、s t r u t s 、 s p r i n g 等框架的支持,但a n d r o m d a 并没有考虑s p r i n ga o p 这个核心部分,仅仅支持 s p r i n g 框架的部分i o c 功能,且a n d r o m d a 中缺少对p i m 的构建。 文献 1 4 】中提及的基于e c l i p s e 平台开发的s k y w a yb u i l d e rc o m m u n i t ye d i t i o n 提供从 u m l 领域对象类图生成一个基于s p r i n gm v c 的j a v ac r u d 应用程序,尚未实现对 s p r i n g 框架其他组成部分的支持,如s p r i n gi o c 和s p r i n g a o p 等。从本质上来说,s k y w a y b u i l d e rc o m m u n i t ye d i t i o n 仅仅是一个代码生成工具,缺乏p i m 到p s m 转换这个关键步 骤,算不上严格意义上的m d a 支撑工具。 文献 1 5 】中提及的面向对象软件研究组织提供的工具o b j e c t e e r i n g u m l ,遵循了基 于u m lp r o f i l e 的模型转换方法。它集成独有的u m lp r o f i l e 编译器,根据所选择的u m l p r o f i l e 和相应的转换规则完成模型之间的转换,然而其也没有对s p r i n g 框架的模型转换 提供有效支持。 因此,本文选用普适性较广的基于u m lp r o f i l e 的模型转换方法来研究面向s p r i n g 框架的m d a 模型转换方法,通过建立适合s p r i n g 框架的u m lp r o f i l e ,完成基于u m l 3 东北师范大学硕士学位论文 p r o f i l e 的领域应用系统的p i m 模型到基于s p r i n g 框架的w 曲应用系统p s m 模型的转换, 并借助i b mr s a n 刚工具完成p s m 模型到代码的自动生成。不仅能弥补现有研究成果的 不足,有效解决基于s p r i n g 框架的w e b 应用丌发中所存在的问题,更是对m d a 模型 转换的一次探索与研究。 1 3 本文主要工作 针对本文提出的研究课题,我们围绕以下四个方面进行研究,主要内容如下: ( 1 ) 在充分学习m d a 相关理论及核心机制的基础上,分析并比较现有的p i m 到p s m 模型转换方法,同时针对这些方法的异同点和各自的优缺点进行归纳和总结。 ( 2 ) 重点探讨面向s p r i n g 框架的m d a 模型转换方法,以业务系统的领域对象类图 作为初始p i m ,引入w e b 应用系统层次结构模型对p i m 进行精化,构建一个适合s p r i n g 框架的u m lp r o f i l e ,同时制定p i m 到s p r i n g 框架相关p s m 的模型转换规则。 ( 3 ) 设计并实现u m lt ox m l 模型转换插件,以完成面向s p r i n g 框架的p s m 到 s p r i n g 配最文件的自动生成。 ( 4 ) 借助i b mr s a 工具及u m lt ox m l 模型转换插件,实现基于m d a 思想的学生 成绩管理系统的开发,不仅能验证面向s p r i n g 框架的m d a 模型转换方法的可行性,还 能进一步展现m d a 开发模式的优越性。 1 4 论文组织结构 论文共分七章,各个章节的内容可概括如下: 第l 章:介绍了论文的研究背景、国内外m d a 的研究现状以及选题依据,同时概 述了本文的研究内容及论文组织结构。 第2 章:全面介绍m d a 中的相关理论及开发过程,探讨m d a 的四个核心标准 ( m o f 、u m l 、x m i 、c w m ) ,详细阐述了m d a 中模型转换的基本原理,分析并比较 目前主要的p i m 到p s m 的模型转换方法,对基于u m lp r o f i l e 的模型转换方法进行了 重点剖析,同时介绍了r s a 中的模型转换机制。 第3 章:概述了s p r i n g 框架的基本组成,重点阐述其核心机制i o c 和a o p 。 第4 章:提出一种面向s p r i n g 框架的m d a 模型转换方法,并针对该方法的各个关 键部分给出了具体的解决方案。 第5 章:设计并实现一个u m lt ox m l 模型转换插件,完成p s m 到配置文件的自 动生成。 第6 章:结合一个具体实例,验证了面向s p r i n g 框架的m d a 模型转换方法在实际 应用中的适用性。 第7 章:工作总结和展望,给出本文的阶段性工作总结,同时指出本文存在的局限 性和待改进之处,并阐述今后需要进一步研究的工作。 4 东北师范大学硕士学位论文 第二章m d a 相关理论及技术 21m d a 概述 模型驱动体系结构( m d a ,m o d e ld r i v e na r c h i t e c t u r e ) 是国际对象管理组织( o m g , o b j e c t m a n a g e m e n t g r o u p ) 提的软件丌发过程中的模型组织管理框架足o m g 用以 解决小同中阳j 件平台应用集成和h 操作问题的新途径”。它是在u m l 基础之上构建的 个更高抽象层次的”发模型“1 ,足一种基于u m l 、m o f 、x m i 和c w m 阻及其他工 业标准的框架,支持软件设计和模型的叫视化、存储和交换。m d a 的总体结构如图 i 9 所示,这个结构不仪描绘出了m d a 标准体系的构成与相互关联,其从内环向外环 的过渡性也体现了m d a 软件开发方法的土导思想。 s o a c e f 1 1 a n c e “”5 。? “。 图1 一m d a 的总体结构 与传统的u m l 模型相比,m d a 能够创建出机器可读和高度抽象的模型,这种模 型通过转换( t r a n s f o r m a t l o n ) 技术可白动转换为具体实现一f 台之上的代码、测试脚本以 及并种平台部署捕述等。在m d a 中建模语占不仅仅足分析设计语言,更是一种高级 编程语言。 概括柬说,m d a 的基木思想是将模型作为软件开发过程中的核心制品,它严格区 分系统的功能规约与实现细节,把模刑划分为描述系统业务功能的平台独立模型( p i m , p l a t f o r m i n d e p e n d e m m o d e l ) 和描述系统在特定技术平台上宴现的平台相关模型( p s m , p l a t f o r ms p e c i f i c m o d e l ) ,通过建立相应的映射规则,可以完成p i m 到p s m 的转换以及 p s m 到程序代码的转换,完成软件系统的丌发过程。 5 东北师范大学硕士学位论文 m d a 方法能够有效地解决传统软件开发过程中的生产效率问题、系统移植问题、 互操作问题以及文档和系统后期维护问题,同时使得应用模型与领域模型在整个软件生 命周期中得到了复用,为不同应用之间的数据交换提供了一种有效的途径。 2 2m d a 的基本术语 m d a 中的基本术语主要有模型、平台、抽象、精化、平台无关模型、平台相关模 型、模型转换。 1 模型( m o d e l ) 在m d a 中,模型是m d a 的焦点和核心。那么什么是模型呢? 模型是对系统( 或系 统的一部分) 的结构、功能或行为的规约口1 。首先,模型是一种系统规约,这种规约可以 是对结构的规约,也可以是对系统功能或系统行为的规约;其次,这种规约必须是正式 的,即必须使用一种严格定义没有歧义的语言。所以一个模型必须和一种严格定义了语 法和语义的建模语言绑定在一起。根据模型的这种定义,程序代码也是模型。使用u m l 进行建模可以得到相当精确的模型,这些模型表达了系统各个层面的特征,在类似的系 统开发中可以得到重用。 2 平台( p l a t f o r m ) “平台 的概念是相当复杂和高度依赖环境的。一个平台是指一组子系统和技术的 集合,这些子系统和技术通过接口和特定的使用模式向搭建在平台之上的各种应用程序 提供功能和服务,而这些平台上的应用则不需要关心平台所提供的功能和服务是如何实 现的口1 。平台是与具体技术相关的( 例如j a v a ,c h ) 而特定于软件提供商( 如微软的n e t 平台) 。 在m d a 中,平台这个概念可以表示程序设计语言、信息格式化技术、分布式组件、 中间件等技术,平台无关( 或平台相关) 表示与这些技术无关( 或相关) 。 3 抽象与精化 所谓抽象,是指从众多的事物中抽取出其共同的、本质性的特征,而舍弃其非本质 的特征。例如苹果、香蕉、桃子等,它们共同的特性就是水果。得出水果概念的过程, 就是一个抽象的过程。简而言之,抽象就是略去无关的细节,保留本质性的特征。 与抽象相对应的另一个概念就是求精。求精就是在某模型中增加一些细节,使之更 接近客观现实。所以,简单地说,求精就是现实化。 4 平台无关模型( p l a t f o r l t li n d e p e n d e n tm o d e l ,p i m ) 平台无关模型是对系统功能和结构的形式化描述,是抽象的,代表了业务功能和行 为,不受具体实现技术的影响n 1 。在平台无关模型中,对系统的建模视角是“系统如何 才能最好的支撑业务 。平台无关模型是一个业务为中心的模型并调整业务信息的集成, 不包含实现和代码细节,平台无关模型的所有定义在低层的应用模型和实际的代码中被 重用和继承。设计人员在平台无关模型定义的内容越多,从平台无关模型自动生产的内 容越多。一 6 东北师范大学硕士学位论文 5 平台相关模型( p l a t f o r ms p e c i f i cm o d e ,p s m ) 平台相关模型( p s m ) 是指在特定的技术平台上描述系统功能和结构的模型,它依 赖于该平台所提供的功能和服务,涉及到系统在该平台上的实现细节,因而是与平台相 关的啪3 。p s m 可以通过应用一些转换规则从p i m 转换得到,在m d a 的框架中,p s m 通常是用u m l 在具体技术平台之上的扩充来描述的。例如u m lp r o f i l ef o re j b 是u m l 在e j b 平台之上的扩充。 6 模型转换( p l a t f o r ms p e c i f i cm o d e ,p s m ) 模型转换是m d a 中一个非常重要的概念。概括来说,模型转换是一种模型根据某 些规则变化成另一种模型的过程乜。转换可以是不同抽象层次的模型变化。由一种模型 转换成另一种模型后,模型所包含的信息会变多。图2 给出了模型转换的基本形式。转 换过程的输入包括源模型、转换规则和一些附加信息,这些信息可以是u m lp r o f i l e 、 模式、体系结构风格等犯们。 l 附加信息| 源模型转换规则 土 撇) 输出模型文档 图2 一模型转换的基本形式 m d a 软件开发过程中两个最为主要的转换为:平台无关模型到平台相关模型的转 换和平台相关模型到代码模型的转换。 2 3m d a 核心支撑标准 m d a 的核心是建模和模型映射技术,o m g 为m d a 制定了如下几个核心标准:统 一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) ,元对象设施( m e t ao b j e c tf a c i l i t y , m o f ) , x m i 元数据交换( x m lm e t a d a t ai n t e r c h a n g e ,x m i ) 以及公共仓库元模型( c o m m o n w a r e h o u s em e t a - m o d e l ,c w m ) “刀。m d a 依据这些标准为企业应用建立独立于实现技术 的平台无关模型。 2 3 1 元对象设施( m o f ) m o f ( m e t ao b j e c tf a c i l i t y ) 池1 ,又可被称为元对象设施,是o m g 在1 9 9 7 年提出的 一个对元模型进行描述的、规范的公共抽象定义语言。m o f 是一种元一元模型,即元模 型的元模型。m d a 中的u m l 、c w m 元模型均以m o f 为基础。m o f 标准的建立确保 7 东北师范大学硕士学位论文 了不同元模型之间的交换,是模型在x m l 分析中的基础机制。作为一个描述建模语言 的标准语言,m o f 标准避免了将来由于建模语言不同而引起建模语言间相互理解与转 换的障碍心3 。 m o f 方法的核心是提供一种可扩展的元数据管理方式:它提供一种支持各种元数 据的框架,从而允许按需添加新的类型的元数据。其实现的方法是对元数据分层。m o f 的分层元数据结构是一种典型的四层建模结构,其关键的特性是元一元建模层把元模型 和模型联系在一起。四层建模结构从下之上依次为:m o 、m i 、m 2 、m 3 ,如图3 m j 所 示: 图3 一m o fm e t a d a t aa r c h i t e c t u r e ( 1 ) m 0 对象层,用来描述真实世界中的对象和数据,如用户c h e r r y 、账户2 9 8 9 等; ( 2 ) m 1 模型层,将对象的概念抽象成模型,形如用u m l 描述的模型,即m 2 层结 构的实例,如“c u s t o m e r 类等; ( 3 ) m 2 元模型层,m o f 的m 2 层模型中最显著的例子莫过于u m l 的建模元素了, 亦即通常所说的u m l 类、u m l 包、u m l 关联等,它描述了u m l 本身,是对模型层 中的概念进行更深一步的抽象,形成模型的模型; ( 4 ) m 3 元一元模型层,它的元素是m o f 为定义元模型所提供的结构。包含c l a s s ( 类) , a t t r i b u t e ( 属性) 、a s s o c i a t i o n ( 关联) 等。可以简单的认为,m o f 就是用来定义元模型的 结构集。 在m o f 中,每个层次的上一层是下一层的模型,本层次的描述语言在它的上一层 模型中。如m 3 层中的c l a s s 用来描述m 2 层的元素,那么m 3 层的元素是用什么来描述 的呢? 答案就是m o fm o d e l 它自己。因为m o f 模型是自描述的,也就是说m o f 模型 是用自己的建模元素进行形式化定义的。核心m o f 模型是个很小的面向对象信息建模 元素集合。通过继承和组合可扩展成一个更丰富的信息模型。正是m o f 的自描述特性, 才使其具有非常良好的可扩展性和可修改性。 8 东北师范大学硕士学位论文 m o f 不仅能够使得不同元模型之间可以互相操作,而且还能被应用于定义模型转 换规则,用m o f 描述的源语言和目标语言可以无缝的进行转换。 2 3 2 统一建模语言( u m l ) 统一建模语言u m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论