AspectJ™ is a seamless aspect-oriented programming extension to Java™. It can be used to cleanly modularize the crosscutting structure of concerns such as exception handling, multi-object protocols, synchronization, performance optimizations, and resource sharing. When implemented in a non-aspect-oriented fashion, the code for these concerns typically becomes spread out across entire programs. AspectJ controls such code-tangling and makes the underlying concerns more apparent, making programs easier to develop and maintain.
The updated AspectJ development tools suite and Eclipse plug-in will be used to demonstrate new tool features including incremental building, bytecode weaving, crosscutting structure views, and debugger support. Some common crosscutting concerns of an existing object-oriented system will be mined and refactored into a modular aspect-oriented implementation. The integration of AspectJ into existing development processes will also be reviewed along with JBuilder®, NetBeans, Emacs, and command-line tool support. Installation of the tools and project setup will demonstrate how easily AspectJ can be applied to existing Java systems.