Aspect-oriented programming languages require tool support to indicate how crosscutting concerns influence an underlying program. Existing tools provide features such as gutter annotations to indicate the presence of crosscutting and outline views that list the program elements advised by a particular advice. These tools provide useful information but do not provide an overview of the effect of an entire aspect. ActiveAspect produces interactive graphical models of program structures affected by aspects in AspectJ. The model is displayed using a UML-like notation that has been extended to support AOP constructs. Models are initially constructed by displaying the direct influence of an aspect such as the static shadows of its advice and the inter-type members it declares. This initial model can then be automatically expanded to show additional context such as calls made to introduced members or from advice bodies. Unique user interaction and automated abstraction techniques limit the model's complexity as additional context is incrementally added.
For more information, visit our ActiveAspect page.
- Wesley Coelho
- Gail Murphy