On the Expressive Power of Classpects

Authors:Rajan, Hridesh, Department of Computer ScienceUniversity of Virginia Sullivan, Kevin, Department of Computer ScienceUniversity of Virginia

The most prominent feature of AspectJ and derivative languages is the aspect. The aspect is a module-like construct that supports data abstraction but that is distinct from the class in several ways. First, aspects support new mechanisms: notably join points, point- cut descriptors and advice. At the same time, they lack some key features of classes, namely the ability to manage aspect instanti- ation using new. In earlier work, we showed that it was possible and valuable to simplify the design of such languages without loss of expressiveness by unifying aspects and classes in a new construct that we called the classpect. The contribution of this paper is the formal demonstration, using Felleisen�s notion of macro�eliminable programming language extensions, that the classpect language model, realized in the Eos language and com- piler, is strictly more expressive than AspectJ in the important case in which aspect-like modules must advise other aspect modules.

All rights reserved (no additional license for public reuse)
Source Citation:

Rajan, Hridesh, and Kevin Sullivan. "On the Expressive Power of Classpects." University of Virginia Dept. of Computer Science Tech Report (2005).

University of Virginia, Department of Computer Science
Published Date: