Deliverable: Simulator Increment 2
For the second formal increment you are to submit design and implementation of a simulator that implements all aspects of the CTF2009 and STEAL specifications.
Testing
You must include enhance your system-level test suite to test all aspects of the specifications (minimum 20 test cases including those from the first increment). As before, all test cases will be applied to all team simulators and you will be graded on how well your simulator does as well as how well your test cases do at finding errors in simulators.
Documentation
In keeping with the spirit of live documentation (and to save trees) you are required to submit electronic documents only, preferably in a format readable using a standard web browser or pdf viewer. The structure and style of your documentation is very much up to you and I encourage you to be creative in effectively and professionally documenting your design. As for the first increment, the submitted documents must be in the trunk/Doc sub-directory of the subversion repository.
Your documentation must contain the following information:
- A description of the architectural design (i.e., set of components, their roles, responsibilities, relationships and interactions). Appropriate use of UML diagrams will significantly enhance this. Also reference to design patterns being used, where appropriate, will help in describing your design.
- Precise, accurate and cross-referenced class interface documentation for all classes. This is easiest to do using javadoc (see How to Write Doc Comments for the Javadoc Tool).
- For all test cases, a concise description of what is being tested, how, and what are the expected results.
Submission Process
A particular revision of your whole repository will be "tagged" (See Creating Tags in the SVN Book) with the name sim_incr_2_submit and this will be taken to be the submitted files. You may choose a revision yourselves and add the tag before 0900 on the due date. If the appropriate tag is not added by the due date, the revision in the repository at 0900 on the due date will be tagged and used.