Item Details

Classpects: Unifying Aspect- and Object-Oriented Language Design

Rajan, Hridesh; Sullivan, Kevin
Format
Report
Author
Rajan, Hridesh
Sullivan, Kevin
Abstract
The contribution of this work is the design, implementation, and early evaluation of a programming language that unifies classes and aspects. We call our new module construct the classpect. We make three basic claims. First, we can realize a unified design without significantly compromising the expressiveness of current aspect languages. Second, such a design improves the conceptual integrity of the programming model. Third, it significantly improves the compositionality of aspect modules, expanding the program design space from the two-layered model of AspectJ-like languages to include hierarchical structures. To support these claims, we present the design and implementation of Eos-U, an AspectJ-like language based on C# that supports classpects as the basic unit of modularity. We show that Eos-U supports layered designs in which classpects separate integration concerns flexibly at multiple levels of composition. The underpinnings of our design include support for aspect instantiation under program control, instance-level advising, advising as a general alternative to object-oriented method invocation and overriding, and the provision of a separate join-point-method binding construct.
Language
English
Date Received
20121029
Published
University of Virginia, Department of Computer Science, 2004
Published Date
2004
Collection
Libra Open Repository
Logo for In CopyrightIn Copyright

Availability

Access Online