Type-based Quantification of Aspect-Oriented Programs

By: Hridesh Rajan

PDF Download Download Paper

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.

ACM Reference

Rajan, H. 2006. Type-based Quantification of Aspect-oriented Programs. Technical Report #06-32. Department of Computer Science, Iowa State University.

BibTeX Reference

@techreport{rajan2006type,
  author = {Rajan, Hridesh},
  title = {Type-based Quantification of Aspect-oriented Programs},
  institution = {Department of Computer Science, Iowa State University},
  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.
  }
}