论文摘要
自从上个世纪末以来,软件开发技术取得了快速发展,尤其引人注目的是面向对象技术中的UML(Unified Modeling Language,统一建模语言)建模技术,随着其不断研究发展,渐渐被许多公司、企业所认可和接受,然而还存在一些问题需要解决:第一,基于当前的UML技术所创建的系统模型是不可执行的,模型正确性及精准性很难得以保证,这样就导致前期需求分析以及设计中的错误、纰漏难以被发现,势必会给后期开发带来不可预知的风险。第二,在不同的平台环境上,针对相同的系统功能需求,创建模型的细节有很大差别,这样以来,系统的复用性就会在很大程度上降低。为了增强模型的验证能力,同时提高模型的复用性以及完成模型与实现技术的无关性,这就需要一种全新的建模技术来解决以上问题。MDA(Model Driven Architecture,模型驱动构架)作为一种模型驱动开发架构,通过建模行为来驱动软件开发过程。基于MDA的软件开发过程将需求分析与设计摆在了更加突出的位置。从高层次的抽象的平台独立模型变换到平台相关的模型,再由平台相关模型变换到底层的代码,都是依靠工具自动实现的。MDA的核心是模型转换,MDA的显著特点就是变换的自动化。当前,MDA在发展过程中还有一些问题,将PIM(Platform Independent Model,平台无关模型)自动变换到PSM(Platform Specific Model,平台相关模型)是当今亟待解决的重要问题之一。本文在全面介绍MDA的基础理论与相关技术后,分析并研究了基于MDA的软件开发方法的实质、开发过程、工作原理以及开发步骤,并在此基础上,深入研究了当前模型转换技术的定义和分类以及支持模型转换技术的MDA工具现状,并归纳总结了模型转换的目的及其重要意义,分析了元模型在MDA开发过程中的作用,提出了一套元建模方法,并利用该方法设计一个基于元模型的模型转换框架,然后使用由OCL(Object Constraint Language,对象约束语言)语言编写的模型转换规则,并将设计模式应用到PIM到PSM的模型转换中去,用模式在元模型层对模型转换进行定义,提出基于模式的PIM到PSM的模型转换方法。本文利用油料供应管理系统下的子系统OCRS(Oil Consume Regulate System,油料消耗调整系统)模块进行了实例验证,通过分析OCRS的业务模型,利用OptimalJ工具创建平台无关的UML模型,即通过PIM的UML模型图来描述系统的域模型,然后在更高的抽象层次上根据已经制定的转换方法,将PIM层的UML模型自动地转换到PSM层的EJB(Enterprise Java Beans)模型,验证了之前提出的元模型转换框架基础上的模型转换的方法,相当于对MDA的开发过程进行了实践,MDA的优良性能得到了展示。同时还与其它模型转换方法进行了归纳对比分析,最后,展望了模型转换技术的未来发展方向及趋势。