Join Point Encapsulation

Authors:Larochelle, David, Department of Computer ScienceUniversity of Virginia Scheidt, Karl, Department of Computer ScienceUniversity of Virginia Sullivan, Kevin, Department of Computer ScienceUniversity of Virginia

At the heart of aspect-oriented programming is the exposure of certain phenomena in the execution of one set of program elements to behavioral modifications specified by other elements. The phenomena are join points. The modifying elements are aspects. The problem that we address is that current aspectoriented languages do not provide adequate means to control the exposure of join points for behavioral modification by aspects. Rather, these languages define certain classes of join points (e.g., method calls) and expose all instances thereof. In a nutshell, then, current languages lack join point encapsulation mechanisms. We map a solution space and describe one proof-of-concept design that we have implemented for AspectJ. A key feature of our design is that it is, itself, aspect-oriented: We use AspectJ's pointcut language to identity cross-cutting sets of join points to be encapsulated. The potential benefits of such a modularity-supporting mechanism include improved ease of reasoning about program behavior and the ability to assure the absence of side-effects through enforced non-interference by aspect code, and improved ease of design evolution.
Note: Abstract extracted from PDF text

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

Larochelle, David, Karl Scheidt, and Kevin Sullivan. "Join Point Encapsulation." University of Virginia Dept. of Computer Science Tech Report (2002).

University of Virginia, Department of Computer Science
Published Date: