面向方面程序设计语言的基础研究和发展综述

时间:2022-05-29 14:20:02 公文范文 浏览次数:

AOP作为计算机程序设计的重要技术手段之一,经过十多年的发展,日益受到软件研究者和实践者的关注,并发展成为软件工程的一个重要的研究领域,本文基于该领域近十年来的研究进展,分析总结了其基础技术特点和发展研究方向。

【关键词】AOP 基础研究 发展

面向方面程序设计(aspect-orientedprogramming,AOP)是近年来研究比较火热的技术,其照耀目的是解决软件系统中的横切点问题。AOP的发展首先要从语言设计开始,最好的例子是Java升级后的AspectJ,以此为基数发展了很多相关的AOP语言和技术方法。近年来,国内外对于AOP的研究已经远远超过了以往对某一程序技术语言的研究,并且快速的推动相关产业和研究的发展,因此,本文特别对面向方面程序设计语言研究进行综述,主要探究其基础技术和发展研究方向。

1 AOP语言基础

AOP 语言主要是分为基础程序和方面程序,其中基礎程序是比较传统程序设计语言,主要关系程序的核心关注点,方面程序则是对基础程序的扩展和补充,主要风度程序的横切关注点,如表1就列出了AOP语言的几个典型基础语言。可以看出方面语言程序是在基础语言的基础上进行扩展得到的,方面语言就是为了适应关注点的需要对基础语言的完善,而最常见的基础语言是Java,其衍生的方面语言程序做多,应用发展也最迅速。Weave.NET和Sourceweave.NET是针对某一特定平台设计的,其基础语言为.NET,显而易见是为了.NET平台所研发的。

2 AOP 语言的分类

AOP是有很多基础语言完善扩展而来,具有种类多,功能多的特点,因此根据这些语言的特点对其分类研究,可以使学者们尤其是初学者能够更好更快的对其有全方面的了解,熟悉和掌握其关键点和研发机制,如表2是AOP语言的分类,此分类是学者们研究AOP语言的一个逐步深入的过程,早期,AOP 语言大多在某种传统的基础语言的基础上添加关键词或者语言结构对其进行修饰,称为简单的AOP语言,这种方法设计的AOP语言大多数为非对称AOP语言,例如以AspectJ 为代表的程序设计语言,这类语言与基础语言的功能相同或者相似,是比较好掌握的一类AOP语言。相对于非对称性语言,对称性语言则属于另一种类型,例如AspectS,这种AOP语言是又开放了一套新的扩展名与之前的基础语言组合构成的,其所编写的方面模块与类模块具有完全相同的代码结构,这种语言性对与非对称性语言,应该起来更加灵活而且使用更加方便具有自定义的功能。还有根据逻辑表达方式、行为的执行时间、行为的结果特征和行为的执行过程进行分类,再此不一一列举。

3 AOP语言的发展

自上世纪90年代提出AOP程序设计语言以来,其研究就一直处于热点状态,其设计的领域也在逐步扩大,AOP程序设计语言在分析、设计、实现、测试、部署、更新、维护等各个阶段都有涉及,并在相关领域取得了丰硕的研究成果。近年来,国外的很多学术论坛均有关于AOP的描述,并对其发展表现了极大的研究兴趣,现在在欧美国家,AOP程序设计正在快速的发展期,而且部分技术已经应用到实际的工业化生产过程中。国内AOP程序设计的相关研究虽然晚于欧美国家,但是近几年受到了相当高度的重视,研究的学者也越来越多,随着研究的深入国内也取得了很多成绩,随着很多学者认识到AOP程序设计带来的模块化横切关注点这一好处,甚至简单地将面向方面程序设计理解为模块化横切关注点;也使得很多人狭隘地将面向方面程序设计绑定、局限在面向对象程序设计之上,认为面向方面程序设计是面向对象程序设计的扩充、有效的补充等。本文对当前AOP 语言的部分研究成果进行了归纳和总结,希望能为AOP 技术相关研究在我国的进一步开展提供有益的参考

参考文献

[1]古思山,蔡树彬,李师贤.从面向方面程序设计的定义到面向方面程序设计语言[J].计算机科学,2011,38(10):133-139.

[2]唐祖锴,彭智勇.面向方面程序设计语言研究综述[J].计算机科学与探索,2010,4(01):1-19.

[3]林莉,怀进鹏,李先贤.基于属性的访问控制策略合成代数[J].软件学报,2009,20(02):404-414.

作者单位

济宁职业技术学院 山东省济宁市 272000

推荐访问:综述 面向 基础 程序设计语言 研究