We are pleased to present the first public distribution of our
research prototype for Event-based Aspect-Oriented Programming (EAOP)
for Java. EAOP 1.0 realizes the EAOP model through the following
The tool provides a testbed for the experimentation of aspect
languages. As such, it does not provide specialized languages for
pointcuts and advice (such as AspectJ) but offers a framework for the
definition of arbitrary aspects.
- Expressive crosscuts: execution points can be
represented by events and crosscuts can be expressed which denote
arbitrary relations between events.
- Explicit aspect composition: Aspects may be combined using a
(extensible) set of aspect composition operators.
- Aspects of aspects: Aspects may be applied to other aspects.
- Dynamic aspect management: Aspects may be instantiated, composed
and destroyed at runtime.
Note that version 1.0 provides EAOP support for non-distributed
The (GPL-licensed) distribution is available through the following link:
EAOP-1_0.zip (19 Dec. 2002)
It contains the complete source code,
several examples and rudimentary documentation.
The distribution includes some
(admittedly rudimentary) documentation, in particular:
detailed presentation of the architecture and principles underlying
the implementation can be found in the following article:
- R. Douence, M. Südholt
- "A model and a tool for Event-based Aspect-Oriented
TR 02/11/INFO, École des Mines de Nantes, french version
accepted at LMO'03,
2nd edition, Dec. 2002.
More information (essentially in form of research articles) about the
EAOP approach can be found at the EAOP homepage.
As part of the EU project EasyComp we are on the
application of the model and tool for component-based applications.
In the near future, we intend to work on the following issues
concerning the EAOP tool:
- A layer for the definition of specialized crosscut and action
- Integration into the tool of the aspect interaction analysis
techniques we have developed.
last update on 28 Nov. 2004
by Mario Südholt