




已阅读5页,还剩72页未读, 继续免费阅读
(计算机应用技术专业论文)模型转换引擎的研究与设计.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
扛苏大学硕士学位论文 摘要 模型驱动架构( m d a ) 是一个软件开发框架,是继c o r b a 、u m l 之后 由o m g 推出的重要的软件开发方法学。o m g 对m d a 的构想是将软件系统的 开发行为提升到对更高的抽象层级的关注,通过模型的变换来驱动系统的开发, 在兼容已有技术的条件下使模型价值最大化。 虽然构建平台模型方面业内已经建立了相关标准,但模型间的相互转换技 术尚处在探索阶段。m d a 的核心问题是模型转换,模型转换技术上的一点突 破,都会对代码的自动化生成、异构平台的集成与互操作以及软件面对不断涌 现出的新技术和新平台的自治性等方面都有着巨大的影响。目前的研究大都局 限于某一具体领域或平台,虽然提出了很多转换方法和提案,却没有形成统一 的标准,商业化更是奢谈, 针对模型转换规范匮乏的问题,经过对业内主流的模型转换方法及模型转 换特征模型的分析,模型转换问题主要表现在:转换方法较为繁杂、转换技术 可复用性和通用性较差及缺少统一的规则语义,这些都给模型转换带来了极大 的困难。鉴于此,本文提出基于转换规则的模型转换引擎m t e ,从规则及其语 义层面以及转换通用性方面探索转换问题。首先讨论了转换中源和目标模型关 系及其形式化表示;然后着重分析了转换规则的语义,定义了转换规则和给出 了m t e 规则库的组织形式,并对m t e 的主要部件和工作原理作了详细的阐述。 最后应用实例对m t e 作了验证。 本文的主要内容如下: 1 ) 把目前关于模型转换已有的经典提案和主要模型转换方法进行了归并 与分类,对各个分类进行了评述。 2 ) 设计了基于x m i 的模型转换原型,采用x m ib u s 将m o f 和x m l 很 好的结合在一起,方便处理异构数据格式、数据交换和通信等。给出 了实际应用,讨论了该转换方法的优缺点。 3 ) 提出了基于转换规则的模型转换引擎m t e 。定义m t e 包括三个主要 部件:转换规则库、转换调度器和转换过程管理。分析了转换规则语 义和详细讨论了转换引擎的工作原理、组织结构、相关性质以及转换 过程的管理和保存等。最后应用。m t e 思想完成了一个模型转换的实 例,实例的转换规则的定义是用r d l 语言完成的, 4 ) 文章最后进行了展望,对模型转换的发展趋势大胆地傲了一个预测。 关键词;模型驱动架构,模型转换引擎,元对象设施,x m i ,关联定义语言 m 豇苏大学硕士学位论文 a b s t r a c t a b o u ts e t t i n gu pt h ep l a t f o r mm o d e l ,r e l a t e ds t a n d a r d sh a v ea l r e a d yb u i l tu pi n t h cf i e l d m u t u a lm o d e lt r a n s f o r m a t i o nt e c h n i q u ei sn o tm a t u r ey e t m o d e l t r a n s f o r m a t i o ni st h ep i v o t a lp r o b l e mo fm d a e a c hd e v e l o p m e n ts t e po fm o d e l t r a n s f o r m a t i o nw i l li n f l u e n c eg r e a t l yt h er e a l l z a t i o no fa u t o m a t i cc o d eg e n e r a t i o n , i n t e g r a t i o n c o r r e s p o n d e n c eo fd i f f e r e n tp l a t f o r m sa n dn e wt e c h n o l o g i e se m e r g i n g i nt h ef i e l d n 地p r o f o u n di n f l u e n c eo fm o d e lt r a n s f o r m a t i o no nt h es o r w a r er e a l m m a k e si tb e c o m et h er e s e a r c hh o t s p o ti nt h ef i e l d b u tc u r r e n tr e s e a r c ho n l yl o c a t e d a ts o m eo n ec o n c r e t er e a l mo rp l a t f o r mm o s t l y , a n dt h eu n i f o r ms t a n d a r dh a sn o t b e e nf o r m e dy e tn o tt as a yc o m m e r c i a la p p l i c a t i o n , a l t h o u g hal o to f t r a n s f o r m a t i o n m e t h o d sa n dp r o p o s a lh a v eb e e np u tf o r w a r d c o n s i d e r i n gt h es i t u a t i o nt h a tm o d e lt r a n s f o r m a t i o nh a sn ou n i f o r ms t a n d a r d , m a g i s t r a lm o d e lt r a n s f o r m a t i o nm e t h o d s ,a n da l s om o d e lt r a n s f o r m a t i o nf e a t u r e m o d e la r ea n a l y z e di nt h ea r t i c l e n 砖d e f a u t so ft h e s em o d e lt r a n s f o r m a t i o n m e t h o d sa r ca sf o l l o w s :a r i t h m e t i ci st o oc o m p l e x ,w i t hb a dr e u s ea n dl i t t l eu n i v e r s a l , a ts a r n et i m e ,u n i f o r ms e m a n t i c si sl a c ka l lt h ep r o b l e m sa b o v em a k ei td i f f i c u l t a p p l i c a t ef o rm o d e lt r a n s f o r m a t i o n s o ,m o d e lt r a n s f o r m a t i o ne n g i n e ( m t e ) o nt h e t r a n s f o r m a t i o nr u l e si sb r o u g h tu pi nt h ep a g e m o d e lt r a n s f o r m a t i o ni sd i s c u s s e d f r o mr u l e s & i t ss e m a n t i c s ,a n dg e n e r a lu a n s f o r m a t i o np a r t f i r s t l y , t h er e l a t i o n s h i p b e t w e e ns o u c ea n dd e s t i n a t i o n , f o r m a l i z a t i o nd e s c r i p t i o na r ed i s c u s s e di np a p e r s c c o n d l gs e m a n t i c so ft r a n s f o r m a t i o nr u l e si sa n a l y z e d :t r a n s f o r m a t i o nr u l e sa r e d e f i n e d ,a n ds t r u c t m eo fm t e r u l el i b r a r yi sg n e n 皿a j np a r t sa n dp r i n c i p l eo fm t e a r ed i s c r i b e di nd e t a i l s f i n a l l y , m t ei sv a l i d a t e du s i n ga ni n s t a n c e t h em a i nt a s ka n da i mo f 也ep a p e ri n c l u d e s : 1 t h ec l a s s i cp r o p o s a la n dm a i nm e t h o da b o u tc u r r e n t l ym o d e lt r a n s f o r m a t i o n , c o m b i n e da n dc l a s s f i e dc a r r i e do n ac o m m e n tt oe a c hc l a s s i f i c a t i o n 2 d e s i g nap r o t o t y p eo fm o d e lt r a n s f o r m a t i o nb a s e do nt h ex m l - m o fa n dx m l a r ei n t e g r a t e db yt h ex m lb u sw h i c hi sc o n v e n i e n tt od i f f e r e n td a t af o r m a td a t a e x c h a n g ea n dc o m m u n i c a t i o n a na p p l i c a t i o n i sg i v e n ,a n da l s oe x c e l l e n c e s & d e f e c t so f t h em o d e lt r a n s f o r m a t i o na r ed e s c r i b e d 3 n l em o d e lt r a n s f o r m a t i o ne n g i n e ( m t e ) o nt h eb a s eo fm o d e lt r a n s f o r m a t i o n r u l e si s b r o u g h t - = u p m t ec o n s i s t s o ft l l r e ep a r t s :t r a n s f o r m a t i o nr u l el i b r a r y , t r a n s f o r m a t i o ns c h e d u l i n ga n dt r a n s f o r m a t i o np r o c e s sm a n a g e r t r a n s f o r m a t i o n r u l e sm e a n i n gi sa n a l y z e ,a n dt h ec o n c e p t ,s t r u c t u r e ,c h a r a c t e r so ft r a n s f o r m a t i o r 江苏大学硕士学位论文 e n g i n ei sd i s c u s s e di nd e t a i l s ,t r a n s f o r m a t i o nm a n a g e m e n ta n dc o n s e r v a t i o na l ea l s o d i s c u s s e d f i n a l l y , a ni _ r l s t m c ei si m p l e m e n t e du s i n gm t e 4 f i n a l l y , af o r e c a s to n1 1 1 ed e v e l o p m e n tt e n d e n c yo ft h em o d e lt r a n s f o r m a t i o ni s b o l d l ym a d e ,i nt h ep a p e r k e y w o r d s :m o d e ld r i v e na r c h i t e c t u r e ,m o d e lt r a n s f o r m a t i o ne n g i n e , m d a ,m t e ,m o f , x m i ,r d l v 学位论文版权使用授权书 本学位论文作者完全了解学校有关保留、使用学位论文 的规定,同意学校保留并向国家有关部门或机构送交论文的 复印件和电子版,允许论文被查阅和借阅。本人授权江苏大 学可以将本学位论文的全部内容或部分内容编入有关数据 库进行检索,可以采用影印、缩印或扫描等复制手段保存和 汇编本学位论文。 保密口,在年解密后适用本授权书。 本学位论文属于 不保密囱。 学位论文作者签名:艰霞f 坚指导教师签名:均鼢 彩年月7 日d 占年6 月7 日 j f i 独创性声明 本人郑重声明:所呈交的学位论文,是本人在导师的 指导下,独立进行研究工作所取得的成果。除文中已注明引 用的内容以外,本论文不包含任何其他个人或集体已经发表 或撰写过的作品成果。对本文的研究做出重要贡献的个人和 集体,均已在文中以明确方式标明。本人完全意识到本声明 的法律结果由本人承担。 学位论文作者签名:压昵悠 日期: 护缉莎月7 日 江苏大学硕士学位论文 第一章绪论 在介绍软件工程领域存在的问题和模型转换领域现状的基础上,对论文研究 背景和研究内容做了说明,列举了主要研究工作,并给出了文章的组织结构。 1 1 软件危机 以计算机技术为代表的信息技术对人类社会已经产生了深刻的影响,随着网 络的发展,这种影响的蔓延呈现出愈演愈烈的趋势。社会对于信息的需求似乎永 远也得不到满足。计算机硬件遵循摩尔定律稳步发展,网络的发展则超越了摩尔 定律。与之不相协调的是,计算机软件的生产一直没有成熟起来。面对工业化的 需求,绝大多数软件还是通过手工艺的生产模式开发的。相对于硬件技术的突飞 猛进,软件业目前最多只能算是尚处在刀耕火种的石器时代。如何为软件的工业 化大生产创造必要的技术条件和生产模式成为软件工程研究的当务之急。 1 1 1 软件开发中存在的问题 系统开发是对问题域的求解:理解所面临的问题,对需求进行抽象提取,直 至实现并解决问题。其中需求可以被认为是相关领域有待解决的问题。图1 1 描 述了软件开发的过程,从最初特定领域中的问题开始,经过漫长的开发过程,最 终得到了运行在某种环境中的系统( 解决方案) 。每个阶段都以上一阶段的模型作 为输,b 。在阶段活动中对模型加以修改和更新,并成为阶段输出。 一 图1 1 软件开发( 问题求解) 的过程 系统开发结束,重新审视一下系统,并回顾一下开发系统时艰辛而又漫长的 江苏大学硕士学位论文 过程,却发现: 生产效率问题:在开发过程中,不断变更的需求常常使程序员疲于应付,他 们将不再按照软件工程的要求从需求、分析和设计开始,而是直接修改代码,这 样导致初期产生的文档和图表( 如u m l 图) 将与最终系统渐行渐远,最初花费 大量人力物力才获得的文档和图表很快就失去价值,导致生产力的浪费。而为了 以后的维护,系统完工后,又需要补写大量的文档,相同的劳动不仅再次重复, 而且后期文档制作草率,质量堪忧。 可移植性问题:软件产业每半年甚至更短的时间内都会有新技术的诞生,如 j a v a ,x m l 、x m i 、s o a p ,u m l 、j 2 e e 、n e t ,o l a p ,w e bs e r v i c e ,o rm a p p i n g 等。于是现存的软件要么被移植到新的技术,要么移植到老技术的新版本。每当 一种新的技术产生的时候,我们必须做许多重复的工作,就算软件依然我行我素 的使用老技术,但它还是要和新技术或新系统交互。 互操作问题:软件系统很少可以与世隔绝地生活在桃花源中。大多数系统需 要同别的系统交流。哪怕系统是完全新建的,它们也需要跨越多种技术。例如, 当系统使用e j b 时,它还是需要关系型数据库作为存储机制。在过去的年代里, 经验告诉人们,应该采用组件技术使系统改动变得简单。不同的组件均使用了最 适合它们工作的技术来创建的,进而引出了组件的互操作问题。 1 1 2 中间件的新问题 中间件( m i d d l e w a r e ) 是基础软件的一大类,属于可复用软件的范畴。中间 件在操作系统、网络与数据库之上,应用软件的下层,总的作用是为处于自己上 层的应用软件提供运行与开发的环境,帮助用户灵活、高效地开发和集成复杂的 应用软件。 中间件的本意是要屏蔽不同厂商产品之间的差异,然而具有讽刺意义的是, 中间件本身却创造了新的差异。常见的中间件技术诸如c o r b a 、e j b 、s o a p , c o m + 和面向消息中间件等无法互相兼容,要在它们之间建立联系,需要耗费大 量的时间和金钱。同时新旧平台间的迁移几乎总是非常昂贵且易于造成混乱。 过去的十年,中间件领域不断变化。多年来,人们设想最终会出现一个绝对 的赢家,一统天下,而时间最终证实了多数人埋在心底的疑虑:基于席业烈蕴, 新凳争者的盛觅永远7 洽萨止! 随着时间的推移,以单一技术取代多种技术并存 的希望变得极其渺茫! 使问题更加复杂的是,在i n t e m e t 卷入企业市场之前,企业在防火墙内外使 用了不同的通信技术。现在有的企业希望把内部组件公开到防火墙之外,如进行 b 2 b 商务;有的则希望把外网组件移到防火墙之内,如企业间的购并。因此除了 2 江苏大学硕士学位论文 要解决基本集成问题,i t 业还必须找出一种方法,在由于企业边界移动而造成 底层技术也发生变化时,能够保护他们在新组件上的开发投资。 1 1 3 以企业为中心的计算所承受的压力 回首过去,我们发现,随着时间流逝,软件开发的关注焦点也在不停地发生 迁移,表1 1 清晰的表明了5 0 年来的计算之路。 表1 1 软件开发历程 年代编程方式软件关注点 1 9 5 0 机器码 高昂的硬件成本使得机器成为计算的中心 延续了以机器为中心的计算方法的寿命,但简单的指 1 9 5 0 1 9 6 5 汇编语言 令集代码却彻底地避免了人脑的思维方式二进制化 1 9 6 5 - 1 9 8 5 3 g l ,如c 和p a s c a l以应用为中心,关注点迁移到了应用逻辑 1 9 8 5 今天 面向对象、组件技术以企业为中心,整合企业内部信息孤岛 今天一接下来是什么? 随着时间的推移,人们对计算所能实现的自动化程度的期望越来越高,人们 已经不再满足于在企业内部建立自动化的“孤岛”,“孤岛”间有重叠的功能,造 成了重复的信息,而且稀缺资源多次被用于解决同一问题。因此有必要在企业内 部将这些“孤岛”连接整合,期望以企业为中心的计算。 面向对象技术和组件技术的发展,很大程度上减轻了以企业为中心的计算所 承受的压力,但是并没有从根本上解决企业间整合( b 2 b i ,b u s i n e s s t o b u s s i n e s s i n t e g r a t i o n ) 的问题。b 2 b i 不仅涉及企业内部的孤立系统和数据格式,还需要处 理企业间系统的差异和业界正在制定的b 2 b 消息格式。i t 经理人面对的不仅是 生产成本和产品质量的压力,还要随时面对“平台的易芟拦( p l a t f o r mv o l a t i l i t y ) “j j ,保守易落后,前瞻有风险,哪怕是具有天才般的预见性,他们也无法保证 每一次选择的正确性。 荷马史诗中西西弗斯必须将一块巨石推上一座山,每当接近山顶时,巨石会 又滚下来,因此他的苦役永无止蝌“。当今i t 人正在演绎i t 版西西弗斯一他们 试图维持可行性方程,但面对的却是快速变化的技术和日益复杂的需求。 m 1 ) a 则是针对软件开发中存在的上述问题提出的一个解决框架。 1 2 模型转换领域现状 早在1 9 8 9 年,为了解决跨平台的软件互操作问题,由软件技术供应商、开发 者和最终用户共同发起成立了对象管理集团o m g 。这个组织所提出的互操作标 江苏大学硕士学位论文 准c o r b a 可以堪称技术上的典范,接下来的e j b ,s o a p ,c o m + ,面向消息 等异军突起,为中间件技术又平添了一把火。然而仅仅依靠孤立的接口标准所能 达到的跨平台互操作能力并不能满足需求,跨平台的软件互操作需要一个根本的 解决方案。o m g 的工程师们开始把眼光放到更远的地方,希望在更高的层面上 一统这兵荒马乱的局面,于是他们提出了m d a 的概念。模型转换则是m d a 中 最为核心的概念。 1 。2 1m d a 与软件开发 8 0 年代软件工程领域曾经出现过计算机辅助软件工程( c a s e ) 的热潮,人 们希望依靠c a s e 来实现工业化大生产。早期的努力没有获得成功,现在已经没 有人再提“无程序员编程”了。 希望往往在绝望中孕育成长。最近的十年,企业级的分布式应用飞速成为主 流,带来了对系统性能、可伸缩性的严格要求,大量分布式系统的出现,大量异 构平台的整合需求,引发了中间件战争的爆发,过去的十年,是企业应用系统和 中间件技术的十年。同时随着面向对象技术和组件技术的成熟,人们期望能像工 业领域大量使用标准件生产产品那样,大量重用组件来“装配”软件。可是这种 生产模式的发展,再一次让人们失望了,大规模的“装配”软件生产还是一个遥 远的梦想。 人们用强向对象技术精心培育的花朵结出了两个果子,一个是人们期望的组 件技术,却并不那么好吃,但另一个果子一面向对象建模技术却越来越成熟。 o m g 于2 0 0 1 年7 月推出的模型驱动体系架构( m o d e ld r i v e na r c h i t e c t u r e ,m d a ) 翻草案是建模技术发展史上的个里程碑。 图1 , 2 m d a 技术框架 江苏大学硕士学位论文 2 0 0 2 年初,o m o 宣布,模型驱动架构( m d a ) 是其未来的战略方向。m d a 是一个软件开发框架,它是由o m g 继c o r b a 、u m l 之后推出的重要的软件开 发方法学。m d a 将软件系统建立在各种模型的基础上,通过模型的变换来驱动 系统的开发,同时它也是解决形式化模型的规范和互操作性的一个途径。 m d a 的推出,标志着软件业界对模型价值的重新定位,它将不再只是扮演 软件开发的配角,而是作为核心贯穿整个开发的始末。这种阻模型为核心的开发 将使软件的面貌以及生产软件的模型都大为改观。在m d a 中,软件开发过程是 由对软件系统的建模行为驱动的。m d a 的提出,带给软件界的影响将是深远的, 很可能揭开软件业新篇章的序曲。 1 2 2 模型转换及其在m d a 中的角色 在m d a 中,软件开发是通过建模行为来驱动的,通过模型的转换完成软件 开发过程,模型转换是最重要的部分,只有圆满地解决了模型转换的问题,才能 够更加便利地实现代码的自动生成,才能够解决不同平台,不同技术路线的集成 和互操作问题,才能不断适应涌现出的新技术和新平台。 模型转换在m d a 中占有核心角色位置。目前在构建平台模型方面业内已经 建立了一些标准,但这些模型间应当建立的相互转换技术却没有发展成熟。为了 完成“建模一次,任意复用( m o r e ,m o d e lo n c ea n dr e u s ee l s e w h e r e ) ”的伟大 构想,o m g 正在积极组织制订统一的模型转换标准,提出了q v t ( 模型的查询、 视图、转换) r f p ,迄今已经收到多个提案,但是还没有形成统一的标准。 1 2 3 模型转换工具的现状 模型转换在软件领域的深远影响力使其成为业内研究热点,转换大都局限于 具体的某一领域或平台,或者是理论上的一种探讨,目前人们已经提出了很多的 转换方法和提案,但没有形成统一的标准。此外,除了用于特定领域或平台的转 换之外,商业性模型转换产品几乎没有。 表1 2 对现有m d a 工具进行了分类,各个工具或从不同层面,或在特定领 域,或多或少的完成或部分完成了模型转换的功能,它们在完成模型转换时所采 用的模型转换方法会在3 3 详细讨论。在当前能够运行的模型转换语言中,m t f 和a t l 都是比较著名的。m t f 是m m 开发的模型工具,而a t l 则是e e f i p s e 的 g m t 中包含的模型转换语言。从影响力来看,旗鼓相当,但都还没有商业化, 仍处于研究阶段。 江苏大学硕士学位论文 表1 2 m d a 工具 转换工具类别工兵 t 基于m d a 规范的模型生成工具 a r c s t y l e ,o p t i m a l j ,m c c 等 2模型转换工具a t l ,m t f 等 3模型仓库m o d f a c t ,m t l 等 4模型生成框架 o p e n a r c h i t e c t u r e w a r e ,o p e n m d x ,k m f 等 5帆也工具 x d e t o g e t h e r , c o d a g c n 等 6基于m d a 开发的支持工具 m t f 和a t l 都是基于e e l i p s c 平台和e m f 的。不同之处在于,m t f 更加倾 向于构造一个完全描述性的语言,可以用来描述双向转换规则,即源模型和目标 模型可以对等转换。在m t f 中,模型层次和m o f 中的四层模型是一致的。m t f 缺乏描述复杂规则的能力,使用一种中庸的简单比较功能来限定转换的条件。更 进一步,如果在源模型中使用o c l 定义了某种约束,但在m t f 的转换中却不能 直接使用或者直接体现这个约束。 a t l 使用了o c l 作为约束描述语言,而且基本上实现了o c l ( 略有修改) , 相对于m t f 来说,功能是强大的。a t l 是一个描述性和命令行共存的混合语言, 一般用来描述单向转换规则。a t l 的模型层次大多是在m 1 层定义转换,而进行 转换的是m o 层的模型,即对象模型。从m o f 模型的角度看,m t f 更容易理解 和接受。 总而言之,m t f 是一个双向的描述性模型转换语言,安装简单,易于上手 的,容易理解,功能目前来说还是比较有限的。a t l 是开源的,单向的混合型( 描 述性和命令行并存) 模型转换语言,使用o c l 来描述约束,描述规则的能力较 好,但安装和使用复杂,不支持双向应用,应用的门槛比较高。 1 3 本文研究工作 1 3 1 研究背景 表1 - 3 是著名的m d a 工具o p t i m a l j 的开发商c o m p u w a r e 公司曾委托t h e m i d d l e w a r e 公司研究过的一个案例【3 1 。两个团队开发同一应用,其中一个使用以 模型为中心的m d a 开发方式,另一个以代码为中心。基于公平的角度,案例选 择了众所周知的j 2 e ep e t s t o r e 个基于w e b 的j 2 e e 电子商务系统,其功能基 本可以代表当今的主流b 2 b 应用。 6 江苏大学硕士学位论文 表1 3 不同团队开发统计结果 团队初始估算小时数实际的小时数 传统团队 4 9 9 5 0 7 5 m d a 团队 4 4 23 3 0 表1 2 表明和传统团队相比,m d a 团队在效率上占有绝对优势,而且这里 还没有计算第一次使用m d a 时需要掌握的理论和工具的学习时间。 m d a 将软件系统建立在各种模型的基础上,通过模型的变换来驱动系统的 开发,软件开发过程是由对软件系统的建模行为驱动的。它提供了一种使用模型 来指导系统的理解、设计、构造、开发、操作、维护和修改的方法。m d a 的目 的是为了解决以下问题: 改变了以代码为中心的软件开发格局; 解决不同平台,不同技术路线之间的集成和互操作问题; 便于适应将来出现的新技术和新平台。 “建模一次,任意复用( m o r e ,m o d e lo n c ea n dr e u s ee l s e w h e r e ) ”,这是 m d a 的伟大构想,m d a 的核心问题归根到底是要解决模型转换问题。目前在 模型转换领域尚没有统一的标准。 基于上述情况,本文力图通过研究分析国内外主流模型转换方法,针对模型 转换中面临的困难,设计模型转换引擎,并辅以相应的构造方法,来指导和完成 模型转换。 1 3 2 研究内容 本文研究了m d a 的核心问题一模型转换,主要研究工作及预期目标包括以 下几个方面: 1 ) 研究m d a 技术及其整体技术框架和解决方案,并用u m l + o c l 给出形 式化精确定义模型的方案。 2 ) 归并主要的模型转换方法和提案,分析模型转换特征模型,为构建m t e 提供了不同的设计选择和考虑要素。 3 ) 运用x m ib u s 将m o f 和x m l 结合起来,设计基于x m i 的模型转换原 型,为提出通用的模型转换解决方案做出尝试性探索。 4 ) 提出基于转换规则的模型转换引擎m t e ,定义m t e 由三大部件组成: 转换规则库、转换调度器和转换过程管理。给出具体转换步骤和应用实 棚1 扛苏大学硕士学位论文 1 3 3 论文组织 本文是按照技术综述、模型设计、归类分析、设计方案、应用实例和趋势预 测这样一个循序渐进的过程来展开,具体章节安排如下: ? 第一章,讨论了目前软件开发领域存在的问题和模型转换领域现状,对论文 的研究背景和研究现状进行了详细说明。 第二章,剖析了模型技术和m d a 的完整框架,研究与分析了m d a 的核心 技术和解决方案,给出了用u m l + o c l 定义精确模型的实例。 第三章,阐述了模型转换的基本概念,剖析了模型转换的特征模型。把目前 已有的主要模型转换经典提案和方法进行了归并与分类,同时对分类进行了评 论。 第四章,设计了基于x m i 的模型转换原型。运用x m ib u s 将m o f 和x m l 很好的结合在一起,解决了异构环境下的工具和各种模型间的交互与协同,方便 处理异构数据格式、数据交换和通信等。给出了实际应用,讨论了该转换方法的 优缺点。 第五章,提出了模型转换引擎m t e ,定义了m t e 的三个主要部件;转换规 则库、转换调度器和转换过程管理。详细讨论了m t e 的概念、工作原理、组织 形式、相关性质以及如何对转换过程的管理以达到在模型转换时对模型跟踪、调 试、保存和同步等。 第六章,应用m t e 进行转换的实例。运用关联定义语言r d l 完成了u m l 模型到关系型模型的转换定义。 第七章,文章最后对全文进行了总结,对模型转换的未来发展趋势做了一个 预测。 江苏大学硕士学位论文 第二章相关技术 主要剖析了m d a 技术框架、m o f 理论、x m i 技术以及u m l 和o c l 技术。 为论文研究工作的开展做了理论铺垫。 2 1 模型驱动架构 m d a 是由o m g 继c o 刚认、u m l 之后推出的重要的软件开发方法学。它 定义了一种系统描述方法,将系统功能描述从特定技术平台的功能实现描述中分 离出来。m d a 的核心思想是抽象出与实现技术无关、完整描述业务功能的核心 模型p i m ( p l a t f o r m i n d e p e n d e n tm o d e l ) ,针对不同实现技术制定多个映射规则, 然后通过这些映射规则及辅助工具将p i m 转换成与具体实现技术相关的应用模 型p s m ( p l a t f o r m s p e c i f i c m o d e l ) ,最后,在一定程度上将p s m 自动转换成代码。 按照m d a 的理念,变换都将由变换工具自动完成。 2 1 1m d a 中的模型 为什么在构建物体或系统之前要建模? 简单的事物不需要在创建之前进行 建模,如一个简单的通讯录、简单的货币换算工具、一间犬舍等,这些项目具有 下列全部或大部分特点: 问题域比较清楚,解决方案比较容易构建; 需要很少的人协作构建或使用本解决方案( 一般1 2 人) ; 该解决方案需要修改和持续维护工作量很小; 未来需求不会有实质性的变化。 但是如果假设这些特点都不具备呢? 建筑师无需设计图就可以建造犬舍,但 是如果他们没有撰写计划、设计图和构造某种可视化实物模型,那么就不能建造 一幢1 5 层的办公太楼。所以说建模与否,答案在于复杂性和风险,并且最初的 专业人员并不是一直适合开发任务,甚至根本不能完成任务。 图2 1 提出建模光谱1 4 ,每一个类型表示了一个开发模式,从左到右建模层 次的抽象度变得越来越高。从最初的集成开发环境( i d e ) 到代码可视化与可视 化编辑。从考虑双向工程的建模过渡到以模型为中心,最理想的境界是可执行的 模型,运行于模型虚拟机之上。 江苏大学硕士学位论文 图2 1 建模光谱 图2 1 建模光谱最右端表示的是在软件开发中只有模型的方法。一个有趣的 例子是越来越多的组织将他们的系统实现和维护进行外包,自己维护整个企业架 构的控制。建模光谱的最右端也表明了这种趋势,企业希望不再关注具体实现, 希望有可执行的模型机直接“编译”由建模人员构建的业务模型。从光谱的走势 来看,模型驱动的思想和建模光谱是吻合的。 模型是对系统的一部分结构、功能或行为的形式化规约【5 l 。首先,模型是一 种系统规约,这种规约可以是对结构的规约也可以是对系统功能或系统行为的规 约:其次,这种规约必须是形式化的,必须使用一种严格定义且无歧义的语言。 所以一个模型必须和一种严格定义了语法和语义的建模语言绑定在一起。根据模 型的这种定义,程序代码也是模型。 有三种模型位于m d a 的核心。平台独立模型( p i m ) ,具有高抽象层次、 独立于任何实现技术的模型;平台相关模型( p s m ) ,为某种特定实现技术量身 定做,使用这种技术( 如e j b ) 中可用的实现构造来描述系统的模型;代码,用 源代码对系统的描述( 规约) 。p i m 会被变换成一个或多个p s m 。每个p s m 都 将被变换成代码。图2 2 描述了m d a 中涉及的三种模型及m d a 基本开发步骤。 图2 2m d a 模型简易描述及其开发步骤 1 ) 首先建模者会从如何以最好的方式支持商业逻辑的角度来对系统进行建 模,创建平台无关模型p i m 。p i m 是对系统高层次的一种抽象,与具体 的实现技术无关。建模人员会根据客户需求及其相关因素对p i m 不断进 行优化,以使得它能够更加精确地描述系统。 2 ) j 接下来,p i m 可以被转换到一个或者多个特定平台模型p s m ,对于每种 特定的技术平台都会生成独立的p s m 。p s m 是针对用户选择的实现技术 l o 江苏大学硕士学位论文 或平台,对系统量身定做的模型。例如,e j bp s m 是对使用k i b 结构的 系统的建模,它包含一些e j b 相关的名称,例如”h o m ei n t e r f a c e ”e n t i t y b e a n ”s e s s i o nb e a n ”等。关系数据库p s m 包含名称如”t a b l e ” ! c o l u m n ” ”f o r e i g nk e y ! 等。由于现今的很多系统都跨越多种技术,所以对于一个 p i m 拥有多个p s m 是很正常的。这是m d a 中最复杂、最关键的一步。 ”从p i m 自动生成的p s m 有时并不能使挑剔的程序员满意,他们会根据 平台的特性对p s m 加以修改,希望对p s m 的改变也能够反映到p i m 中 去,这意味着:变换需要具备可调性:同时变换不仅可以从源模型到目 标模型,还可以从目标模型到源模型,变换是双向的。 4 1 对p s m 进行不断的优化,以指导生成器生成质量更高的代码。 5 1 最后一步就是将每个p s m 都转换到代码,由于p s m 跟具体的系统实现 技术已经很接近,因此这种转换来得比较直接。 2 1 2m d a 的完整框架 模型、p i m 、p s m 、c o d e 是m d a 框架的主要元素。在m d a 中,还有一 些核心的元素,如语言、元语言、转换、转换定义以及转换工具等,它们及箕间 的相互关系共同构成了m d a 的完整框架f 5 】( 如图2 3 ) 。这里对这些元素以及它 们的角色做了一个概括: 模型是对系统的描述,并且是用精确定义的语言书写的。 p i m 是平台独立模型,描述了系统,但不涉及最终实现平台的知识。 p s m 是平台相关模型,描述了系统,并且包含最终实现平台的全部 知识。 转换定义描述了源语言表述的模型如何转换到目标语言表述的模型。转 换定义可以通过指定集合中的所有转换规则来定义,也可以通过指定按 顺序执行别的转换定义来定义。 转换是按照转换定义从源模型到目标模型的自动生成。 转换工具按照转换定义为特定的源模型执行转换。 元语言首先是一种精确定义的语言( 如b n f ) ,但元语言在m d a 框架中 扮演的角色不同于一般的建模语言,它是描述建模语言的特殊语言。 转换定义语言是指用来表述转换定义的语言。在这样的语言中,人们可 以基于语言元模型来定义转换。转换定义语言是元语言,因为它工作于 元层次。 江苏大学硕士学位论文 图2 3m d a 完整框架( 引自m d ae x p l a i n e d9 4 节) 在图2 3 中只显示了一个p s m ,实际上一个p i m 可生成多个p s m ,而且还 会生成它们之间可能的桥接器。图中只有一个从p i m 到p s m 的变换,实际上另 一个变换一从p s m 到代码,也是必要的。 从开发者角度看,p s m 和p i m 是最重要的元素。开发者把注意力集中于开 发p i m 模型,在高抽象层次描述软件系统。然后选择一种或多种工具来执行对 p i m 的变换。这些工具是按照特定的变换定义开发的。变换的结果是p s m ,p s m 再被变换成代码。 大多数开发者一般不需要关注框架中的元层次,然而终究还是要有人来完成 对语言的定义以及定义语言间的变换,对于他们来说,透彻理解框架中的元层次 是至关重要的。 2 2 元对象设施( m o f ) 过去,语言常常是通过用b n f ( 巴科斯一诺尔范式) 描述的文法( g r a m m a r ) 来定义,文法描述了语言中哪些符号( t o k e n ) 序列是正确的表达式。它适合基 于文本的语言( 如3 g l ) ,已被广泛运用,然而建模语言通常不是基于文本的, 它们有着图形语法( 如u m l ) 。因此,在m d a 环境中定义语言需要一种不同的 机制,这种机制称为“元建模”【5 】o 1 2 江苏大学硕士学位论文 2 2 1 m o f 的元层次 构建者拒绝了把各种不同的建模结构集都合并成一个集合的想法,因为这意 味着把所有语言合并为一种。因而,人们决定定义一种统一方法来描述不同类型 的建模结构。这样就可以用一种统一的方式来描述组成某类模型的建模结构属性 以及建模结构间的关系。 m o f ( m e s ao b j e c tf a c i l i t y ) 1 6 】就是描述建模结构的统一方法。m o f 被用来 描述关系数据模型的建模结构,也被用来描述u m l 类模型的建模结构:它还被 用来描述其他种类的建模所用到的结构。 m o f 是为元模型规范定义公共抽象语言的一种o m g 标准,提供了表示多 层抽象信息的能力,这种多层抽象被称为元级( m e t al e v e l ) ,在较高元级上的信 息提供了对其下属元级信息的更加抽象的表示。m o f 构架包含4 个元层次,分 别命名为m 3 、m 2 、m 1 、m 0 ( 如表2 1 所示) 。其中m 0 层次包含数据和对象, 现实中运行的系统也处于这一层;m 1 层包含各类模型,是对m 0 层元素的抽象, 它们本身也是m 2 层的实例;m 2 层包含由m o f 结构定义的元模型,正如m 1 层包含了用来思考m 0 层元素的概念一样,m 2 层也包含了用来思考m 1 层概念 的概念【5 1 ,例如类( c l a s s ) 和关联( a s s o c i a t i o n ) ;m 3 层是m o f ,它的元素是为 定义元模型提供的结构。 表2 1m o f 元层次 元层次:描述元素 m 3 :m o f ,即定义元模型的构造集合m o f 类、m o f 属性、m o f 关联等 m 2 :元模型,由m o f 构造的实例组成u m l 类、属性、状态、活动等;c w m 表、列等 m 1 :模型,由m 2 元模型构造的实例组成“c u s t o m e r ”类、“a c c o u n t ”类、“v e n d o r ”表 m 0 :对象和数据,即m 1 模型构造的实例客户b o b 、帐户2 3 4 4 、商家7 8 9 8 8 等 不再需要更多的层次了,o m g “力厂雨謦事劳描皇旁y ,规定了所有m _ 3 层 的元素必须定义为m 3 层本身概念韵实例,即m 3 层是自描述的。m o f 应用m d a 原则,围绕元模型为中心对元数据进行管理,m o f 元数据还包含了对语言抽象 语法的定义和对语言语义的一些非形式化的文字诠释,抽象语法定义也是一个模 型,使用类似于u m l 的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 汉字翻译成拼音课件
- 汉字的象形文字课件
- 汉字溯源课件谭飞
- 工程结算工作协议书
- 《中国传统文化》19秋冬校内知到智慧树答案
- 我父亲演讲稿
- 2024年秋新北师大版数学一年级上册课件 我上学啦 我上学啦 4.好玩的游戏
- 永旺消防安全知识培训课件
- 永久收入理论课件
- 水表基础知识培训教材课件
- 多媒体教室使用的课件
- 高中英语必背3500单词表完整版
- 【语文单元主题教学】六年级上册第三单元《单元整体教学以及教材解读》课件部编版创新
- 疑难病例讨论PPT模板
- 分布式光伏发电项目EPC总包合同范本
- 银行关于不动产抵押物权证保管操作模版
- 大金压缩机使用说明(D型)
- 心肺复苏术(三人组)操作程序及技术标准
- 工程进度计划横道图
- 医药代表销售技巧培训
- 牛的品种及生物学特性
评论
0/150
提交评论