AOSD Conference  
Program Overview
Technical Program
Industry Track
Student Extravaganza
Conference Venue
Chicago Photos
Chicago History
Student Volunteers
AOSD-Europe Sponsorships

T3 : Aspect-Oriented Programming with AspectJ (2) : Hands-on Session

Date Monday, March 14, 2005 afternoon (half day)
Presenters Julie Waterhouse, IBM
Mik Kersten, University of British Columbia
Level Intermediate: Attendees should have knowledge of Java and some familiarity and experience with AspectJ, equivalent to the material covered in "Aspect-Oriented Programming with AspectJ (1) : Introduction". Attendees should bring their own laptop with a CD-ROM drive.


AspectJ is a seamless aspect-oriented extension to Java(tm). 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.

This tutorial will provide involved hands-on programming exercises that are intended to mirror the adoption of AspectJ (and other Aspect-oriented technology) into existing organizations. As such, the exercises progress from non-deployed, development-only aspects to aspects which augment a deployed program with crosscutting features. Exercises involve simple but non-trivial crosscutting concerns, such as enforcing invariants, tracing, and caching, so that they will cover the essential concepts of AspectJ. Exercises will use the core AspectJ tools and IDEs.

This is a purely hands-on tutorial -- no powerpoint, no lecturing. The attendees will form pairs or triples to program on their own laptops and talk to each other about the programming to cement their understanding. The instructors will circulate through the room, spending time with each team to help them through rough spots and to deal with their individual questions.

By the end of the tutorial, participants will have seen how to use AspectJ as a natural extension of their existing Java development, to improve the modularity, reusability and maintainability of their systems.

AspectJ is freely available at


Julie Waterhouse is a Research Staff Member at IBM Toronto's Centre for Advanced Studies. She is active in IBM's AOP community, leading research projects and a technical interest group in the area. She is also a committer on the AJDT project.

Mik Kersten is a PhD student and IBM CAS fellow at the University of British Columbia, where he is working on making IDEs more Aspect-Oriented. He is also a committer on the AspectJ and AJDT projects. Before going back to school he developed the original AspectJ IDE integration at Xerox PARC.

Edited by the AOSD Conference Committee.  Send comments to: