AOSD Conference  
Program Overview
Technical Program
Student Extravaganza
Social Events
Technical Papers
Practitioner Reports
Student Extravaganza
Places to Eat
Internet Access
Lancaster & Lake District Photos

T1: Aspect-Oriented Programming with AspectJ

Date Monday, March 22, 2004, morning (half day)
Presenters Erik Hilsdale, Palo Alto Research Center
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™. 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. We will also demonstrate and use AspectJ's integration with the Eclipse IDE, in addition to the core AspectJ tools.

AspectJ is freely available at


Erik Hilsdale is a member of the research staff at the Palo Alto Research Center. As a member of the AspectJ project team, he focused on language design, pedagogy, and compiler implemetation. He has written several conference and workshop publications in programming languages. He is an experienced and energetic instructor in programming languages with a long background with AspectJ.

Mik Kersten is a graduate student and IBM CAS fellow at the University of British Columbia, where he is working on making IDEs more aspect-oriented. He is a member of the AspectJ and AJDT Eclipse plug-in teams and is responsible for the AspectJ tools framework. Before going back to school, he was a research scientist at Xerox PARC.

Edited by the AOSD Conference Committee.  Send comments to: