T3 : Aspect-Oriented Programming with AspectJ (2) : Hands-on Session
||Monday, March 14, 2005 afternoon (half day)
Julie Waterhouse, IBM
Mik Kersten, University of British Columbia
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 eclipse.org 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 eclipse.org 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: webmasteraosd.net