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
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!
Assignment
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.
- 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 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.
- Peer Review -
- You shall conduct a peer review for the following:
- Dispatcher Statechart
- DriveControl Statechart
- Dispatcher Code Implementation
- DriveControl Code Implementation
- You should peer review
any unit tests 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.
Project 9 is worth 145 points:
- 20 points for updated
statecharts
- 20 points for updated
implementation
- 20 points for updated
unit tests
- 60 points for complete
traceability
- 20 points for peer
reviews
- 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.
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