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 and objectives of the AJHotDraw project:

  • A. van Deursen, M. Marin, L. Moonen - AJHotDraw: A showcase for refactoring to aspects. In Proceedings Linking Aspect Technology and Evolution Workshop (LATE), AOSD 2005.

Revision: r1.10 - 28 Mar 2007 - 22:26 - MariusMarin
AMR > AJHotDraw
Copyright © 2003-2017, Software Engineering Research Group, Delft University of Technology, The Netherlands