Aspect weavers work by generating a join point representation of the com- ponent program, and then executing (or compiling) the aspect programs with respect to it. In the digital library example, the join-point representation in- cludes information about dynamic method invocations such as the concrete classes of the arguments and their location. The join point representation can be generated at runtime using a reflective runtime for the component language. In this approach, the aspect language is implemented as a meta-program, called at each method invocation, which uses the join point information and the aspect program, to know how to appropriately marshal the arguments.
Aspect-Oriented Programming by Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Videira Lopes, Jean-Marc Loingtier, and John Irwin
02/11/11 at 9:00am