Event-based AOP (EAOP)
(Participants:
Rémi Douence,
Mario Südholt)
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:
- Aspects are defined in terms of events emitted during program
execution.
- Crosscuts relate sequences of events, possibly including state
modifications. They are defined by event patterns which are
matched during program execution.
- Once a crosscut has been matched, an associated action is
executed.
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.
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.
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