Milestone 2: WorldSimulatorand GridWorld2d<T>
This milestone includes the full implementations of concrete classes
implementing the WorldSimulatorand GridWorld2d<T>interfaces, along with tests
demonstrating that the concrete classes perform as specified.
The deliverables for this milestone are:
- RectangularGridWorld2d.java,
TorusGridWorld2d.java, and JRoboWorldSimulator.java
- Java source files for the two concrete gridworld implementations and
the one concrete WORLD SIMULATOR implementation.
- Test suites
- All test suites from Milestone 1, possibly
including new testing code.
- Test logs and description
- You MUST include one or more
.log files that include the outputs of your execution of your
test suites on your concrete implementations. You MUST also include a
TEST_ANALYSIS.TXT file that describes what the contents of
the log files indicate about the functionality of the submitted code
base. This file MAY be as short as ``The test suite is comprehensive
for the functionality of the target modules and all tests were passed,
indicating that all code functions as specified.'' However, failed
tests should be described and an analysis provided of why the failure
occurred (bug, design flaw, insufficient coding time, etc.) Finally,
if the designer considers the test suite to be non-comprehensive, this
should be documented in the TEST_ANALYSIS.TXT file, along
with notes about what tests would be run ``in an ideal world''.
- Other Java source files
- Any other supporting code files
necessary to compile and run tests on the concrete GridWorld2d<T>and WorldSimulator
implementations.
- API Documentation
- The submission MUST include the full,
compiled JavaDoc documentation for all submitted Java modules.
This documentation MUST include full descriptions of
every public or protected method, field, sub-class, enclosed class, or
constructor employed by these modules. This documentation
hierarchy MUST be included in a sub-directory named
documentation/ within the submission jar file. You MAY use
the @inheritDoc Javadoc tag to include some of the
documentation from the cs351_f05_p2_support-v1.jardocumentation, but you MUST
explicitly state in the API documentation any deviation from, addition
to, or different assumptions than the original specifications.
In addition, the handin MAY include any or all of the following:
- This file documents any updates to elements of
previous handins including what modules/files have changed, what substantial
functional changes were made to those modules/files, and whether the
instructors are asked to reevaluate those modules/files.
- This file documents any know missing features or
incomplete tests. It SHOULD also document what tests you would have
liked to include, but didn't, along with a description of why you did
not include them.
- This file includes any other notes or
documentation necessary to use or understand the submission that are
not already included in other documentation.
Terran Lane
2005-10-18