Tutorial T12


Tutorials  T1  T2  T3  T4  T5  T6  T7  T8  T9  T10  T11  T12  T13  T14  T15  T16  T17  T18  T19  T20  T21 

Aspect-oriented Programming with AspectJ(tm)


Presenter: Erik Hilsdale, Christa Schwanninger
Level: Intermediate
Day: Tuesday (June 19)


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.