Join point interfaces for safe and flexible decoupling of aspects

Join point interfaces for safe and flexible decoupling of aspects
复制标题

连接点接口,用于安全、灵活地解耦方面

DOI:
10.1145/2559933
复制
发表时间:
2014
期刊:
ACM Trans. Softw. Eng. Methodol.
影响因子:
--
通讯作者:
Milton Inostroza
Milton Inostroza
中科院分区:
--
文献类型:
--
作者:
Eric Bodden;Éric Tanter;Milton Inostroza

文献摘要

参考文献

被引文献

相似文献

在当前面向方面的系统中,方面通常通过其切入点携带对基本代码的显式引用。这些引用是脆弱的,并且阻碍了重要的软件工程属性,例如模块化推理和方面和基本代码的独立演化。在这项工作中,我们引入了一种称为连接点接口的新颖抽象,它通过从基本代码中解耦方面和提供模块化类型检查算法来帮助模块化推理和独立进化。连接点接口既可以通过切入点进行隐式通知,也可以使用闭包连接点进行显式通知。连接点接口进一步在连接点上提供多态分派,其建议分派语义类似于多方法。为了支持灵活的连接点匹配,我们在我们的语言中加入了通用通知的早期建议,并引入了受控全局量化的机制。我们详细介绍了每种语言特性,说明有必要获得一种既类型安全又足够灵活的语言设计,以支持典型的面向方面编程习惯。我们已经将连接点接口实现为AspectJ的开源扩展。对现有面向方面程序的案例研究支持了我们的设计,并特别说明了通用接口和一些全局量化机制的必要性。
In current aspect-oriented systems, aspects usually carry, through their pointcuts, explicit references to the base code. Those references are fragile and hinder important software engineering properties such as modular reasoning and independent evolution of aspects and base code. In this work, we introduce a novel abstraction called Join Point Interface, which, by design, aids modular reasoning and independent evolution by decoupling aspects from base code and by providing a modular type-checking algorithm. Join point interfaces can be used both with implicit announcement through pointcuts, and with explicit announcement, using closure join points. Join point interfaces further offer polymorphic dispatch on join points, with an advice-dispatch semantics akin to multimethods. To support flexible join point matching, we incorporate into our language an earlier proposal for generic advice, and introduce a mechanism for controlled global quantification. We motivate each language feature in detail, showing that it is necessary to obtain a language design that is both type safe and flexible enough to support typical aspect-oriented programming idioms. We have implemented join point interfaces as an open-source extension to AspectJ. A case study on existing aspect-oriented programs supports our design, and in particular shows the necessity of both generic interfaces and some mechanism for global quantification.
面向方面界面的语言特征设计影响的探索性研究
DOI: --
发表时间: 2012
期刊: Aspect-Oriented Software Development
影响因子: --
作者:
Robert Dyer;Hridesh Rajan;Yuanfang Cai
通讯作者: Yuanfang Cai
基本 AOP:微积分
DOI: --
发表时间: 2010
期刊: TOPL
影响因子: --
作者:
B. D. Fraine;Erik Ernst;Mario Südholt
通讯作者: Mario Südholt
面向方面编程中建议和动态连接点的语义
DOI: --
发表时间: 2001
期刊: TOPL
影响因子: --
作者:
M. Wand
通讯作者: M. Wand
DOI: 10.1145/1052898.1052906
发表时间: 2005-03
期刊: --
影响因子: --
作者:
Pavel Avgustinov;Aske Simon Christensen;L. Hendren;Sascha Kuzins;Jennifer Lhoták;Ondřej Lhoták;O. Moor;D. Sereni;Ganesh Sittampalam;J. Tibble
通讯作者: Pavel Avgustinov;Aske Simon Christensen;L. Hendren;Sascha Kuzins;Jennifer Lhoták;Ondřej Lhoták;O. Moor;D. Sereni;Ganesh Sittampalam;J. Tibble
关闭连接点:毫无意外地阻止连接点
DOI: --
发表时间: 2011
期刊: Aspect-Oriented Software Development
影响因子: --
作者:
E. Bodden
通讯作者: E. Bodden