(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf_第1页
(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf_第2页
(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf_第3页
(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf_第4页
(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf_第5页
已阅读5页,还剩56页未读 继续免费阅读

(计算机应用技术专业论文)基于mda的软件开发方法研究与应用.pdf.pdf 免费下载

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

文档简介

华此电力人学硕士学位论文摘要 摘要 以基于m d a 的软件开发方法为主要研究内容,系统分析并总结了m d a 产生 背景、意义及国内外研究现状,剖析了主要思想和优缺点,提出了目前仍然存在的 一些问题和解决方案。研究了m d a 基本理论、核心技术,对模型转换技术进行了 分析和总结。具体阐述了m d d ,引入了m d v ,对m d a 进行了扩展以支持模型的 早期验证,实现了设计和验证的一体化。为适应m d d ,对传统的r u p 加以改进, 使用x u m l 和a s l 建立了校园卡通系统的m d a 基本模型,并最终生成p s m 和 系统代码,进一步对m d a 思想在实际应用中遇到的问题进行了深入的研究和探索。 最后,给出了本文有待继续研究的内容并预测了m d a 未来的发展趋势。 关键词:模型驱动架构,模型转换,模型驱动验证,模型驱动开发 a b s t r a c t t h em a i nc o n t e n tf o rt h isp a p e ri ss o f t w a r ed e v e l o p m e n tm e t h o db a s e do n m d a f i r s t l y , t h i sp a p e rs u m m a r i z e st h eb a c k g r o u n d ,s i g n i f i c a n c e ,c u r r e n ts i t u a t i o n a n dp r o s p e c to fm d a a f t e rs t u d i n gi d e o l o g y , m e r i ta n dt h ed e m e r i to fm d a ,i t p u t sf o r w a r ds o m ep r o b l e m sc u r r e n t l ye x i s t e da n df i n d ss o l u t i o n s s e c o n d l y , t h e p a p e rd o e sr e s e a r c hs y s t e m a t i c a l l yo nt h eb a s i ct h e o r i e so fm d a ,i n c l u d i n gm d a m o d e la r c h i t e c t u r e ,c o r et e c h n o l o g i e sa n dm o d e lt r a n s f o r m a t i o n t h i r d l y , t h ep a p e r e x p a t i a t e sm d d i no r d e rt oa c h i e v ei n t e g r a t i o no fm o d e la n dv e r i f i c a t i o n ,t h ep a p e r i n t r o d u c e sm d v ,w h o e x p a n d s t h ef r a m eo fm d af o r s u p p o r t i n g m o d e l s p r e - v e r i f i c a t i o n a tl a s t ,i tm e n d sr u p f o ra d a p t i n gm d d ,a n de s t a b l i s h e st h e “c a m p u s o n ec a r ds o l u t i o n s y s t e mi no r d e rt op r a c t i c ef u r t h e rr e s e a r c ha n de x p l o r a t i o n a b o u ta c t u a lp r o b l e m so fm d d l ix i a o q i n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f s o n gy u k e yw o r d s :m o d e l - d r i v e na r c h i t e c t u r e ,t r a n s f o r m a t i o n ,m o d e l - d r i v e n v e r i f i c a t i o n ,m o d e l d r i v e nd e v e l o p m e n t 华北电力人学硕士学位论文摘要 摘要 以基于m d a 的软件开发方法为主要研究内容,系统分析并总结了m d a 产生 背景、意义及国内外研究现状,剖析了主要思想和优缺点,提出了目前仍然存在的 一些问题和解决方案。研究了m d a 基本理论、核心技术,对模型转换技术进行了 分析和总结。具体阐述了m d d ,引入了m d v ,对m d a 进行了扩展以支持模型的 早期验证,实现了设计和验证的一体化。为适应m d d ,对传统的r u p 加以改进, 使用x u m l 和a s l 建立了校园卡通系统的m d a 基本模型,并最终生成p s m 和 系统代码,进一步对m d a 思想在实际应用中遇到的问题进行了深入的研究和探索。 最后,给出了本文有待继续研究的内容并预测了m d a 未来的发展趋势。 关键词:模型驱动架构,模型转换,模型驱动验证,模型驱动开发 a b s t r a c t t h em a i nc o n t e n tf o rt h isp a p e ri ss o f t w a r ed e v e l o p m e n tm e t h o db a s e do n m d a f i r s t l y , t h i sp a p e rs u m m a r i z e st h eb a c k g r o u n d ,s i g n i f i c a n c e ,c u r r e n ts i t u a t i o n a n dp r o s p e c to fm d a a f t e rs t u d i n gi d e o l o g y , m e r i ta n dt h ed e m e r i to fm d a ,i t p u t sf o r w a r ds o m ep r o b l e m sc u r r e n t l ye x i s t e da n df i n d ss o l u t i o n s s e c o n d l y , t h e p a p e rd o e sr e s e a r c hs y s t e m a t i c a l l yo nt h eb a s i ct h e o r i e so fm d a ,i n c l u d i n gm d a m o d e la r c h i t e c t u r e ,c o r et e c h n o l o g i e sa n dm o d e lt r a n s f o r m a t i o n t h i r d l y , t h ep a p e r e x p a t i a t e sm d d i no r d e rt oa c h i e v ei n t e g r a t i o no fm o d e la n dv e r i f i c a t i o n ,t h ep a p e r i n t r o d u c e sm d v ,w h o e x p a n d s t h ef r a m eo fm d af o r s u p p o r t i n g m o d e l s p r e - v e r i f i c a t i o n a tl a s t ,i tm e n d sr u p f o ra d a p t i n gm d d ,a n de s t a b l i s h e st h e “c a m p u s o n ec a r ds o l u t i o n s y s t e mi no r d e rt op r a c t i c ef u r t h e rr e s e a r c ha n de x p l o r a t i o n a b o u ta c t u a lp r o b l e m so fm d d l ix i a o q i n g ( c o m p u t e ra p p l i c a t i o nt e c h n o l o g y ) d i r e c t e db yp r o f s o n gy u k e yw o r d s : m o d e l - d r i v e na r c h i t e c t u r e ,t r a n s f o r m a t i o n ,m o d e l - d r i v e n v e r i f i c a t i o n ,m o d e l d r i v e nd e v e l o p m e n t 士= n明明 本人郑重声明:此处所提交的硕士学位论文基于m d a 的软件开发方法研究与应 用,是本人在华北电力大学攻读硕士学位期间,在导师指导下进行的研究工作和取得 的研究成果。据本人所知,除了文中特别加以标注和致谢之处外,论文中不包含其他人 已经发表或撰写过的研究成果,也不包含为获得华北电力大学或其他教育机构的学位或 证书而使用过的材料。与我一同工作的同志对本研究所做的任何贡献均已在论文中作了 明确的说明并表示了谢意。 学位论文作者签名:互羔止盔二日 期:! ! 互j 生耍 关于学位论文使用授权的说明 本人完全了解华北电力大学有关保留、使用学位论文的规定,即:学校有权保管、 并向有关部门送交学位论文的原件与复印件;学校可以采用影印、缩印或其它复制手 段复制并保存学位论文;学校可允许学位论文被查阅或借阅;学校可以学术交流为 目的;复制赠送和交换学位论文;同意学校可以用不同方式在不同媒体上发表、传播 学位论文的全部或部分内容。 ( 涉密的学位论文在解密后遵守此规定) 作者签名:查老 日 期:三竺z ! 呈! 芗 导 日期: 华北电力人学硕十学位论文 1 1 选题背景及其意义 1 1 1m d a 的产生背景 第一章引言 软件业经过5 0 多年的发展已成为现代信息社会的重要支柱,但是由于软件需 求的复杂性与多变性以及软件在其生命周期中需要不断改进,软件开发时经常出现 丌发速度跟不上用户需求变化、整体开发周期长、开发费用高及维护更新困难等一 系列的问题。软件开发方法的进步有助于维持软件产品质量、全寿命周期以及生产 成本的平衡。开发复杂的系统时,必须对其复杂性进行抽象,并通过抽象的方法去 掉软件开发中的某些复杂性,可以说,计算机软件丌发方法的发展历史就是将抽象 层次分层的历史【lj 。 2 0 世纪六七十年代,软件产业遇到了危机。其原因就是软件越来越庞大、越来 越复杂,而软件的质量和生产率却越来越低。由此促进了软件工程的诞生,软件开 发领域不断寻求新的方法、理论和技术,希望能从根本上解决软件危机,提高软件 开发的规范化和开发效率。 多年来,计算机领域的科学家、工程技术人员都在不断探索能够控制软件复杂 性的开发机制,推出了许多解决软件复杂性问题的软件开发范型。其中,面向过程 范型和结构化程序设计就是两种相当优秀的软件开发范型。尽管这两种传统的软件 开发范型己渡过了其顶盛时期,但是我们并不能够彻底否定、摒弃其基本思想,因 为提高软件的结构化、模块化、可读性及高内聚低耦合等思想是完全正确的。然而 在软件开发实践中,人们逐渐发现,传统的软件开发技术对现实世界的描述与客观 自然相差甚远,而2 0 世纪8 0 年代逐渐成熟的面向对象的方法则越来越显示出其生 命力,是大家普遍看好的软件问题解决方案。进入2 0 世纪9 0 年代,面向对象技术 得到了迅速发展,面向对象的分析、面向对象的设计和面向对象的编程在许多领域 得到应用。随着面向对象技术的发展,软件工程向自动化、智能化方向发展,其突 出的标志就是统一建模语言( u n i f i e dm o d e l i n gl a n g u a g e ,u m l ) 标准的出现与发 展。随后,很多软硬件厂商相继开发出了许多基于u m l 标准的计算机辅助软件工 程工具( c o m p u t e r - a i d e ds o f t w a r ee n g i n e e r i n g ,c a s e ) 。从此丌发软件可以借助u m l 的c a s e 工具来完成从软件的分析、设计、实现到测试的一系列软件工程过程,大 大提高了软件开发的复用性和效率,降低了软件开发过程中的返工率。 同时,随着软件开发技术的飞速发展,c o r b a ,j 2 e e ,n e t 等新技术平台不 断涌现。这些技术平台虽然给软件开发者带来多样化的选择,但是也给软件开发带 1 华北电力入学硕十学位论文 t 来了诸多问题。首先,由于各技术平台缺乏共同的元数据基础,所以彼此之间无法 相互集成和互操作,直接导致了软件成本的提高、应用及开发的复杂性增大,而元 数据的不同给遗留系统( l e g a c ys y s t e m ) 的整合带来的困难尤其突出。其次,因为 各平台的技术相关性,同一个系统如果要在新的技术平台上实现,就必须修改计算 模型以适应新平台的技术特点,这往往使得系统的许多模块甚至全部模块重新开 发,导致人力物力的浪费。 为了从根本上解决这些问题,促进和规范建模技术的进一步发展,对象管理组 织( o b j e c tm a n a g e m e n tg r o u p ,o m g ) 在2 0 0 1 年7 月发布了模型驱动构架m d a ( m o d e ld r i v e na r c h i t e c t u r e ) 。【2 】 1 1 2m d a 产生的意义 m d a 是由o m g 定义的一个软件开发框架,它是一种基于u m l 以及其它工业标 准的框架,支持软件设计和模型的可视化、存储和交换。和u m l 相比,m d a 能够创 建出机器可读和高度抽象的模型,这些模型独立于实现技术,以标准化的方式储存。 m d a 把建模语言用作一种编程语言而不仅仅是设计语言,其关键之处是模型在软件 开发中扮演了非常重要的角色,它改变了传统的以代码为中心的软件开发模式,把 软件开发提升到更高一级的抽象级别模型级别,从而达到分离问题域、业务逻 辑以及具体实现平台的目的,让软件开发人员从繁琐、重复的低级劳动中解脱出来, 更多的关注业务逻辑层面。同时,由于m d a 把软件开发的注意焦点提到了更高的抽 象层次,也就提升了i t 业的成熟度,使得系统更加符合客户需求。此外,m d a 还提 供了统一的元数据管理框架,这样建模工作只需要做一次,就能应用到不同的技术 平台上。 m d a 的推出标志着软件业界对模型价值的重新定位,它将不再只是扮演软件开 发的配角,而是作为核心贯穿整个开发的始末。这种以模型为核心的开发将使软件 的面貌以及生产软件的模式都大为改观。m d a 代表了对象管理组织定义的互操作性 的一个革命性进步。但是,虽然m d a 的初衷是为了解决软件互操作问题,但它所带 来的影响却将远远超越互操作领域。 虽然当前m d a 开发方法还没有普及,但是它体现的生命力,以及o m g 的巨大 影响力,必然会使得m d a 被越来越多的人接受。 1 2 国内外研究概况 1 2 1 国外研究动态 国外有很多公司和组织都在研究m d a 方法,其中o m g 、 m i c r o s o f t 、 2 华北电力人学硕+ 学位论文 c o m p u w a r e 、i b m 、i n t e r a c t i v eo b j e c t s 、t o g e t h e rs o f t 、s o f l e a m 等都在m d a 的研 究上取得了进展。 虽然现在对m d a 方法的研究还并不成熟,但是国外已经出现了一些优秀的工 具和平台支持m d a 方法。如法国s o f t e a m 公司的o b j e c t e e r i n g 工具,它是第一个 完全支持m d a 方法的c a s e 工具。类似工具还有t o g e t h e r s o f t 公司的t o g e t h e r c o n t r o l c e n t e r ,i n t e r a c t i v eo b j e c t s 公司的a r c s t y l e r ,还有c o m p u w a r e 公司推出的 o p t i m a l j 。o p t i m a l j 最新版本和其它诸如i b m 的r a t i o n a lr o s e 以及b o r l a n d 的 t o g e t h e rc o n t r o lc e n t e r 等建模工具集成在一起,支持在o p t i m a l j 测试环境中对b e a 的w e b l o g i c 及i b m 的w e b s p h e r e 等应用服务器进行测试,还有一些利用遗留资产 ( 1 e g a c ym o d e r n i z a t i o n ) 的功能,其中包括对i b m 的w e b s p h e r em q 软件的支持。 另外,还有一种比较好的m d a 工具是i b m 的应用开发解决方案( a p p l i c a t i o n d e v e l o p m e n ts o l u t i o n ) ,它由i b m 的系列软件提供对m d a 思想的支持,但没有具 体的软件能够进行p i m 到p s m 的转换。b o r l a n d 公司推出的d e l p h i 工具也支持m d a 方法,最新的d e l p h i2 0 0 6 的e c oi i 技术为n e t 提供了企业级快速m d a 解决方案, 可加快开发进程、改善成品素质,并使复杂软件变得更易管理。e c oi i 能自动绘制 模型图表及创制对象,从而建立高度可扩展的n e t 对象群组,有关对象还具有先 进的企业对象功能,例如还原再做、持久性、版本控制及交易。【3 】 目前国外m d a 的研究热点包括以下几个方面: ( 1 ) 模型的早期验证,在较高的抽象层次上验证模型的正确性,以及模型转 换的验证,在转换过程中发现和消除不一致性;【4 5 】 ( 2 ) m d a 方法的应用,以及基于m d a 思想的其它开发方法的研究,例如面 向服务的开发、面向问题方面的开发; 6 - 1 0 】 ( 3 ) 共享元数据的研究;【1 1 】 ( 4 ) 组件、通用服务以及a p i 、通用建模语言的形式化、标准化工作,精确 u m l 的语义,对u m l 进行扩充和改进,以满足m d a 开发中模型自动转换的要求。 同时,利用这些标准化工作,就能给出软件系统的元数据互操作和互换策略、通用 服务和标准a p i 等的完整定义; 1 2 - 1 4 】 ( 5 ) a o m 和动态系统结构的研究,基于a o m 的体系结构在运行时是高度可 解释、很容易扩展的,并且能按照它们的整体行为描述系统是动态变化的。这方面 的研究将最终使得m d a 能够从模型之间的互操作走向智能化的自适应环境的变 化,并能动态调整自身的结构和行为。【1 5 1 8 】 3 华北电力人学硕十学位论文 1 2 2 国内研究现状 虽然o m g 组织在2 0 0 1 年就已经提出了m d a 的概念,但是国内真正开始了解 m d a 还是近两年的事情,相关研究起步较晚。t 1 9 , 2 0 匡 内首家实现支持m d a 软件 开发的k c o m 商业工程软件工具【2 1 】是一个基于模型驱动体系架构、采用“业务模 型驱动的全自动化软件工厂开发模式的企业应用平台,但目前只是局限在一两个 成型的系统模型之上的狭义的代码生成,没有实现真正的通用,楚凡科技中文m d a 产品t m 如n k a n t 【2 2 1 覆盖了软件开发的各个环节,2 0 0 7 年初发布的k a n t2 0 0 7 , 不仅提供了k a n tf o rd a t a b a s e ,进行数据建模,而且提供了和主流i d e 开发集成, 并完全同步的解决方案,即同时集成e c l i p s e 和v s n e t 2 0 0 5 ,t r u f u n k a n t 以模型驱动 整个软件开发,但代码实现还不能完全自动生成。 国内的一些大学和组织也在研究m d a ,如中国科学院软件研究所软件工程技 术中心、武汉大学、m d a c h i n a 组织【2 3 】等都取得了一定成就,并提出了一些新的思想。 目前国内m d a 的研究主要集中在以下方面: 2 3 3 7 1 ( 1 ) 基于m d a 的模型转换技术、模型集成和互操作模式; ( 2 ) 动态模型的预测、演化和仿真方面的研究; ( 3 ) 有关元模型的研究; ( 4 ) 提供支持可扩展性和团队开发的m d a 工具研究; ( 5 ) m d a 其它标准的研究; ( 6 ) 专用领域建模; ( 7 ) q v t 候选建议的研究。 值得注意的是,尽管m d a 是基于一组被普遍理解的工程学原理【l 】,但是它的 正式定义还在不断演变之中。m d a 理论还处在一个探索期,很多理论和方法并不 成熟,当然无从谈起有成熟的工具,从目前的趋势而言,从理论到实际的工具都离 o m g 组织所提出的预想有较大距离,至少还需要数年的努力才能成型。【l 6 】 但是,毫无疑问,m d a 将是未来软件开发的必然趋势。 1 3 目前存在的问题 首先,是关于m d a 的工具架构问题。本文系统的研究了当前国内外支持m d a 开发的几种工具,并通过文献资料对其它工具进行了分析总结,得出它们之间的共 性和各自的优缺点。模型转换的工具自动实现转换过程,映射工具包含至少一个编 4 华北电力人学硕士学位论文 辑器和一个选择转换语言的语法分析器和某种应用转换规则转换输入模型的转换 引擎。 其次,应用m d a 方法时,怎样以精确且完备的方式表示模型转换规则、模型转 换技术的标准化也依然是一个待解决的基本问题。如果没有在这一问题上达成一 致,就没有平台无关模型( 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 l a t f o r m s p e c i f i cm o d e l s ,p s m ) 映射的实际标准。本文通过阅读大量的国内外文 献资料,系统的总结了当前模型转换的发展现状及其发展前景,但由于时间有限并 没有对各种转换技术逐一进行研究。 再次,模型早期验证是m d a 开发( m o d e l d r i v e nd e v e l o p m e n t ,m d d ) 中的一 个重要问题,本文引入模型驱动验证( m o d e l d r i v e nv e r i f i c a t i o n ,m d v ) 方法,对 m d a 结构做了扩展,实现系统开发和设计验证一体化,引入基于m d a 的h i d o o r s ( h i g hi n t e g r i t yd i s t r i b u t e do b j e c t o r i e n t e dr e a l t i m es y s t e m s ) 环境,对验证平台进 行初步的分类并进行分析,并用验证标注对u m l 进行注释,实现实时系统设计中模 型验证和模型驱动开发过程的一体化,使早期验证成为可能。 最后,虽然m d a 展现了一个全面的体系结构,但目前它在各个模块之间是脱 节的,或者说没有可靠的连接手段。如何建立从需求分析到设计直至实现的各种层 次的软件模型,如何通过模型的精化从上一层模型获得下一层模型,仍然是软件工 程面临的巨大挑战。本文通过对m d a 基本理论的研究,最后对r a t i o n a l 统一软件开 发过程( r a t i o n a lu n i f i e dp r o c e s s ,r u p ) 进行改进,按照m d a 方法,开发一个完整 的应用系统,以实例的方式介绍m d a 方法各阶段的工作及其之间的联系。 1 4 论文的主要工作及组织结构 本文将以基于m d a 的软件开发方法为主要研究内容,在系统的研究了m d a 基本理论、基于m d a 的领域建模、p i m 模型的精化、p i m 到p s m 的模型转换以及 p s m 模型的精化基础上,利用x u m l 和动作规约语言( a c t i o ns p e c i f i c a t i o n l a n g u a g e ,a s l ) 建立m d a 模型,并最终生成代码来进一步对m d a 思想在实际 应用中遇到的问题进行深入的研究和探索。本文组织结构如下: 第一章,系统分析和总结了m d a 产生背景、意义以及国内外研究动态,剖析 了m d a 的主要思想,提出了m d a 发展过程中仍然存在的一些问题和本文给出的 解决方案。 第二章,在理解了模型、模型映射以及模型驱动等基本概念的基础上,系统研 究了m d a 的基本模型、组成结构、核心标准与技术及其建模体系等。 第三章,分析了模型转换特征模型,总结了当前流行的m d a 模型转换技术, 5 华北l 电力人学硕十学位论文 比较各种方法的优缺点;阐述了模型转换规则,定义了针对d e l p h i 语言的p i m 与 p s m 模型转换规则。 第四章,阐述了模型驱动开发方法m d d ,对早期设计验证和运行平台进行了 研究,引入m d v ,对m d a 结构做了扩展,实现了系统开发和设计验证一体化。 第五章,以r u p 为基本开发框架,开发了一个使用x u m l 的基于m d a 开发 方法的应用实例。主要包括使用a s l 动作规约语言进行描述,建立基于x u m l 的 p i m ,实现p i m 到p s m 的转换,最终生成代码等,进一步对m d a 思想在实际应用 中遇到的问题进行了深入的研究和探索。 第六章,对全文进行了总结,并对未来的发展趋势进行了预测。 6 华北电力人学硕士学位论文 2 1 基本概念 第二章基本理论和相关技术 2 1 1 模型 按照m d a 的思想,模型是对系统的一部分结构、功能或行为的形式规范。首 先,模型是一种系统规范,这种规范可以是结构的规范,也可以是系统功能或系统 行为的规范;其次,这种规范必须是形式化的,即必须使用一种严格定义、没有歧 义的语言。基于上述思想,一个模型必须和一种严格定义了语法和语义的建模语言 绑定在一起。因此,模型的定义可以形式化的表示为: 模型= 【3 8 】 根据模型的这个定义,源代码也可以看成是模型。源代码是用精确定义的语言 表述的,并且描述了一个系统,那么这个系统是一个同平台高度相关的模型。图2 一l 描述了模型和它描述的系统、表述它的语言三者之间的关系【l 引。 图2 1 模型和语言 2 1 2 模型驱动 模型驱动是指利用模型来指导系统开发,包括系统理解、设计、架构、开发、 部署、集成、维护等系统生命周期相关的全过程。 2 1 3 可执行u m l ( x u m l ) x u m l 就是u m l 的一个可执行版本,并且还包括了: ( 1 ) 一个清晰地定义的简单模型结构; ( 2 ) 精确的动作语义,而这些语义已经成为u m l 标准的一部分; ( 3 ) 一个适应性很强的动作规约语言; ( 4 ) 一个配套的软件过程,该过程面向。 可执行建模; 7 华北电力人学硕士学位论文 大规模复用: 基于模式的设计。 图2 2 形象的表示了x u m l t l5 1 ,即x u m l 是从标准u m l 语言中去掉语义较弱 的元素并加上精确定义的动作语义。 圈= 曰一囤+ 圜 图2 - 2x u m l 组成 统一建模语言u m l 是o m g 发布的m d a 的核心技术之一,将在之后2 4 节详 细阐述。 2 1 4 平台 m d a 中平台指的是与系统或执行领域的基础功能无关的技术和工程细节【3 9 1 。 平台独立是一个相对的概念,它意味着独立于某些特定的开发领域或技术。当我们 说某个模型或建模语言是平台独立的,往往要指明独立于什么样的平台,否则没有 任何意义。一般来说,平台独立意味着独立于如下技术: ( 1 ) 程序语言,例如c + + ,j a v a 和d e l p h i 等; ( 2 ) 分布式组件中间件,例如c o r b a ,j 2 e e ; ( 3 ) 操作系统,例如w i n d o w s ,l i n u x 和u n i x ; ( 4 ) 信息化格式,例如x m ld t d 、i d l 。 例如我们说一个打印组件是平台独立的,就是指无论这个组件的实现语言是 j a v a 还是用c + + 或是d e l p h i ,无论它是以c o r b a 组件的形式存在还是以e j b 的形 式存在,无论它是运行在w i n d o w s 系统上还是运行在l i n u x 系统上,它的功能都是 连接打印机对屏幕上显示的内容进行打印。 2 2m d a 中的主要模型 2 2 1 计算无关模型 计算无关模型( c o m p u t a t i o n i n d e p e n d e n tm o d e l ,c i m ) 又称为领域模型,它实 际上是描述系统一项业务或者一个企业或者它的一部分的业务模型,属于需求模型 的一部分。当一部分业务由软件系统来支持时,就要为这个系统创建一个特定的软 件模型,这个模型描述了软件系统。业务系统和软件系统是现实世界中的不同范畴。 8 华北电力大学硕十学位论文 尽管如此,软件系统的需求来自需要它支持的业务系统或者它的一部分。多数 业务模型都会有多个软件模型,它们描述了多个软件系统。每个软件系统用于支持 业务模型的不同部分。所以,业务模型和描述支持它的软件系统的软件模型之间具 有图2 3 所示的关系。 :业务系统 , 图2 - 3 业务模型和软件模型 c i m 的作用是标识领域元模型中哪些部分是最终系统的公共部分,哪些是可能 依赖于客户需求的动态变化部分,该模型的构建将在5 3 节“建立系统c i m 模型 给出。 在当前的技术条件下直接由c i m 自动推导出p i m 是不可能的,因为c i m 中的 哪些需要软件支持,是人为决定的,对每一个支持一部分c i m 的系统都要先开发 出平台无关模型p i m 。 2 2 2 平台无关模型 平台无关模型p i m 是独立于任何实现技术的模型,获取和表达了我们正在建立 的系统的所有业务需求,它包含了我们对系统的所有的精确的、可执行的规约,本 文中p i m 被表示为精确的x u m l 模型。该模型是从让系统最好地支撑业务的视角 出发对系统建模,抛开系统运行环境、数据库和数据模型、中间件平台和其他与实 现相关的内容的一个高层抽象。 本文中一个域的p i m 将在三个层次中构建。第一层是类模型,按照它们的特性 以及与其它类的关联描述域中的类。第二层使用顺序图定义域的动态行为,详述类 之间的同步或异步调用以及应答。第三层借助a s l 详细定义动作。 p i m 最终将会通过模型映射转换成一个或几个平台相关模型p s m 。 2 2 3 平台相关模型 平台相关模型p s m 是指一个基于特定的实现技术、使用特定平台术语描述如 9 华北电力人学硕十学位论文 何实现业务的模型。例如d e l p h i 的设计模型,开发过程中只需要构建能够准确描述 业务逻辑的p i m ,剩下的工作都将由m d a 引荤按照预先制定的规则自动进行。又 如,关系数据库模型使用表、视图、外键约束等描述业务对象及其之间的关系。一 个p i m 可以转换成个或多个p s m ,它是m d a 最为某种特定的实现技术量身定做 的一种转换规则,使用这种技术可以实现更接近物理系统的逻辑模型。例如:d e l p h i p s m 是用d e l p h i 结构表述的系统模型,它通常包含d e l p h i 特有的术语,如”u n i t ”、 “i n t e r f a c e ”等特定结构,在关系数据模型中“表”、“列”、“外键”是对关系 数据库的一种描述,因此p s m 只有和具体平台相联系时才有意义。而p s m 则最终 会转换成该特定技术下的代码,即实现模型。 224 平台相关实现 2 11 节中我们说源代码也是模型,也即是这里提到的平台相关实现 ( p l a t f o r m - s p e c i f i ci m p l e m e n t ,p s i ) 。m d a 中实现模型不是程序员通过程序语言 翻译设计模型实现的,通过指定目标系统的实现方式和具体中间件技术后,通过 m d a 转换工具和自动程序设计软件自动生成的,它的建立意味着系统的实现。 2 3m d a 基本组成结构 m d a 的结构可毗从内向外分为三个圈层,如图2 _ 4 所示,分别是核心标准层 中问件技术层、公共服务层【”。 誊岁 图2 4m d a 基本组成结构图 核心技术层包括统一建模语言u m l 、元对象设施( m e t a o b j e c tf a c i l i t y , m o f ) 、公共仓库元模型( c o r n l n o nw a r e h o u s em e t a m o d e l ,c w m ) 、基于可扩展 置标语言( e x t e n s i b l em a r k u pl a n g u a g e ,x m l ) 的元数据交换( x m lm e t a d a t a 华北电力人学硕十学位论文 i n t e r c h a n g e ,x m i ) ,这些核心技术直接面对系统结构的架构,稍后将详细介绍。 中间件技术层包括c o r b a ,w e b s e r v i c e ,j 2 e e ,n e t ,x m i x m l 等。通过合 适的映射工具,可以从用m d a 核心技术表示出来的系统体系结构模型直接生成中 问层代码。 公共服务层包括o m g 从众多业务运行系统中提取出来的公共服务,如目录服 务、安全服务、事务服务、事件服务等。这些服务可以方便地集成到最外层指向的 最终的应用系统中,如空间信息服务、电信、商务、制造等,同时也可标准化各应 用领域的规范,从而更大限度地发挥m d a 的优势。 2 4m d a 的核心标准与技术 2 4 1 统一建模语言u m l 目前,u m l 是一个被广泛采用的,用以表示面向对象系统的各个方面的标准符 号系统,提供了大量可扩展的预定义结构、半形式化的定义和支持工具,因此也就 提供了工具之间、过程之间以及领域之间集成的新机会,降低了培训和重组的费用, 更为重要的是,使得开发人员能够将精力集中于商业价值上,并为此提供一个范型。 虽然u m l 已经被工业界广泛接受为标准的建模语言,但是,由于当初比较仓促 的通过了o m g 的提交过程,尽管u m l 语言的基层结构和大部分上层结构是合理的, 可还是容忍了一些不尽如人意的负面因素【4 0 1 ,如活动图的语义及表示法不完整;标 准元素臃肿,其中有些元素是为了满足不同的、相互竞争的方法门派的需求而加入 的,许多标准元素语义贫乏,而且命名和组织也不一样;结构混乱,所提交的规范 并没有达到提交者预期的目标一一用一种严格的元模型方法实现4 层元模型结构, 相反使用了一种实用但不精确的、松散的元模型方法,不利于同其他o m g 规范的结 合,比如与m o f 的结合。由于上述原因,使得u m l 的语义不是十分精确,因此带来 了正确性和一致性方面的问题,难以满足m d a 开发中模型自动转换的要求。 设计和建立精确而高效的模型定义语言是当前的重点。u m l2 o 【l9 】是专门针对 m d a 需求定制的。但u m l2 0 的语义还是比较松散的,它用较为形式化的对象约束 语言( o b j e c tc o n s t r a i n tl a n g u a g e ,o c l ) 和自然语言两种手段描述静态语义,而动 态语义却是基本上完全用自然语言来描述的。在m d a 中,非形式化的规范不能作为 一个模型,m d a 模型必须是非模糊的。所以需要一种在语法和语义上都精确的建模 语言,以跟踪所有模型和模型的更改,并保证软件生命周期中不同时期的模型一致。 2 1 3 节介绍的可执行u m l ( x u m l ) t 1 5 】对u m l 进行了扩充和改进。一方面,x u m l 用动作规约语言a s l 对u m l 进行扩充,使开发人员可以精确地描述模型,并得到可 华北电力人学硕十学位论文 执行的p i m ;另一方面,x u m l 选取了u m l 表示法的一个子集,使得建模过程更加 简洁明了。可执行建模可以使得模型更加精确,更加容易测试。 2 4 2 元对象设施m o f m o f 是o m g 的一个标准,为规约面向对象元模型定义了一种通用的抽象语言。 它是一种面向对象的元一元模型,可以被称为m e t a m e t a m o d e l 或者定义元模型的模 型。m o f 用来定义面向对象元模型的基本元素、语法和结构。以m o f 定义的面向对 象元模型,可以通过交换元数据来实现互操作【4 1 1 。 m o f 定义的元模型可以是通用的,如u m l ,也可以是针对特殊应用领域的,如 c w m 。m o f 使得各种元模型之间不再是孤立的,而是可以相互映射、相互交换元 数据并相互理解。具体应用见2 5 节“m d a 的建模体系。 m o f 映射提供了将m o f 的m e t a m o d e l 中的语义具体加以应用的手段。m o f 映射 包括三种类型:抽象映射、交互式数据语言( i n t e r a c t i v ed a t al a n g u a g e ,i d l ) 映射、 x m l 映射。抽象映射是一组规则,它确定了m e t a m o d e l 里的各种语义是如何对依据 该m e t a m o d e l 定义的m o d e l 进行限制和规范的;i d l 映射是一组标准模板,可以将一 个用m o f 定义的m e t a m o d e l 映射成一组c o r b ai d l 接口,这组接口的用途是访问一 组c o r b ao b j e c t ,而这组c o r b ao b j e c t s , u 是表现用这个m e t a m o d e l 定义的m e t a d a t a 的。这些i d l 接口的典型用途是用在存放元数据的存储上;x m l 映射产生该 m e t a m o d e l 对应的x m ld t d 3 ,以及提供一组规则将m e t a 。m o d e l 定义的m o d e l 映射成 遵守该d t d 的x m l 文件。这些标准的x m l 文件非常适合异构的环境下传递。 2 4 3 公共仓库元模型c w m c w m 是o m g 提出的用来对数据仓库中的元数据进行建模的规范,它为数据仓 库、数据挖掘领域内的元数据定义了对应的元模型,它同时也是多层系统、异构系 统间元数据实例交换的基础。 c w m 的目标是使异构环境下的各种数据仓库工具、数据仓库平台和数据仓库存 储之间建立一个商务智能元数据的交换机制。c w m 特定于数据仓库领域的元数据模 型集,独立于具体数据仓库的实现,而且包含许多有代表性的数据仓库元数据的有 效描述。通过c w m 元数据可以在数据存储、仓库建模工具、联机分析处理( o n l i n e a n a l y t i c a lp r o c e s s i n g ,o l a p ) 产品和中断用户工具之间进行交换。 c w m 覆盖了数据仓库应用的整个生命周期,包括数据源表达、分析、仓库管理 以及典型的数据仓库环境基础组件。数据源元模型支持对多种数据源进行建模;分 析元模型则用于对数据转化、o l a p 、信息可视化、商业术语以及数据挖掘的建模; 仓库管理元模型则负责仓库处理、动态跟踪以及时间规划方面的建模;基础组件元 1 2 华北电力大学硕十学位论文 模型则支持多种通用的数据仓库元素和服务,比如说数据类型、类型系统映射、抽 象键值和索引、表达式等等。 上一节说m o f 是c w m 的元模型,这使c w m 能够与其他依赖与m o f 的o m g 标准 进行互操作。因此,基于m o f 2 0 的元模型都可以用作m d a 转换的源和目标模型。 c w m 使用x m i 作为其交换机制,充分利用了x m i 在仓库元数据交换和c w m 元模型 本身交换中所具有的功能和灵活性,从而使元数据以x m l 文件流的方式进行交换。 c w m 提供了一个完整、广泛的标准化元模型,让企业的数据采集可跨越数据库 的范围,而且做得更好。就像u m lp r o f i l e ,不过不是在应用程序的部分,而是在数 据的部分,制定m d a 对应数据库的纲要。一般来说,c w m 专注在数据的塑模,而 u m l 专注在应用程序的塑模。 总之,c w m 的优势在于它完全独立于任何具体实现的元模型,使任何支持c w m 的工具都能够相互理解其元数据实例。并且随着c w m 不断吸收新的技术,使用c w m 的元数据交换会变得更为简单有效。 2 4 4x m l 元数据交换x m i x m i 是将m o f 转换到万维网( w o r l dw i d ew e bc o n s o r t i u m w 3

温馨提示

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

评论

0/150

提交评论