Milestone 2: The A* Engine
In this milestone, the designer/implementer will deliver a functional
search engine object capable of solving puzzles with either a general
admissible or a monotonic heuristic. This milestone does not
specifically include implementations of the PUZZLEs described in
Section 3.1, though it may be necessary to develop one
or more PUZZLE objects in order to test the system. The instructors
will test the search engine object with an arbitrary PUZZLE object
obeying the interface specifications given in
Section 3.3. This milestone also does not include
support for the input file format specified in
Section 3.2, though some sort of unit testing is
required and limited parsing ability MAY be supported for that
purpose. Specific materials to be handed in will be:
- Java code
- The class file(s) for all objects necessary to
compile and instantiate the search engine object, including any
supporting code necessary to compile, load, and use the search engine
module. Note that this may include one or more PUZZLE objects in
order to test the functionality of the engine.
- API documentation
- The handin MUST also include the full,
compiled JavaDoc documentation for the search engine object(s)
implementation. This documentation MUST include full descriptions of
every public or protected method, field, sub-class, enclosed class, or
constructor employed in the code. This documentation hierarchy MUST
be included in a sub-directory named documentation/ within
the submission tarball package.
- Unit test documentation
- The handing MUST include a document
named PERFORMANCE.extension that describes unit tests on this
module and demonstrates correct functionality.
- Test cases
- If any external test data is necessary for the unit
tests of this object, that data MUST be submitted in the subdirectory
tests/ within the tarball.
- CVS log file(s)
- For each Java source file, the submission
tarball MUST include a corresponding .log file including the
CVS log for that sourcecode.
At the programmer's option, this submission MAY also include:
- BUGS.TXT
- This file documents any known outstanding
bugs, missing features, performance problems, or failures to meet
specifications of your submission. Note that the penalty for such
problems will be smaller if they're fully documented here than if the
instructors discover them independently.
The submission directory MUST be named lastname_p2m2 and the
submission tarball MUST be named lastname_p2m2.tar.gz.
Terran Lane
2004-03-24