论文部分内容阅读
模型驱动架构(Model Driven Architecture, MDA)是对象管理组织(OMG)定义的软件开发方法,是一个可以从系统模型变换为实现代码的软件开发框架,模型在其中扮演了非常重要的角色。MDA核心思想就是将业务分析与业务实现分离,将软件开发者的关注点转移到业务领域和业务建模。本文以基于MDA的软件建模技术为主要研究内容,对MDA的基本原理、体系结构、软件生命周期、核心技术、模型转换的技术进行了深入的研究和探索。将需求建模和面向方面技术引入MDA软件开发框架,丰富了模型驱动架构。如何将软件需求详细精确地描述出来,是软件工程中一个非常重要的研究内容。目前,软件需求中存在着完整性、二义性、不一致性等问题,而现有的MDA框架中对需求描述的能力较为薄弱。为了解决以上问题,本文提出在MDA框架中使用形式化方法B描述软件需求从而建立软件需求模型。同时研究了需求模型与PIM之间的相互转换,给出了B方法和类图的ecore元模型描述,使用JJTree和ATL完成了转换的规则定义和实现,通过一个实例详细说明了转换的整个过程。横切关注点是指散布在多个单元模块的功能代码,传统的MDA建立的模型中也会存在横切关注点。引入面向方面的编程是解决传统过程中横切问题的重要方法之一。模型是MDA的核心,因此需要针对面向方面的特性建立通用的面向方面需求模型和PIM。本文提出形式化方法B的AOP扩充形式,在B方法环境中描述了面向方面编程的核心概念,建立了面向方面需求模型的规范。同时在遵循UML2.0标准的基础上,研究使用UML扩展机制建立面向方面PIM的模型规范。在面向方面的MDA中一个重要问题是如何从现有系统中发现横切关注点。本文给出了基于动态行为和模糊模式识别的Aspect挖掘方法,该方法引入Aspect获取运行时方法调用的信息,使程序具有了自动收集动态信息的能力,并利用模糊理论识别系统中的横切关注点。