基于MDA的软件建模技术研究

基于MDA的软件建模技术研究

论文摘要

模型驱动架构(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获取运行时方法调用的信息,使程序具有了自动收集动态信息的能力,并利用模糊理论识别系统中的横切关注点。

论文目录

  • 中文摘要
  • 英文摘要
  • 1 绪论
  • 1.1 研究工作的背景和意义
  • 1.2 研究工作的内容
  • 1.3 论文的结构和主要内容
  • 2 模型驱动架构
  • 2.1 MDA 基本概念
  • 2.1.1 模型和元模型
  • 2.1.2 平台无关模型和平台相关模型
  • 2.1.3 模型变换
  • 2.2 MDA 的基本框架
  • 2.3 MDA 软件生命周期
  • 2.4 MDA 软件开发方法优势
  • 2.5 本章小结
  • 3 MDA 的核心技术
  • 3.1 统一建模语言
  • 3.2 源对象设施
  • 3.3 XMI 元数据交换
  • 3.4 公共仓库元模型
  • 3.5 QVT 规范
  • 3.6 本章小结
  • 4 基于形式化方法的 MDA 需求建模
  • 4.1 基本模型分类法
  • 4.2 改进的MDA 过程
  • 4.3 形式化方法
  • 4.4 B 方法
  • 4.5 使用B 方法描述需求
  • 4.6 需求模型到PIM 的转换
  • 4.6.1 对机器名的转换
  • 4.6.2 将机器的状态转换为类的属性
  • 4.6.3 将机器的操作转换为类的方法
  • 4.7 PIM 到需求模型的转换
  • 4.7.1 转换类名称
  • 4.7.2 转换类属性
  • 4.7.3 转换类操作
  • 4.7.4 对关联的处理
  • 4.7.5 对泛化的处理
  • 4.8 本章小结
  • 5 MDA 模型转换
  • 5.1 模型转换的概念
  • 5.2 模型转换的类型
  • 5.2.1 模型到代码的转换
  • 5.2.2 模型到模型的转换
  • 5.3 主要的模型转换方法
  • 5.3.1 直接转换方法
  • 5.3.2 基于关系代数的模型转换
  • 5.3.3 基于图形的转换方法
  • 5.3.4 结构驱动的转换方法
  • 5.4 混合模型转换方法
  • 5.4.1 ATL 转换方法简介
  • 5.4.2 OCL 方法简介
  • 5.5 转换过程
  • 5.5.1 JavaCC 与jjTREE
  • 5.5.2 EMF 与ECORE
  • 5.5.3 使用ATL 进行模型转换
  • 5.5.4 转换实例
  • 5.6 本章小结
  • 6 MDA 在面向方面编程扩充
  • 6.1 面向方面编程简介
  • 6.2 AOP 的语言规范
  • 6.3 B 语言对面向方面编程扩充
  • 6.3.1 AOP 语言实现规范
  • 6.3.2 B 语言的AOP 扩展
  • 6.4 PIM 的AOP 扩充
  • 6.4.1 构造型Pointcut
  • 6.4.2 构造型 Advice
  • 6.4.3 构造型Aspect
  • 6.4.4 构造型CrossCuttingConcern
  • 6.5 对横切关注点的挖掘
  • 6.5.1 相关数学定理
  • 6.5.2 挖掘方法
  • 6.5.3 对上述方法的改进
  • 6.5.4 挖掘示例
  • 6.6 本章小结
  • 7 总结和展望
  • 致谢
  • 参考文献
  • 附录:
  • A.作者在攻读硕士学位期间发表的论文目录
  • B. 作者在攻读硕士学位期间参加的科研项目
  • 相关论文文献

    • [1].基于需求依赖关系识别横切关注点[J]. 电子技术与软件工程 2018(20)
    • [2].横切关注点管理中的若干关键问题综述[J]. 计算机科学 2016(07)
    • [3].准确识别横切关注点依赖关系和影响范围的方法[J]. 电信技术 2014(04)
    • [4].通过需求依赖判定横切关注点[J]. 吉林大学学报(工学版) 2011(04)
    • [5].AOP改进访问者模式—分离横切关注点[J]. 微计算机信息 2010(24)
    • [6].AOP与设计模式的比较[J]. 民营科技 2011(05)
    • [7].基于XML的切入点描述机制[J]. 计算机应用与软件 2008(11)
    • [8].基于Spring与Ajax Anywhere的面向方面编程[J]. 信息技术 2008(05)
    • [9].利用.Net4.0的特性实现AOP的方法研究[J]. 机电信息 2011(09)
    • [10].一种基于KAOS和XML的横切关注点识别方法[J]. 武汉工程大学学报 2011(09)
    • [11].应用软件的监控与AOP技术探析[J]. 中国新技术新产品 2009(24)
    • [12].针对C语言的面向方面语言设计与实现[J]. 小型微型计算机系统 2016(12)
    • [13].AOP在BPEL服务组合中的应用的研究[J]. 科技创新导报 2010(12)
    • [14].基于动态行为和模糊识别的Aspect挖掘方法[J]. 计算机工程 2009(06)
    • [15].一种.NET平台下AOP框架的实现方法[J]. 计算机与现代化 2009(11)
    • [16].一种基于面向方面机制的模型转换方法[J]. 计算机应用与软件 2008(05)
    • [17].AOP思想在项目中的应用与研究[J]. 电脑知识与技术 2010(15)
    • [18].面向方面编程在Web系统中的应用[J]. 电脑编程技巧与维护 2010(16)
    • [19].横切侵入性和横切不变性[J]. 计算机研究与发展 2008(08)
    • [20].基于模板的横切关注点重构框架的研究[J]. 电脑知识与技术 2008(27)
    • [21].一种实用的对象持久化框架[J]. 计算机科学 2010(08)
    • [22].基于AOP的数据填充在教学诊改系统中的应用[J]. 现代电子技术 2018(14)
    • [23].基于MVC模式的AOP访问控制技术研究[J]. 南京工程学院学报(自然科学版) 2010(01)
    • [24].基于Decorator AOP框架的一卡通管理系统[J]. 计算机系统应用 2009(08)
    • [25].基于AOP测试技术研究进展[J]. 青春岁月 2013(23)
    • [26].基于面向方面MDA的软件开发方法[J]. 计算机工程与设计 2009(17)
    • [27].一种AOP方面的代数语义[J]. 计算机科学与探索 2011(10)
    • [28].基于AOP和IoC的Ajax Web框架的实现[J]. 重庆工学院学报(自然科学版) 2008(12)
    • [29].面向任务协同程序设计的研究[J]. 计算机与数字工程 2010(04)
    • [30].基于面向方面的校园一卡通系统的设计[J]. 河北软件职业技术学院学报 2010(02)

    标签:;  ;  ;  ;  

    基于MDA的软件建模技术研究
    下载Doc文档

    猜你喜欢