Adding open modules to AspectJ
Adding open modules to AspectJ
复制标题
向 AspectJ 添加开放模块
DOI:
--
复制
发表时间:
2006
期刊:
影响因子:
--
通讯作者:
Ganesh Sittampalam
中科院分区:
文献类型:
--
作者:
Neil Ongkingco;Pavel Avgustinov;J. Tibble;L. Hendren;O. Moor;Ganesh Sittampalam
AspectJ does not provide a mechanism to hide implementation details from advice. As a result, aspects are tightly coupled to the implementation of the code they advise, while the behaviour of the base code is impossible to determine without analysing all advice that could modify its behaviour.The concept of open modules is proposed by Aldrich to Solve the problems that arise from unrestricted advice. Defined for a small functional language, it provides an encapsulation construct that allows an implementation to limit the set of points to which external advice may apply.We present an adaptation of open modules for AspectJ. We expand open modules to encompass the full set of pointcut primitives for AspectJ, extend its method of module composition to include the ability to open up a module, and describe the implementation of the design as an extension of the AspectBench compiler. We also provide an example of the use of open modules on a substantial AspectJ program to show how it would fit into existing AspectJ projects.