Gregor Kiczales
Professor, University of British Columbia

<bigwig> service: jaoo Bio:
Gregor Kiczales is Professor of Computer Science at the University of British Columbia, where he holds the Xerox, Sierra Systems, NSERC Chair of Software Design. He is also leader of the Xerox PARC group that has developed aspect-oriented programming and AspectJ.
AspectJ project and one of the main evangelists for AOP.

AspectJTM : Aspect-Oriented Programming using Java(tm) technology

One of the great strengths of object-oriented programming is that it improves the modularity of programs. Using an object-oriented language, like the JavaTM programming language, programs are easier to develop because the program units (classes) naturally parallel the design units (objects).

But many common design structures are difficult to modularize using object technology alone. Examples include exception handling policies, multi-object protocols, synchronization constraints and performance optimizations. Instead of being well modularized, the code for these concerns tends to cut across several classes. This results in tangled source code that can be difficult both to read and to maintain.

Aspect-oriented programming (AOP) addresses this problem by introducing "aspects". Aspects are design and program units that can capture crosscutting concerns as single modular units.

AspectJ is a Java platform compatible aspect-oriented extension to the Java programming language. AspectJ makes it possible to use the power of aspects without sacrificing any of the benefits of the Java platform.

This talk will present AspectJ and its mechanisms for handling crosscutting modularity. It will show detailed examples of the kinds of crosscutting concerns AspectJ can address. It will identify the key technical issues in AspectJ research and development. It will also include a comparison to other work on advanced mechanisms for separation of concerns on the Java platform.


AspectJ (Technology, Software Design & Architecture)
Gregor Kiczales, University of British Columbia
Monday [15:30 - 17:00] Tutorial Room

Slides from this presentation

Next speaker Pil