<bigwig> service: jaoo
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
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]
Slides from this presentation