18-649 Project 6

More Implementation and Test

Check the course webpage for due dates

Please submit all project-related correspondence to


Assignment

In this project you will finish implementing your elevator, complete your unit testing, and do more integration tests.



The procedures and requirements for this project are identical to those of project 5; you'll just be implementing and testing different controllers. So, all the requirements from project 5 and the Testing Requirements document apply to this project as well.

  1. Make sure you have the latest version of the simulator code from the download page.

  2. Implement (in Java) the CarPositionControl, Dispatcher, and LanternControl objects using your statecharts.  All the rules and procedures for implementing these objects are the same as they were for implementing the other objects in project 5.

  3. Update statecharts to code traceability to include the new objects.

  4. Write complete unit tests to informally test every state and transition of the CarPositionControl, Dispatcher, and LanternControl statecharts, like the unit tests you created for the DriveControl in project 5.  



Team Design Portfolio

The portfolio you submit should contain the most up-to-date design package for your elevator system organized into the following directories.   You are going to update your portfolio every week, so be sure to keep an up to date working copy. 

Files that you should update for this week are:

Ensure your design portfolio is complete and consistent.

The following is a partial list of the characteristics your portfolio should exhibit:

Handing In Results

Each team shall submit exactly one copy of the assignment.

Follow the handin instructions detailed in the Project FAQ to submit your portfolio into the afs handin directory ( /afs/ece/class/ece649/Public/handin/project6/group#/ontime/). 

Be sure you follow the required format for the directory structure of the portfolio and its location in the handin directories.

Be sure to follow ALL the portfolio guidelines detailed in the Portfolio Layout page.

Any submission that contains files with modification dates after the project deadline will be considered late and subject to a grade deduction (see course policy page for more information).


Grading (160 points):

Here's the minimum requirement spread sheet.

This assignment counts as one team grade. If you choose to divide the work, remember that you will be graded on the whole assignment. 

General grading will be as follows.  A detailed grading rubric is available herePay special attention that you submit code that will compile correctly with the current version of the simultor.  You stand to lose at least 23% of the grade if your code will not compile!

25 points - for the implementations of the CarPositionControl, Dispatcher, and LanternControl.
30 points - for statecharts-to-code traceability
40 points - for complete unit testing, unit test log, and passing all unit tests.
30 points - for completing 10 integration tests, and passing 8 of them. Each team member must write at least 2 integration tests
30 points - for completing 14 peer reviews (8 Integration tests, 3 Unit Tests, 3 Code) Each team member must complete at least 3 peer reviews
5 points - for a list of which points corresponding to which tasks were primarily completed by each team member (every point must be assigned to a specific team member). Also for an entry in the Improvements Log that tells us what can be improved about this project. If you encountered any minor bugs that we haven't already addressed, please mention them so we can fix them. If you have no suggestions, say so in your entry for this project.

Each team member must perform at least one of writing an implementation or unit testing. Each team member must satisfy the minimum stated per-member requirements. Team members who omit any required per-member activity will receive a zero contribution grade.

NOTE: To receive full credit for the assignment the test files you create must be formatted correctly and fully commented to explain what they are doing.


Back to course home page