18-649 Project 9
Advanced Elevator and Smart Dispatcher Design
Check the
course webpage for due dates
Please submit all project-related
correspondence to
Changelog:
- Dated entries will appear here if the assignment changes after it is
released.
A Recommendation About Design
Verification
Although you are not required to do so, we recommend that you get a head
start on writing monitors for RT 8 - 10 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!
Assignment
Now that you've finished the sequence diagrams and requirements for your
elevator control system, you'll make the design changes for the Dispatcher
and the DoorControl through the rest of
your design documents.
- 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.
- Update unit tests - You will update
your unit tests so that they correspond to the changes made in your
statecharts.
- Your tests must be syntactically valid (must execute without causing any
runtime exceptions in the simulator), but you are
not required to pass unit tests this
week (OK to have failed assertions). You will be required to pass them
next week, so don't blow off the creation of unit tests.
- Your Unit Test Log must be
complete and up-to-date, including describing the issues related to any
controllers that are not passing all their unit tests.
- Make sure your Unit Test Summary File
is up-to-date, as this will be used to automate the grading of your
portfolio.
- Update implementation (code) - You
will revise your controllers to implement the new statecharts that you have
created. You must continue to follow the controller guidelines outlined
in Project 5.
- Complete End-to-End Traceability -
Since your design update of the Dispatcher and DoorControl will be completed
by the time you turn in this
project, you must also have update and complete end-to-end traceability,
including:
- Sequence Diagrams to Requirements traceability
- Requirements to Constraints traceability
- Requirements to Statecharts traceability (tables in the
Requirements II document).
- Statecharts to Code traceability
- Complete and correct state and arc traceability comments in your unit
tests, as described in Project 5.
You do not need to complete Requirements to Statecharts or Statecharts to Code traceability for the DriveControl or Lantern
- Peer Review -
You shall conduct a peer review for the following:
- Dispatcher Statechart
- DoorControl Statechart
- Dispatcher Code Implementation
- DoorControl Code Implementation
- Dispatcher Unit Test
- DoorControl Unit Test
- It is recommended that you peer review any other artifacts you revise.
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:
- Changes requested by the TAs in previous projects have been applied.
- All required documents are complete and up-to-date to the extent required
by the projects (you do not need to update files or links related to future
projects).
- All documents include group # and member names at the top of the
document. (This includes code, where this information should appear in
the header field)
- Individual documents have a uniform appearance (i.e., don't look like they
were written by 4 individual people and then pieced together)
- The issue log is up to date and detailed enough to track changes to the
project.
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/project9/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 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(PDF).
Project 9 is worth 160 points:
- 20 points for updated
statecharts
- 25 points for updated
implementation
- 30 points for updated unit tests
- 60 points for complete traceability
- 20 points for peer reviews. Each
team member must take primary responsibility for at least one peer review.
- 5 points 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.
- MUST BE COMPLETED a completed
minimum requirement spreadsheet.
As stated on the minimum requirement spreadsheet, each team member must perform at least one of these three activities on either the Dispatcher or DoorControl: (statecharts, implementation, unit tests) and must complete at least one traceability. Each team member must satisfy the minimum stated per-member requirements (e.g., one object for each activity). Team members who omit any required per-member activity will be penalized as described on the course admin page.
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