Department of Computing Science
Department of Computing Science University of Alberta
| |
|
Gregor Kiczales - Monday 26 February 2001

Aspect-Oriented Programming
(what we are learning from AspectJ and other projects)

Gregor Kiczales
Department of Computer Science
University of British Columbia


ABSTRACT

Aspect-oriented programming (AOP) has been proposed as a technique for improving separation of concerns in software.

The central idea in AOP is that while the hierarchical and block structured modularity mechanisms of object-oriented and procedural programming are extremely useful, they are inherently unable to capture all concerns of interest in complex systems. Instead, we believe, that in any complex system there will be concerns that crosscut the hierarchical (or block) structure of the overall system. That is, there will be aspects of the implementation which one would like to modularize, but which instead be spread out. This happens because the natural modularity of these concerns crosscuts the natural modularity of the rest of the implementation.

AOP does for concerns that are naturally crosscutting what OOP did for concerns that are naturally hierarchical -- it provides language support that allows crosscutting structure to be explicit, clear and composable. This makes it possible to program crosscutting aspects in a modular way. Once they are well modularized, all the usual benefits of better modularity apply: including code that is easier to design, develop, maintain and reuse.

In the talk I will present the motivation and basic idea of AOP, and discuss what we are learning from the AspectJ project at Xerox PARC and work with AspectC at UBC.


BIOGRAPHY

Gregor Kiczales is Professor of Computer Science and the NSERC, Xerox Canada, Sierra Systems Chair of Software Design at the University of British Columbia.

His research is directed at enabling programmers to write programs that, as much as possible, look like their design. He has worked on a variety of techniques to achieve this, including object-oriented programming metaobject protocols, open implementation, and most recently aspect-oriented programming. He is author, with Danny Bobrow and Jim des Rivieres of "The Art of the Metaobject Protocol".

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.


Host: Duane Szafron

|
| |
|
University of Alberta

Copyright © 2006.
All rights reserved.