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

T2 : Aspect-Oriented Programming with AspectJ (1) : Introduction

Date Monday, March 14, 2005 morning (half day)
Presenters Julie Waterhouse, IBM
Mik Kersten, University of British Columbia
Level Introductory: Attendees should have experience doing object-oriented design and implementation, and should be able to read and write Java code. No prior experience with aspect-oriented programming or AspectJ is required.


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.

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.

This tutorial will introduce Aspect-oriented programming and show how to use AspectJ to implement crosscutting concerns in a concise, modular way.

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: