Join Point EncapsulationReport
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)
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