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 show how to use AspectJ to implement crosscutting
concerns in a concise, modular way. We will use numerous examples
to develop participant's understanding of AspectJ and
aspect-oriented programming. We will also demonstrate AspectJ's
integration with IDEs such as JBuilder 3.5 and Forte4J, and emacs.
Audience:
Participants will learn how to use AspectJ, as a natural extension
of their existing Java development, to improve the modularity,
reusability and maintainability of their systems.
Required experience:
Attendees should have experience doing object-oriented design and implementation, and should be able to read Java code. No prior experience with aspect-oriented programming or AspectJ is required.
Presenter's profile:
Erik Hilsdale is a member of the research staff at Xerox's Palo Alto
Research Center. As a member of the AspectJ project team, he focuses
on language design, pedagogy and compiler implemetation. He has
written several conference and workshop publications in programming
languages. He is an experienced instructor in programming languages
with a long background with AspectJ.
Gregor Kiczales is Professor of Computer Science and Xerox/Sierra
Systems/NSERC Chair of Software Design at the University of British
Columbia. He is also a Principal Scientist at the Xerox Palo Alto
Research Center, where he leads the group that has developed
aspect-oriented programming and AspectJ.
The focus of his research is enabling programmers to write programs
that, as much as possible, look like their design. Prior to
developing aspect-oriented programming he worked on open
implementation, metaobject protocols and the CLOS object-oriented
programming language. He is co-author of "The Art of the Metaobject
Protocol", a key work in compuational reflection. He has given
numerous invited talks, lectures and tutorials at conferences,
universities and in industry.