面向方面的软件开发方法与实现技术研究

来源 :中国科学技术大学 | 被引量 : 0次 | 上传用户:sulianlwp
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
随着软件系统规模和复杂性的不断增加,系统各个组件之间的相互影响变得越来越复杂。这些相互影响会限制软件的重用性和适应性,并使验证系统的逻辑正确性变得很困难。传统的软件开发方法已经难以从根本上解决由于系统复杂度的提高而带来的代码混乱和代码纠缠问题。面向方面的程序设计(AOP,Aspect-Oriented Programming)正是针对这种实际情况被提出的,并已成为继面向对象技术之后新的软件开发的研究方向。本文在对面向方面技术进行了深入分析的基础上,对面向方面技术的各个方面进行了系统的研究。比较了不同的软件开发模型对于系统耦合度的影响。针对AOP的织入过程,结合进程代数模型研究了其有效性和等价性。提出并实现了一种基于组件的面向方面的编程框架。耦合度是衡量一个软件系统可维护性、可重用性和可扩展性的标准。面向方面的系统是面向对象系统的扩展,在对面向对象系统耦合度评估方法研究的基础上,本文提出了一种AOS系统耦合度的评估方法并比较了不同软件开发模型下的系统的耦合度。首先对AOS系统进行了形式化的描述,定义了aspect和class之间不同种类的依赖关系,然后提出了耦合度评估框架,给出了AOS系统耦合度评估方法,并讨论了耦合度评估方法的数学特性,着重研究的是aspect和class之间的依赖关系对AOS系统耦合度的影响。最后针对不同的软件系统模型,比较其耦合度关系,指出AOP技术在降低系统耦合度方面的有效性和正确性。针对目前关于AOP的形式化验证研究的不足,本文在AOP织入过程的等价性和有效性问题上做了形式化的研究。对进程代数模型PAL(Process ALgebraic)作了AOP方面的扩充,抽象出面向方面编程元素和进程的数学描述,利用进程代数理论中较为成熟的标记和丰富的文法来研究aspect在程序等价和织入算法正确性上的问题,从软件科学的角度验证了AOP织入过程的有效性和等价性。在现有的AOP实现技术中,一般通过创建aspect库或者创建专用aspect语言来完成面向方面的编程。本文提出并实现了一种基于组件的面向方面的编程框架AOPF(Aspect-Oriented Programming Framework),该框架既保留了语言本身的特性又提供了对aspect库的支持。框架定义了C++在AOP方面的语言扩展ADL(aspect definition language),用于描述并实现AOP的编程元素,包括切入点(pointcut)、连接点(join point)和通知(advice),通过划分方面(aspect)来提取横切关注点(crosscutting concerns),并由编织器(weaver)将横切关注点织入到软件系统当中,从而实现横切关注点的模块化。AOPF提供两个层次上的AOP编程:自定义层和可配置层。在自定义层中,由编程人员自行定义AOP元素添加到代码中,增强框架的可适应性;在可配置层中,编程人员可以通过配置文件使用预先实现了的通用aspect组件,这些aspect组件将会被编织到代码中完成相应的功能,以期更好的实现代码模块化和重用性。本文所做出的新贡献如下:1.在研究OOP系统耦合度度量的基础上,针对aspect特性,提出一种AOS系统耦合度的评估方法,为证明AOP技术的有效性提供了依据。2.扩展了进程代数模型PAL,对AOP织入过程进行了形式化描述和验证,丰富了AOP理论证明方面的研究。3.提出了面向方面的程序设计框架AOPF,该框架不仅保留了语言本身的各种特性又提供了语言级别的对aspect的支持,并能把特定领域的aspect扩展作为通用组件加入。其优点在于C++源代码无须做出任何改动即可增加横切关注点功能,具有很强的适用性。4.在Linux操作系统上实现了AOPF框架,验证了所提出框架的可行性和有效性。
其他文献
观赏草在景观设计和生态适应性方面具有其他绿化材料不可比拟的优良特性,作为新兴的绿化造景材料越来越受到人们的重视,具有广泛的应用前景。在国外,观赏草从上世纪80年代就开始
提高薄煤层工作面生产效率 ,使厚、薄煤层开采速度相适应 ,其根本出路在于发展机械化。本文回顾了我国薄煤层采煤机技术发展过程 ,并介绍了新型薄煤层滚筒采煤机的使用情况 ,
小学音乐教学法研究是基础音乐教育研究的一个分支领域,从建国后学校音乐课程系统确立至今,小学音乐教学法的理论与实践研究逐渐要求系统化、科学化。因此有必要进行细致地梳理
涂料行业是建筑、工业领域的配套行业,也是使用原材料最为广泛的工业之一[1,2]。自2003年以来,世界涂料业发展迅猛其产量约以5%逐年递增,中国做为涂料需求大国增幅最大其产量
一年级的拼音教学既是重点,又是难点。在实际的课堂教学中,教师必须注意学生的年龄特点并采用灵活多样的教学方法,使学生在趣中学,只有这样才能达到理想的教学效果。下面,笔
根据井下的实际工况,对液压支架整体箱式长推杆进行受力分析,并运用ANSYS软件对实际载荷分布状况进行模拟,将计算结果应用于推杆的结构优化,以实现简化结构、减轻重量、降低
积极开发和合理利用课程资源是英语课程实施的重要组成部分。在新一轮课程改革中,阅读在英语教学中的地位已越来越突出。因此,如何开发和利用英语阅读课程资源是摆在广大一线英
在高中历史教学中,一些教师和学生在运用教科书进行教学和学习的过程中产生了许多低效甚至无效的劳动。因此,如何有效地使用高中历史教科书,提高高中历史课堂教学的有效性,切
方剂中的核心药对决定了方剂的主要功效,其核心药对的组成是不可随意分割和取舍的,改变核心药对的组成,原方的主要作用功效也会随之改变。本文通过阐述桂枝、白芍核心药对在
计算机程序正逐步影响到人类社会的方方面面。无论在互联网还是个人电脑上,计算机程序的安全问题日益严峻。然而现实世界中的程序并不尽如人意,病毒肆虐,网络攻击防不胜防。这些