Personal tools
You are here: Home Members Oege de Moor Publications Adding Open Modules to AspectJ
Document Actions

Adding Open Modules to AspectJ

In: Hidehiko Masuhara and Awais Rashid(editors), 5th International Conference on Aspect-Oriented Software Development, Bonn, March 2006.

Authors: Neil Ongkingco, Pavel Avgustinov, Laurie Hendren, Oege de Moor, Ganesh Sittampalam, and Julian Tibble
>

Abstract

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.

(PDF, PS)

BIBTEX:

           @inproceedings{aosd06abc, 
           author = "Neil Ongkingco and
                         Pavel Avgustinov and 
                         Laurie Hendren and 
                         Oege de Moor and
                         Ganesh Sittampalam and
                         Julian Tibble", 
           title = "Adding open modules to AspectJ", 
           booktitle = "5th International Conference on Aspect-Oriented Software Development { (AOSD)}", 
           editor = "Hidehiko Masuhara and Awais Rashid", 
           year = "2006", 
           publisher = "ACM Press"} 

Powered by Plone CMS, the Open Source Content Management System

This site conforms to the following standards: