Skip to main content
CS Colloquium | September 29, 2005

Event-Based Aspect-Oriented Programming

Robert Filman, Research Institute for Advanced Computer Science, NASA Ames Research Center, Moffett Field

Stevenson Hall 1300
12:00 PM - 12:50 PM

For many applications, most code is not devoted to implementing the primary I/O functionality, but instead addresses other concerns, such as reliability, availability, responsiveness, performance, security, and manageability. Conventional programming practice requires the programmer to keep all these other "ilities" in mind while coding and to explicitly invoke behavior at exactly the right places to achieve them. Aspect-Oriented Programming (AOP) is an emerging technology for allowing the separate specification and coding of multiple concerns, while nevertheless providing mechanisms to automatically meld these separate expressions into working programs. This talk presents a pair of AOP systems, past work on the Object Infrastructure Framework (OIF) and current work on event-based quantification, and provides some observations on the distinguishing characteristics of AOP technology. OIF is a distributed object technology that implements separate concerns as dynamic wrappers on object components. Interesting elements of OIF include its mechanisms for application and aspect communication, its dynamic nature, and its language for expressing where aspects apply to base code. Current work is on understanding AOP in terms of quantification over the structures of program text, the results of static program analysis, and the events in program execution. Initial work on event-based quantification, an attempt to map directly and widely the interesting properties of programs into transformations that realize those properties, will be mentioned also.