18-649 Project 9

Advanced Elevator and Smart Dispatcher Design

Check the course webpage for due dates

Please submit all project-related correspondence to staff email address


A Recommendation About Design Verification

Runtime monitoring was introduces in Project 7.  In Project 11, you will use runtime monitoring to verify that your design meets the new high-level requirements.  Although you are not required to do so, you should look ahead at the monitoring requirements and think about how you can use monitoring to verify your improved design.  We strongly recommend that you start using a monitor for verification as soon as you have a complete design.  Dispatcher algorithms are very complex and have many corner cases.  You probably won't find all the problems without runtime monitoring.  You should also consider generating additional acceptance tests to further exercise your design.  Again, these are not requirements, but remember that the sooner you identify problems in your design, the easier they are to fix!


Now that you've finished the sequence diagrams and requirements for your elevator control system, you'll make the design changes through the rest of your design documents.
  1. Update statecharts - You will update your statecharts based on the changes and additions made to your requirements in Project 8.  Your statecharts must continue to be pure time-triggered design.  You should refresh your memory by rereading the time-triggered design guidelines in Project 4.
  2. Update unit tests - You will update your unit tests so that they correspond to the changes made in your statecharts. 

Team Design Portfolio

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

Ensure your design portfolio is complete and consistent.

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

Handing In Results

Grading Criteria:

This assignment counts as one team grade. If you choose to divide the work, remember that you will be graded on the whole assignment. A detailed grading rubric is available here.
Project 9 is worth 145 points:

Beyond peer reviews, each team member must perform at least one of these two activities on a non-trivial object update: {statecharts, implementation} and must complete at least one of these two activities on a non-trivial object update: {update unit tests, traceability}. 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.

In addition to points explicitly allocated to traceability and portfolio formatting, we may also make random checks and deduct points if we find that you do not submit a complete and consistent design package.

If you choose to work ahead and go beyond the requirements for this project, that is fine.  As with previous project phases, you must meet all the stated project requirements for this phase regardless of how much extra work you do.

Back to course home page