Type-based Quantification of Aspect-Oriented Programs
By: Hridesh Rajan
Download PaperAbstract
Quantification is a distinguishing characteristic of AspectJ-like aspect-oriented languages. Such languages use advice constructs to modify the behavior of execution points. In this work, we contribute an approach and a language de- sign for quantification based on type hierarchies that we call type-based quantification. The key idea is to superimpose a crosscutting type hierarchy over the ob ject-oriented inheri- tance hierarchy. This crosscutting type hierarchy can then be utilized for quantification, instead of or in addition to current syntactic quantification mechanisms based on regu- lar expressions. A subsequent evaluation reveals that type- based quantification improves the robustness of the advising code against base code changes, and makes it easier for the advice constructs to uniformly access contextual information about the join point without breaking the encapsulation of the advised code.
ACM Reference
Rajan, H. 2006. Type-based Quantification of Aspect-oriented Programs. Technical Report #06-32. Iowa State University, Dept. of Computer Science.
BibTeX Reference
@techreport{rajan2006type,
author = {Rajan, Hridesh},
title = {Type-based Quantification of Aspect-oriented Programs},
institution = {Iowa State University, Dept. of Computer Science},
year = {2006},
number = {06-32},
month = {September},
abstract = {
Quantification is a distinguishing characteristic of AspectJ-like
aspect-oriented languages. Such languages use advice constructs to modify the
behavior of execution points. In this work, we contribute an approach and a
language de- sign for quantification based on type hierarchies that we call
type-based quantification. The key idea is to superimpose a crosscutting type
hierarchy over the ob ject-oriented inheri- tance hierarchy. This crosscutting
type hierarchy can then be utilized for quantification, instead of or in
addition to current syntactic quantification mechanisms based on regu- lar
expressions. A subsequent evaluation reveals that type- based quantification
improves the robustness of the advising code against base code changes, and
makes it easier for the advice constructs to uniformly access contextual
information about the join point without breaking the encapsulation of the
advised code.
}
}