Aspect-Oriented Programming with Reflection and Dynamism

Some of the original inspiration for Aspect-Oriented Programming (AOP) draws from the research in dynamic, reflective object-oriented languages and metaobject protocols (MOPs)[Kiczales:1991](The astute reader will notice that many of the same personalities are involved in MOP's and AOP.) A MOP lets the programmer delve "under the covers" and programmatically affect basic language mechanisms such as dynamic method dispatch and class instantiation. These powerful facilities enable the sort of crosscutting metaprogramming that AOP strives to deliver.

A short article on this subject appeared in Communications of the ACM, October 2001: Postscript, PDF.

A position paper submitted as part of the OOPSLA 2001 workshop on Advanced Separation of Concerns: Postscript, PDF.


Greg Sullivan gregs@ai.mit.edu
Artificial Intelligence Laboratory
Massachusetts Institute of Technology
545 Technology Square NE43-802
Cambridge, MA 02139
(617)253-5807 (voice, office)