AJHotDraw
AJHotDraw is an aspect-oriented refactoring of
JHotDraw, a relatively large and well-designed open source Java framework for technical and structured 2D graphics. It was started to experiment with the feasibility of adopting aspect-oriented solutions in existing software and demonstrate the strategies proposed by research of the
Software Evolution Research Lab of Delft University of Technology in the Netherlands. It is written using
AspectJ, an aspect language that extends Java with crosscutting functionality.
Since behavior conservation is an important element of refactoring, we are also developing
TestJHotDraw,
a test suite that can be used to test both the original
JHotDraw and its aspect-oriented counterpart
AJHotDraw.
JHotDraw was originally developed as an exercise to show a good use of object oriented design patterns (
GoF) in a Java implementation. The fact that
JHotDraw is considered a well-designed application makes it an ideal candidate as showcase for aspect-oriented migration.
AJHotDraw is open source software, distributed under the
LGPL License and
hosted at SourceForge.
Anticipated releases of
AJHotDraw are described in the
AJHotDraw Release Plan.
You are more than welcome to join the
AJHotDraw development team,
and offer aspect-oriented implementations of your favorite crosscutting concerns.
Contact
MariusMarin for further details.
The following paper summarizes the aims, objectives and experience of the
AJHotDraw project: