论文部分内容阅读
模型驱动架构(MDA)是由OMG定义的一个软件开发框架,它以模型作为整个软件开发过程的中心,贯穿于需求分析、设计、实现和维护的全过程。MDA严格区分系统的功能规约与实现细节,在垂直方向上将模型区分为具有较高抽象层次、独立于任何实现技术的PIM模型和相对较具体的、与某些平台技术相关的PSM模型。MDA通过将PIM转换到PSM,进而将PSM转换到程序代码,完成软件系统的开发过程。这种方式使开发者把焦点转移到建模而不是传统的编码,就可以摆脱许多平台技术细节的束缚,提高软件的生产效率,使其具有更好的可移植性、可复用性、可维护性、互操作性和易集成性等。然而,通过对现有的MDA框架进行研究,发现绝大多数MDA框架实现中,建模生成的PIM模型是一个包含系统各种信息的大型复杂模型,这不但使模型难以理解维护,也使得模型转换工作非常困难,对MDA的实现存在重大影响。面向方面技术作为一种以关注点分离为原则的技术,可以很好地帮助解决以上问题。MDA尝试让平台特性分离,方面则保持横切关注点的全面分离——不只是平台特性,还有功能需求、非功能需求等。本文将面向方面的优点引入到MDA中,提出了一种基于面向方面的模型驱动框架AOMDF,重点探讨了MDA框架中的方面建模以及方面模型转换等问题。主要工作集中在以下方面:(1)在建模初期分离关注点,引入面向方面机制原理,研究如何在现有建模技术基础上进行扩展以完成方面模型的建立和表示。(2)根据建模阶段分离关注点后建立的模型,单独研究了方面模型的转换原理和规则,完善对方面模型转换的支持。(3)提出了一种新的模型转换语言DyMTL,来处理含有方面概念的模型之间的转换。分析了模型转换语言的特点,给出了DyMTL的语法设计和实现。(4)给出了面向方面模型驱动框架的整体设计,指出了该框架应该具有的基本模块和功能。对其中的重要组件进行了分析设计,给出了相关组件的详细设计。