Modular Compilation Strategies for Aspect-Oriented Constructs







Deposit Papers 


Dyer, Robert and Rajan, Hridesh (2006) Modular Compilation Strategies for Aspect-Oriented Constructs. Technical Report 06-30, Computer Science, Iowa State University.

Full text available as:Adobe PDF

This is the latest version of this eprint.


In our previous work, we presented an aspect-oriented intermediate language, named Nu, to preserve design modularity in object code. Nu is based on two primitives: bind and remove. We showed that maintaining modularity in object code significantly improved the incremental compilation time of aspect-oriented programs. The key contribution of this work is a set of compilation strategies to Nu for a number of AspectJ constructs such as control flow (cflow and cflowbelow), instantiation (perthis, pertarget, percflow, percflowbelow) and dynamic checks (if, this, target, args), as well as composition operators (&& and ||). The motivation was to determine if these high-level language constructs need to be supported in the intermediate language. Our compilation strategies are modular and textually local. To compile a construct in a module, only the information about that module's implementation and the specification of other modules referenced in that module are needed. The generated intermediate code for a construct in a source module is confined to a single module in the object code. We show that our compilation strategies improve incremental compilation time of aspect-oriented programs. We also analyze our intermediate language with respect to constructs that are not directly supported.

Subjects:Software: PROGRAMMING TECHNIQUES (E): Object-oriented Programming
Software: PROGRAMMING LANGUAGES: Language Constructs and Features (E.2)
ID code:00000490
Deposited by:Hridesh Rajan on 12 December 2006

Available Versions of This Paper

Contact site administrator at: