The first major release, 1.0, addresses the concerns discussed in the paper
"A Systematic Aspect-Oriented Refactoring and Testing Strategy,
and its Application to Jhotdraw".
These concerns include persistence, contract enforcement for commands,
and undo support. For each concern, a test suite has been developed
and is included.
In the initial release, the concerns are implemented in an aspect-oriented manner for a
representative subset of all commands and figures.
The aspect solution seamlessly cooperates with the commands and figures still
implemented in the non-aspect-oriented manner.
The road to 1.0 mostly consists of migrating our current approach to JHotDraw
cleaning up and documenting our experimental implementation to make it comprehensible for
others, and setting up a mature release infrastructure.
Minor releases leading to 1.0 include:
- AJHotDraw 0.1, Released January 15, 2005.
Full JHotDraw 6.0 sources included; systematic build, test and release process implemented in ant.
- TestJHotDraw and AJHotDraw 0.3, April 15, 2005
TestJHotDraw includes a test suite for selected commands - execution and undo operations.
AJHotDraw includes the aspect-oriented refactoring of a contract enforcement concern for commands, and the aspect-oriented refactoring of an instance of the Observer pattern.
Note: This release replaces several smaller releases originally planned and adds the Observer refactoring.
Note: The release includes less documentation than availabale under sourceforge CVS. This will be remedied soon.
- TestJHotDraw and AJHotDraw 0.4, May 31, 2005
Aspect-oriented implementation for undo for selected commands.
- TestJHotDraw and AJHotDraw 0.5, June 1, 2005
Aspect-oriented implementation of the consistent behavior instance for commands.
- TestJHotDraw and AJHotDraw 0.6, June 15, 2005
Test suite for selected Observer pattern instances.
Extended test suite for selected commands.
- TestJHotDraw and AJHotDraw 1.0, July 1, 2005
Consolidation release; organize publicity and involve additional people.
We anticipate further major releases every 6 months,
divided into minor releases in a similar way as 1.0.
Release 2.0 will most likely be scheduled for December 2005.
It will include support for
- Extend existing concerns to a broader range of figures and commands
- Additional concerns, such as observers and decorators