Time+Place: Thursday 07/08/2003 12:00 Room 337-8 Taub Bld.
Title: Seeking the Essence of AOP; Discovering Aspectual Polymorphism and Aspectual Reflection
Speaker: David H. Lorenz http://www.ccs.neu.edu/home/lorenz
Affiliation: Northeastern University
Host: Yossi Gil

Abstract:

Aspect-Oriented Software Development (AOSD) is a young
and quickly growing field.  On the one hand, AspectJ, an
implementation of Aspect-Oriented Programming (AOP) in Java,
has grown under the leadership of Gregor Kiczales (founder
of AOP) to be the de-facto standard for AOP languages. On the
other hand, there is not yet a complete understanding in the
programming language community as to what the essence of AOP
is. In the talk I describe two examples of deriving essential
AOP concepts by starting with AspectJ and selectively shutting
down language features of Java. In a negative example, we
stop using Java's dynamic dispatch and discover the lack of
"Aspectual Polymorphism" (joint work with Erik Ernst). In
a positive example, we stop using Java core reflection and
discover "Aspectual Reflection" (joint work with Sergei
Kojarski), a special case of "Pluggable Reflection" (joint
work with John Vlissides). AspectJ is used as the basis
for the presentation, but the results are not exclusive to
AspectJ---Aspectual Polymorphism and Aspectual Reflection help
bring about a much deeper understanding of the essence of AOP.