AOSD Conference
›› Keynotes
›› Research Track
›› Industry Track
›› Demonstrations
›› Tutorials
›› Workshops
›› Spring School

Back to list of tutorials

T1 & T2 : Extending AspectJ

These tutorials have been cancelled.

Date Monday, March 12, 2007 (full day, but can take morning or afternoon separately)
Presenters Professor Oege de Moor, Oxford University
Dr. Torbjörn Ekman, Oxford University
Dr. Damien Sereni, Oxford University
Pavel Avgustinov, Oxford University
Elnar Hajiyev, Oxford University
Neil Ongkingco, Oxford University
Julian Tibble, Oxford University
Level Intermediate: Knowledge of Java and AspectJ required

If you are interested in registering in only one of T1 and T2, please contact the tutorials chair for further information


Is there a feature you are missing in the AspectJ language? For instance array access joinpoints, or named advice or synchronisation joinpoints, or pure advice, or trace-based pointcuts or aspect interface declarations?

Now you can painlessly implement it yourself, with the new version of abc, the AspectBench Compiler. abc is an extensible research compiler for the AspectJ language, which has already been used for some substantial new language features.

This tutorial starts from a user perspective, exploring some interesting extensions that come with the standard abc distribution. Apart from stimulating discussion on ways to change AspectJ, it also provides a starting point for your own language proposals. Two major classes of features will be discussed: radically changing the pointcut language by allowing patterns to range over full execution traces, and notions of interface. In each case, a short lecture is followed by interactive, hands-on exercises.

The second half zooms in on how such extensions can be implemented. Here we take a couple of frequent requests from the aspectj user mailing list, and indicate what changes are necessary. Participants can then again experiment by actually making those changes themselves.


Oege de Moor received an M.Sc. degree from the University of Utrecht, the Netherlands. He did his doctoral (D.Phil.) work at Oxford, on a characterisation in category theory of algorithmic paradigms such as dynamic programming. He has held visiting appointments at the University of Tokyo, Chalmers University and Microsoft Research (both Redmond and Cambridge).

Since 1994 he has been a faculty member at Oxford, where he founded the Algebra of Programming research group, jointly with Richard Bird. After the publication of a textbook on that subject in 1997, he turned to the general area of meta-programming, and founded the Programming Tools Group. Research topics in the group include type systems for metaprogramming, mechanised support for refactoring, and aspect-orientation. During the 2003-2004 academic year Professor Hendren visited Oxford University, and they started the joint abc project, the topic of this tutorial.

Torbjörn Ekman recently completed his Ph.D. at Lund University, on the topic of extensible compiler construction. Jointly with his PhD advisor Görel Hedin, he built JastAdd, an aspectoriented system for compiler construction. He has also worked on real-time Java, as well as configuration management. Ekman currently holds a postdoctoral research position at Oxford.

Damien Sereni received a doctorate (D.Phil.) from the University of Oxford, on termination analysis of functional programs. He currently holds a postdoctoral position at Oxford in the Centre for Metacomputation, focusing on metaprogramming, automated verification and semantics. He has been involved in research on aspects since 2002, in particular on semantics and analysis of aspect-oriented programs. He has contributed to the abc project since 2004.

Pavel Avgustinov received a B.A. MatComp degree from the University of Oxford, UK. He is currently undertaking his doctoral studies at Oxford, specialising on aspect-orientation. He has been a contributing member of the abc project since summer 2004, and has co-authored a number of papers on abc, extensions of AspectJ and the semantics of pointcut matching.

Elnar Hajiyev received an M.Sc. in Computer Science degree from the University of Oxford, UK. He is currently a research student reading for his doctorate degree at Oxford. Code querying and aspect-orientation are subjects of his specialisation. He has been a member of the abc group since October 2005 and has contributed in work on the semantics of pointcut matching.

Neil Ongkingco is a DPhil student on the Programming Tools Group of the Oxford University Computing Laboratory. He has received his MSc in Computer Science from the same institution, and a B.S. in Computer Science from the University of the Philippines Diliman. He has coauthored several papers of the AspectBench compiler group, most notably that of the adaptation of open modules as an extension of the AspectJ language.

Julian Tibble received a B.A. in Computer Science from the University of Oxford. He is now a research student in the Programming Tools Group at the same university, reading for a doctorate (D.Phil.). His research interests include aspect-oriented programming language semantics and compilation, as well as program monitoring and runtime verification, and has co-authored several papers with the abc team on these topics.

Edited by the AOSD Conference Committee.  Send comments to: