Aspect-Oriented Programming (AOP)
Description It is all too common an experience to find that adding a single new functional feature to an existing application requires touching many widely distributed parts of the application. To address this problem, AOP provides tools to enable the succinct specification of such "crosscutting" features. Thus, for example, one could add a transaction logging facility to an application with a single specification, even though most modules in an application would be affected by such a feature.
Deliverables A toolset for specifying aspect-oriented languages that mix with existing languages to allow the specification of high-level aspects.
Contributions A general infrastructure for the creation and implementation of aspect-oriented languages.
Researchers Greg Sullivan, Jonathan Bachrach, Robert Laddaga.