【delphi开源代码栏目提醒】:文章导读:在新的一年中,各位网友都进入紧张的学习或是工作阶段。
网学会员整理了delphi开源代码-面向目标建模的MDA模型转换研究与实现 - 其它论文的相关内容供大家参考,祝大家在新的一年里工作和学习顺利!
分类号: 密级:U D C: 编号: 工学硕士学位
论文 面向目标建模的MDA模型转换 研究与实现 硕士研究生:李平 指导教师:高伟副教授 学位级别:工学硕士 学科、专业:计算机软件与理论 所在单位:计算机科学与技术学院
论文提交日期:201 1年3月3日
论文答辩日期:201 1年3月1 1日 学位授予单位:哈尔滨工程大学j●■,1.JIj Classified Index: U.D.C:l〔}【’●r?I■ l A Dissertation for the Degree of M.Eng Research and Implementation of the Goal.oriented MDA Model Transformation Candidate: Li Ping Supervisor: A.E Gao Wd Academic Degree Applied for: Master of Engineering Specialty: Computer Software and Theory Date of Submission: Mar.3,2011 Date of 0ral Examination: Mar.11,2011 University: Harbin Engineering University Jl 哈尔滨工程大学 学位
论文原创性声明 本人郑重声明:本
论文的所有
工作,是在导师的指导下,由作者本人独立完成的。
有关观点、方法、数据和文献的引用已在文中指出,并与参考文献相对应。
除文中已注明引用的内容外,本
论文不包含任何其他个人或集体已经公开发表的作品成果。
对本文的研究做出重要贡献的个人和集体,均已在文中以明确方式标明。
本人完全意识到本声明的法律结果由本人承担。
作者(签字): 辞 B强:勋f}年≥鼬《}B 哈尔滨工程大学 学位
论文授权使用声明 本人完全了解学校保护知识产权的有关规定,即研究生在校攻读学位期间
论文工作的知识产权属于哈尔滨工程大学。
哈尔滨工程大学有权保留并向国家有关部门或机构送交
论文的复印件。
本人允许哈尔滨工程大学将
论文的部分或全部内容编入有关数据库进行检索,可采用影印、缩印或扫描等复制手段保存和汇编本学位
论文,可以公布
论文的全部内容。
同时本人保证
毕业后结合学位
论文研究课题再撰写的
论文一律注明作者第一署名单位为哈尔滨工程大学。
涉密学位
论文待解密后适用本声明。
/ 本
论文(日在授予学位后即可口在授予学位12个月后口解密后)由哈尔滨工程大学送交有关部门进行保存、汇编等。
翩霈’瓣 、 售翥笏≥东局 面向目标建模的MDA模型转换研究与实现 摘 要 随着Intemet技术的不断成熟和广泛应用,信息化社会的进程不断加快,对软件需求的增长与日俱增。
高效、可靠的软件开发模式成为研究热点,为此,对象管理组织(OMG)提出了新的软件开发框架——模型驱动架构(Model Driven Architecture,MDA)。
MDA以模型为核心,将软件系统的模型分离为平台无关模型(Platform Independent Model,PIM)和平台相关模型(Platform Specific Model,PSM),同时通过转换规则将它们统一起来,用系统的模型生成系统的体系结构。
同时,以KAOS(Knowledge Acquisition in autOmated Specification,自动规约的知识获取)方法为代表的面向目标的需求分析也成为热门的需求分析方法。
KAOS方法以目标 (Goal)为主要分析对象,通过对需求目标的分析、精化,进而建立需求描述模型,为需求工程提供了一个有效的需求分解、需求精化、需求建模的需求分析方法,对于指导软件设计有着积极地作用。
但是,由于关注的角度不同,使软件生产的需求分析和系统设计并不能完整统一起来。
需求分析与系统设计的连接往往参与太多人为因素,造成项目工作与需求之间的不一致性,而且,往往需求分析的小范围改动也会造成系统设计的大范围变化,严重增加开发成本、降低效率,即使在MDA框架中也是如此。
现有的MDA框架中,通过人工处理需求分析结果得到PIM模型,这样直接影响了PIM的精确性,进而影响需求工程与系统开发的一致性。
为解决该问题,本文深入研究目标模型、MDA和流程类业务领域软件生产三者的关系,通过在流程类业务领域软件生产平台框架下引入目标操作模型和MDA的融合,解决了上述问题,并实现了流程类业务领域软件生产平台。
关键词:模型驱动架:需求分析;面向目标模型;B方法;模型转换 面向目标建模的MDA模型转换研究与实现 Abstract With the continuous maturity and broad application of the internet technology,and the continuous acceleration to the progress of the information-based society,the demand for the software is increasing constantly.The efficient and reliable software development mode has become the hot spot in the research.Therefore,OMG put forward a new kind of framework of software development-that is Model Driven Architecture(MDA).MDA which takes model as its core divides the model of software system into Platform Independent Model(PIM)and Platform Specific Model(PSM),and simultaneously unifies them by transforming rules in order to produce the architecture structure of system by the model of system. At the same time,KAOS(Knowledge Acquisition in autOmated Specification),the representative of goal·orienting Requirements analysis,also has become a hot method of Requirements analysis.KAOS takes Goal as its major analysis goal,and then establish the model of Requirements description through the analysis and refinement of the Requirements goal.It also offers all effective method of Requirements analysis of Requirements disintegration, Requirements refinement,Requirements modeling to Requirements project,which plays an active role to instruct the design of software. However,because of the different concerning point,it is difficult to unify the requirements analysis of software production and system design perfectly.There is too much anthropic factor involved in the connection between requirements analysis and system design,which leads to the inconsistency between the project work and requirement.Furthermore,the change of requirements analysis in small scale often causes the change of system design in big scale,which brings about severe increase of development cost and decrease of efficiency,even SO in the MDA framework. In the existing MDA framework,the PIM model obtained by artificially managing the result of Requirements analysis will affect the accuracy of PIM directly,furthermore,impact the consistency between the Requirements project and system development.In order to solve the√1溘■■ issue,the thesis studies the relationship among goal model,MDA and the business process domain software production in deeply,introduce into the fusion of goal model and MDA under the sothvare production platform framework of the business process domain,SO that the issues mentioned above have been solved and software production platform in business process domainhas also been realized.Keywords:MDA;Requirements Analysis;Goal.oriented Model;B method;model .trmmsformation 面向目标建模的MDA模型转换研究与实现 目 录第1章绪论…………………………………………………………………………………….1 1.1研究背景与意义…………………………………………………………………………·l 1.2国内外研究现状……………………………………………………………………………3 1.3
论文研究内容……………………………………………………………………………”4 1.4
论文的组织结构………………………………………………………………………….5第2章 目标建模及MDA相关理论………………………………………………………….7 2.1目标建模相关理论…………………………………………………………………………7 2.1.1需求分析……………………………………………………………………………”7 2.1.2 目标建模………………………………………………………………………………8 2.1.3 KAOS方法……………………………………………………………………………………………………9 2.1.4基于KAOS方法的规约模型………………………………………………………ll 2.2模型驱动架构……………………………………………………………………………”12 2.2.1 MDA核心标准……………………………………………………………………·13 2.2.2 MDA框架……………………………………………………………………………………………1 5 2.2.3 MDA相关模型……………………………………………………………………”16 2.2.4模型转换……………………………………………………………………………17 2.2.5 MDA开发过程……………………………………………………………………·1 8 2.2.6 MDA的优势………………………………………………………………………………………………·19 2.3本章小结…………………………………………………………………………………·20第3章流程类业务领域软件模型及主体操作模型…………………………………………21 3.1流程类业务领域软件模型………………………………………………………………”21 3.1.1领域工程………………………………………………………………………………21 3.1.2流程类业务分析………………………………………………………………………22 3.1.3流程类业务软件模型………………………………………………………………·23 3.2主体操作模型……………………………………………………………………………25 3.2.1 目标获得………………………………………………………………………………25 3.2.2 目标操作……………………...………………………………………………………25 3.2.3 目标操作化……………………:………………………………………………………28 山’ 蕾 V 一 · 哈尔滨工程大学硕士学位
论文 3.2.4主体操作模型………………………………………………………………………28 3.2.5流程类业务操作化……………………………………………………………………3 l 3.3本章小结…………………………………………………………………………………34 第4章零码软件生产平台及模型转换规则研究……………………………………………35 4.1零码软件生产平台………………………………………………………………………35 4.2零码平台框架…………………………………………………………………………….35 4.3流程类业务元模型………………………………………………………………………37 4.4零码平台中目标操作化过程的设计……………………………………………………39 4.4.1业务精化设计………………………………………………………………………..39 4.4.2业务操作化设计………………………………………………………………………40 4.5面向目标模型的MDA设计……………………………………………………………..4l 4.5.1 B方法…………………………………………………………………………………………………“41 4.5.2 目标模型到B规格的映射规则…………………………………………………….43 4.5.3操作模型的转换规则……………………………………………………………….44 4.6本章小结…………………………………………………………………………………45第5章面向目标建模的MDA实现………………………………………………………….47 5.1 MDA框架下的目标模型转换……………………………………………………………47 5.1.1将B抽象机规格的操作模型转换到XML数据格式……………………………..47 5.1.2 XML形式的PIM模型转换成XML形式的PSM模型…………………………48 5.1.3 XML形式表示的PSM模型转换成
代码……………………………………………48 5.2平台操作的定制……………………………………………………………………………49 5.3生成应用系统…………………………………………………………………………….50 5.4本章小结…………………………………………………………………………………”51结论……………………………………………………………………………………………………………………………“53参考文献…………………………………………………………………………………………”55攻读硕士学位期间发表的
论文和取得的科研成果………………………………………………59致谢……………………………………………………………………………………………………………………………··61 第1苹绪论 第1章绪论 自二十世纪八十年代以来,伴随着Intemet技术的不断成熟和广泛应用,各国信息化建设的进程不断加快,对软件的需求增长与日俱增。
同时,由于硬件技术的快速发展,应用软件系统的特征也发生了巨大变化,软件的规模越来越大、复杂性越来越高。
应用系统规模的增大、复杂性的提高以及人们对计算机所给予的更高期望和要求,对开发应用软件系统的软件开发手段(思想、理论、技术和开发工具)提出了更高的要求,这就使得现有的软件开发理论和技术面临着新的挑战。
本文从研究需求分析和MDAm入手,通过使用面向目标的需求建模【2】方法,使需求模型可以作为CIM模型【3】,进而将其引入MDA框架,达到需求工程和软件设计的无缝对按41,对领域框架f5l下的软件自动化生产进行有益的尝试。
1.1研究背景与意义 自软件危机爆发以来,软件需求矛盾推动着软件工程研究的不断发展,新的软件开发技术和方法层出不穷。
从20世纪60年代开始,学界对程序结构进行研究,出现了结构化的程序设计思想,进而软件工程思想和概念被正式提出。
到了70年代,软件开发的前期阶段受到重视,人们开始研究结构化分析和设计方法,以数据为中心的抽象数据类型概念被提出,软件工具开始出现,
程序设计方法学成为新的研究领域。
接着80年代,人们从程序
设计方
法学转向对软件开发法学的研究,继而
计算机辅助软件工程 (CASE)成为热点,面向对象技术受到追捧。
到了90年代,面向对象方法和技术成为主流软件开发技术,时至今日,仍然不绝于耳。
对软件过程研究,使人们将软件复用和构件技术视为解决软件危机的一条切实可行的途径〔61。
世纪之交,Intemet席卷世界,中间件技术、网格技术、
网络构件等,仿佛让人们看到根治软件危机的良药。
现在,
软件生产线、敏捷开发、领域工程等字眼又开始频频冲击人们的眼球。
半个世纪来,人们在软件工程领域所做的种种努力,从不同的角度着手推出各种新技术,其实就是为了实现同一个目标,即推动质量、生命周期和生产成本形成新的平衡,高效、低成本地开发优质的软件产品171。
软件复用是一条切实可行的,能达到软件产业发展所需要的软件生产率和质量的途径,而领域工程是目前可复用资产基础设施建设的主要技术手段【81。
同时,我们也意识到与软件技术发展密切相关的三个要素是:计算机平台、人的思维模式和问题的基本特征tgl。
在软件开发的长期摸索过程中,人们逐渐认识到“提高解决问题的抽象层次”是有效利用抽象手段解决软件开发问题的一个非常具体而实用的途 哈尔滨T程大学硕七学位
论文径。
StephenJ.Mellor在本世纪初指出,过去的50多年里,人们利用“提高解决问题的抽象层次’’处理软件开发的
问题已经取得了两个较为显著的进展,即开发出具有较高抽象层次的程序设计语言和能够在更高抽象层次上实现软件复用00〕。
从提高抽象层次的角度,软件开发的发展历史可理解为以下一个过程:以机器为中心的计算发展到以应用为中心的计算,再提升到以企业为中心的计算。
中间件 (Middleware)平台在以企业为中心的计算中扮演者重要角色,以CORBA、J2EE和.NET为代表的三大中间件平台技术,为我们带来了提升编程的抽象层次,实现了对底层异构环境的屏蔽等益处。
当然,任何事物都是双刃剑,中间件技术下,企业的商业逻辑与特定中间件平台实现技术的“绑定”,提升了信息系统平台的移植难度,加大了企业业务发展受制于某种平台技术发展的风险。
进而给我们带来如何解决企业信息
系统建设的互操作性、可移植性、可重用性等问题{lll。
OMG作为世界上最大的计算机工业非盈利性标准化组织,自1997年,陆续发表了UML(统一建模语言)、MOF(元对象设施)、XML(元数据交换)和CWM(公共仓库元模型)。
2001年,OMG整合了其在建模领域发布的上述标准,发布框架规范MDAtti,成为首个模型驱动软件开发的框架标准。
MDA提出的直接动因是为了解决异构中间件平台的互操作障碍问题。
MDA的主要思想是分离业务功能分析与技术与平台之间紧耦合的关系,从而将技术与平台变化对系统的影响降低到最小程度,极大地加强了应用模型与领域模型在整个软件生命周期中的复用。
相比较软件工程,需求工程〔121是个相对较新的概念,它是上世纪80年代中期兴起的软件工程的一个子领域,是软件生命过程的第一个也是最重要的一个阶段,对软件开发至关重要。
需求工程是指应用已证实有效的技术、方法进行需求分析,确定客户需求,帮助分析人员理解问题并定义目标系统的所有外部特征的一门学科,它从各种各样的应用专业领域中特别是直接从最终用户处捕获需求,并完整、准确地予以描述与分析。
需求工程的过程可以分为需求获取、需求分析、需求规格说明、需求验证和需求管理五个阶段。
需求分析是需求工程中最重要的步骤,需求分析是介于系统分析和软件设计间的桥梁。
需求分析的结果,即需求规格对于指导软件开发起着关键作用。
一方面,需求分析以系统规格说明和项目规划作为分析活动的基本出发点,并从软件角度对它们进行检查与调整;另一方面,需求规格说明又是软件设计、实现、测试直至维护的主要基础。
良好的需求分析活动有助于避免或尽早剔除早期错误,从而提高软件生产率,降低开发成本,改进软件质量〔IJI。
需求分析方法大致分为面向过程、面向数据、面向控制、面向对 2 最直接的表达;而软件的实现是面向系统的,因为软件总是依托一定的系统环境实例化 运行的。
这就导致软件系统的需求规约与设计之间的断层问题。
形式化方法可以简洁、 准确地描述系统目标,并能从理论上证明其正确性;同时,由于采用严格的数学方法作 为规约与设计的基础,能够引导规约到设计的平滑迁移,可以作为解决断层问题的有效 办法it4〕。
MDA重视软件系统的实现,忽略了需求工程对系统设计的影响,而形式化的需求 分析方法正好可以弥补这方面的不足,由此看来,将形式化的需求分析方法引入MDA 框架,最大程度发挥需求工程和MDA在软件开发中的效能,使软件开发的需求分析与 设计实现一体化成为可能。
将对提高软件生产的效率,以及软件产品线f15】的研究起到积 极作用。
1.2国内外研究现状 MDA还处在一个发展的过程中,还在不断的演进,还不是很成熟,包括适合MDA 的建模技术还有很多缺陷、模型转换规则的统一标准还未颁布等,但是,在某些领域一。
.,,堍牝 像金融管理领域(银行业、保险业等)、嵌入式系统领域等【161,MDA的作用还是有目共 睹的。
MDA只不过是向前迈进了一小步,但却给整个软件业掀起了一场波澜,它在模 一 型定义、开发过程等诸多方面都将对未来IT技术产生深远的影响。
工具构成了MDA的 主要部分,作为计算机行业创新的主动力的微软、IBM、Borland、CA、Sybase、鼎新等巨头,均表示支持MDA,并且推出一些相关MDA工具产品,例如,微软的Visual Studio2005 Team System,该产品关注的是DSL(Domain Specific Language)领域,而不是UML,这也反映了适合MDA架构的建模技术还有很多缺陷,尚不统一。
IBM大力支持MDA框架,推出的Rational系列产品是很成功的MDA商业化例子,支持UML2.0标准。
此外还有Borland公司的Delphi for.NET及C撑Builder ECO版和Together:Sybase的PowerDesigner 10.0;鼎新的产品SoflScore,都是基于MDA理论的软件需求建模工具,着重的CIM阶段的应用,以及众多其他公司的产品,像Compuware公司的OptimalJ、Interactive Objects Sottware公司的ArcStyler等和
开源工具AndroMDA、OpenMDX等。
同时国内的厂商也适时推出许多MDA产品,像金蝶软件的BOS基础平台、普元公司的集MDA和SOA技术的EOS应用软件平台,尤其是楚凡科技作为中国专业的CASE工具厂商,致力于MDA产品的研发,其Trufun Kant系列产品就是一款非常便捷的MDA 哈尔滨,T稃大学硕十学位
论文 工具,它是基于Trufun Plato UML2.x建模工具基础上开发出来的,因此它可以实现整个项目的分析、设计、开发全过程。
在众多MDA产品问世的同时,MDA理论方面也取得了一定进步。
例如,PIM模型与PSM模型的双向自动转换,可实现软件设计与
代码始终保持同步。
在模型转换方.