Event-based AOP (EAOP)

(Participants: Rémi Douence, Mario Südholt)

News

Motivation

Aspect-Oriented Programming is an emerging research domain aiming at the modularization of so-called crosscutting concerns.

Event-based AOP is a general framework for AOP having the following characteristics:

The main assumption of our work is that crosscut definitions should be expressive enough to relate different events occuring during program execution and explicate state information belonging to those events. This in contrast to other approaches to AOP (most notably AspectJ) which restrict crosscuts ("pointcuts" in AspectJ) to individual points during program execution and the state associated to them to information local to those execution points. Note that the model of EAOP is general enough to accomodate, in principle, any other model of AOP.

We are currently working on the formalization and implementation of EAOP as well as considering some restricted setting to the framework (e.g.~in order to enable the analysis of interaction between aspects). Furthermore, we are interested in applications of EAOP to component-based systems, infrastructure software and system-level applications.

Formal definition and properties of EAOP

We have formally defined such a framework and introduced a formally-defined language for such expressive crosscut definitions. We have shown how this crosscutting language enables more concise aspect definitions and the use of equational reasoning to proof properties of aspect languages and the weaving process. These results are documented in the following publications:

R. Douence, O. Motelet, M. Südholt
"A formal definition of crosscuts", Proceedings of the 3rd International Conference on Reflection and Crosscutting Concerns, LNCS, long version is Technical Report no. 01-3-INFO, 2001
We have also investigated a restricted form of EAOP in which crosscuts are defined using regular expressions but which enables interaction properties among aspects to be defined and analyzed statically:
R. Douence, P. Fradet, M. Südholt
"A framework for the detection and resolution of aspect interactions", Proceedings of the ACM SIGPLAN/SIGSOFT Conference on Generative Programming and Component Engineering (GPCE'02), preprint version is INRIA RR no. 4435, Oct. 2002

R. Douence, P. Fradet, M. Südholt
"Composition, Reuse and Interaction Analysis of Stateful Aspects", 3rd Int. Conf. on Aspect-Oriented Software Development (AOSD'04), Mar. 2004.
© ACM (2004). This is the authors' version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version is published in the AOSD'04 Proceedings.

Applying EAOP

We have applied EAOP to a wide range of problems in the domains of component-based programming, infrastructure software and system-level applications:
R. Douence, T. Fritz, N. Loriant, J.-M. Menaud, M. Ségura, M. Südholt
"An expressive aspect language for system applications with Arachne", 4th Int. Conf. on Aspect-Oriented Software Development (AOSD'05), to appear, March 2005.

A. Farías, M. Südholt  
"Integrating protocol aspects with software components to address dependability concerns", TR 04/6/INFO, École des Mines de Nantes, Nov. 2004

G. Muller, J. L. Lawall, J.-M. Menaud, M. Südholt
"Constructing Component-Based Extension Interfaces in Legacy Systems Code", 11th ACM SIGOPS European Workshop, Sep. 2004.

R. Aberg, J. L. Lawall, M. Südholt, G. Muller, A.-F. Le Meur
"On the automatic evolution of an OS kernel using temporal logic and AOP", Int. Conf. on Automated Software Engineering (ASE), IEEE, Oct. 2003.

L. P. Barreto, R. Douence, G. Muller, M. Südholt  
"Programming OS Schedulers with Domain-Specific Languages and Aspects: New Approaches for OS Kernel Engineering", Int. WS on Aspects, Components, and Patterns for Infrastructure Software at AOSD, April 2002

R. Douence, O. Motelet, M. Südholt
"Sophisticated crosscuts for e-commerce", ECOOP 2001 Workshop on Advanced Separation of Concerns, 2001


last modification on 4 Aug. 2006 by Mario Südholt