面向方面技术在MDA中的研究与应用

面向方面技术在MDA中的研究与应用

论文摘要

模型驱动架构(MDA)是一个可以从系统模型变换为实现代码的软件开发框架,模型在其中扮演了非常重要的角色。在MDA中,软件开发过程由模型驱动。开发者首先对系统的业务逻辑进行建模,建立的模型不具有任何技术平台的特性,被称为平台无关模型(PIM),和实现技术相关的业务逻辑模型则称为平台相关模型(PSM)。根据选择的实现技术,PIM通过映射机制变换为PSM,然后变换为代码。MDA就是包括一系列建模规范、变换规则和其他相关标准的体系结构。面向对象编程无法有效解决核心业务逻辑之外的关注点对模块封装的破坏,这些关注点包括安全性、数据持久性、日志、错误处理等,它们横切于核心业务逻辑所形成的类结构中,所以也被称作横切关注点。同样地,在MDA中建立的模型也会存在横切关注点。通过面向方面编程(AOP)可以解决面向对象所面临的难题,核心业务逻辑和横切关注点可以分别使用面向对象技术和面向方面技术独立进行开发,最后通过特定技术将这两部分编织在一起形成最终代码。基于以上背景,本文将探讨如何在MDA中应用面向方面技术进行软件开发。本文作者通过对MDA和面向方面技术的深入研究,提出了面向方面的MDA软件开发方法。模型是MDA的核心,因此需要针对面向方面的特性建立通用的面向方面PIM,以及和特定面向方面实现技术(本文选取AspectJ平台)相关的PSM。本文在遵循UML 2.0标准的基础上,使用UML扩展机制分别建立了面向方面PIM和AspectJ PSM的模型规范。通过这些规范,横切关注点和核心业务逻辑就可以相对独立地进行建模,从而分别形成面向方面PIM和面向对象PIM。然后,本文提出了面向方面PIM到AspectJ PSM的变换规则,并使用扩展的OCL语言定义了这些规则。通过这种变换,AspectJ PSM可以在平台相关模型这一层中继续保持与核心业务逻辑模型的独立。在文章的最后,通过对医疗设备物资管理系统的成功开发,验证了面向方面的MDA软件开发的可行性。

论文目录

  • 摘要
  • ABSTRACT
  • 第一章 绪论
  • 1.1 研究背景
  • 1.2 选题及其意义
  • 1.3 主要工作
  • 1.4 论文组织结构
  • 第二章 模型驱动架构
  • 2.1 传统软件开发存在的问题
  • 2.2 MDA 核心概念
  • 2.2.1 MDA 的模型
  • 2.2.2 平台无关模型(PIM)
  • 2.2.3 平台相关模型(PSM)
  • 2.2.4 代码模型
  • 2.2.5 模型变换
  • 2.3 MDA 核心技术规范
  • 2.3.1 元对象设施(MOF)
  • 2.3.2 统一建模语言(UML)
  • 2.3.3 XML 元数据交换(XMI)
  • 2.3.4 公共数据仓库元模型(CWM)
  • 2.3.5 对象约束语言(OCL)
  • 2.4 MDA 元建模框架
  • 2.5 MDA 开发过程
  • 2.6 本章小结
  • 第三章 面向方面的软件开发
  • 3.1 软件编程方法学的发展状况
  • 3.2 面向方面编程(AOP)
  • 3.2.1 AOP 简介
  • 3.2.2 AOP 的核心概念
  • 3.2.2.1 连接点
  • 3.2.2.2 切入点
  • 3.2.2.3 通知
  • 3.2.2.4 静态横切
  • 3.2.2.5 方面
  • 3.2.3 AOP 程序的开发过程
  • 3.2.4 AOP 的支持工具
  • 3.3 面向方面软件开发
  • 3.4 ASPECTJ 简介
  • 3.4.1 连接点(joint point)
  • 3.4.2 切入点(pointcut)
  • 3.4.3 通知(advice)
  • 3.4.4 类型间声明(intertype declaration)
  • 3.4.5 方面(aspect)
  • 3.5 本章小结
  • 第四章 MDA 的面向方面建模和模型变换
  • 4.1 建模语言的选择
  • 4.1.1 MOF 扩展
  • 4.1.2 UML profile
  • 4.1.3 两种扩展方式的比较
  • 4.2 面向方面建模的研究现状
  • 4.3 面向方面PIM
  • 4.3.1 面向方面PIM 的AO-PIM profile
  • 4.3.1.1 构造型AO-PointCut
  • 4.3.1.2 构造型AO-Introduction
  • 4.3.1.3 构造型AO-Advice
  • 4.3.1.4 构造型AO-Aspect
  • 4.3.1.5 构造型AO-CrossCuttingConcern
  • 4.3.2 面向方面PIM 建模
  • 4.4 面向方面PSM
  • 4.4.1 面向方面PSM 的AspectJ profile
  • 4.4.1.1 构造型PointCut
  • 4.4.1.2 构造型Introduction
  • 4.4.1.3 构造型Advice
  • 4.4.1.4 构造型Aspect
  • 4.4.1.5 构造型CrossCuttingConcern
  • 4.4.2 面向方面PIM 建模
  • 4.5 面向方面PIM 到面向方面PSM 的变换
  • 4.5.1 变换方式
  • 4.5.2 变换规则
  • 4.5.2.1 OCL 的基本语法介绍
  • 4.5.2.2 OCL 的扩展
  • 4.5.2.3 用自然语言描述的变换规则
  • 4.5.2.4 用扩展的OCL 描述的变换规则
  • 4.6 面向方面模型在MDA 中的编织时机
  • 4.7 面向方面的MDA 软件开发
  • 4.8 本章小结
  • 第五章 面向方面的MDA 在医疗设备物资管理系统中的应用
  • 5.1 医疗设备物资管理系统
  • 5.2 开发工具
  • 5.2.1 ArcStyler
  • 5.2.2 IBM Rational Software Architect
  • 5.2.3 OptimalJ
  • 5.3 系统实现
  • 5.3.1 业务建模
  • 5.3.2 核心业务PIM
  • 5.3.3 核心业务PIM 到PSM 的变换
  • 5.3.3.1 关系数据库PSM
  • 5.3.3.2 EJB PSM
  • 5.3.3.3 Web PSM
  • 5.3.4 核心业务PSM 到代码的变换
  • 5.3.5 面向方面PIM 到PSM 的变换
  • 5.3.6 最终代码的生成
  • 5.4 系统运行示例
  • 5.5 面向方面的MDA 软件开发方法的评价
  • 5.6 本章小结
  • 第六章 总结与展望
  • 6.1 论文总结
  • 6.2 工作展望
  • 致谢
  • 参考文献
  • 在学期间取得的研究成果
  • 相关论文文献

    标签:;  ;  ;  ;  ;  

    面向方面技术在MDA中的研究与应用
    下载Doc文档

    猜你喜欢