Aspects and Modules Combined

Johan Ovlinger, Northeastern University
Karl Lieberherr, Northeastern University
David H. Lorenz, Northeastern University

Overly regular module interfaces in object-oriented languages hamper modularization of complex applications. Aspect-oriented programming tackles this problem by allowing module boundaries to span and partition classes in a flexible manner. However, not without a cost. In order to achieve this flexibility, common modularity mechanisms, such as encapsulation and external composition, are lost. The ability to separately compile or reason about a modular unit is also compromised. Combining aspects and modules restores these properties to the aspect-oriented programming language. In restoring the properties, the programming units---Aspectual Collaboration in our case---become more verbose: Encapsulation requires that all collaborations describe their interface to the rest of the application; and composition of collaborations similarly requires that each module's interface be reconciled with the other. We give a brief introduction to Aspectual Collaborations, however, the main part of the paper covers a comparison study of AspectJ, Hyper/J, and Aspectual Collaborations in solving an AOP programming challenge. We derive the comparative cost of using encapsulation.

Technical Report NU-CCS-02-03, College of Computer Science, Northeastern University, December 2001. This research was partially supported by the National Science Foundation under award number CCR-0098643.


NU-CCS-02-03.ps.gz (124k)
NU-CCS-02-03.pdf (316k)
NU-CCS-02-03.dvi (104k)

http://www.ccs.neu.edu/research/demeter/papers/ac-aspectj-hyperj


@TechReport{Lieberherr:2001:ACC,
  Title       = "Aspects and Modules Combined",
  Author      = "Johan Ovlinger and Karl Lieberherr and David~H. Lorenz",
  Number      = "{NU-CCS-02-03}",
  Institution = "College of Computer Science, Northeastern University",
  Address     = "Boston, MA 02115",
  Month       = dec,
  Year        = 2001,
  URL         = "http://www.ccs.neu.edu/home/lorenz/papers/reports/NU-CCS-02-03.html",
}

Other papers