Preserving Separation of Concerns Through Compilation
By: Hridesh Rajan, Robert Dyer, Youssef Wasfy Hanna, and Harish Narayanappa
Download PaperDirect PDF
Abstract
Current aspect-oriented (AO) compilation techniques fail to preserve the separation of concerns for post-compilation phases. At the minimum, it makes efficient incremental compilation and unit testing of AO programs challenging. The contribution of this work is an improved approach for aspect-oriented compilation. Our approach rests on a new interface between the AO high-level language (HLL) compiler implementation and the runtime environment. Our interface abstracts the realization of the crosscutting behavior at run-time from the HLL compiler implementations. The interface governs the intermediate code that the HLL compiler can generate and the semantics of the crosscutting primitives that it can expect. We present a preliminary evaluation using a simple but representative AO program showing the benefits of our approach.
ACM Reference
Rajan, H. et al. 2006. Preserving separation of concerns through compilation. Technical Report #214. Iowa State University, Dept. of Computer Science.
BibTeX Reference
@techreport{rajan2006preserving-a,
title = {Preserving separation of concerns through compilation},
author = {Rajan, Hridesh and Dyer, Robert and Hanna, Youssef Wasfy and Narayanappa, Harish},
year = {2006},
institution = {Iowa State University, Dept. of Computer Science},
number = {214},
abstract = {
Current aspect-oriented (AO) compilation techniques fail to preserve the
separation of concerns for post-compilation phases. At the minimum, it makes
efficient incremental compilation and unit testing of AO programs challenging.
The contribution of this work is an improved approach for aspect-oriented
compilation. Our approach rests on a new interface between the AO high-level
language (HLL) compiler implementation and the runtime environment. Our
interface abstracts the realization of the crosscutting behavior at run-time
from the HLL compiler implementations. The interface governs the intermediate
code that the HLL compiler can generate and the semantics of the crosscutting
primitives that it can expect. We present a preliminary evaluation using a
simple but representative AO program showing the benefits of our approach.
}
}