18-649 Project 13
Check the
course webpage for due dates
Please submit all project-related correspondence to

Final demos are scheduled for the day after final project hand-in. All group
members must be present for the demo. Teams may attempt ONE early demo by
pre-arranging with the TA. Teams must turn in a consistent, complete, working
hand-in before that early demo. If the demo fails or teams wish to make later
improvements they may attempt a second hand-in and demo. HOWEVER, any second
demo is counted as a final hand-in even if it is before the deadline. In
particular, a failed second demo attempt will accumulate late penalties until
rectified regardless of which day it actually took place. Any request to modify
an early demo hand-in requires a second demo of the modified hand-in. In other
words: you get one "free" try before the deadline. Any second try or
a first try on the demo deadline invokes late penalty if there is a problem.
TAs will only grade one hand-in per team. If you tell them "grade this
one" for an early demo, you forfeit any right to a subsequent second
hand-in attempt. (These rules are in place to prevent abusive demos and
hand-ins. If you have a special situation please let us know.)
Changelog:
- Dated entries will be added here if the project is modified after it is
released.
You have some additional time to complete this project. This
is so that you can juggle all the other project demands being placed on you by
other courses. We strongly advise you to set aside some time to do a thorough
review of your design documents before handing in your final project.
REMEMBER: this project phase has a heavy weighting in the
course grade! Assignment:
There are no design changes required for this project. You will simply
complete the testing that you started last week, follow up on any run-time
monitoring issues, and submit a final design portfolio.
1. Complete Testing of Your Elevator Design
You must run all tests on your latest design:
- Pass all unit tests - all tests
must pass with 0 failed assertions
- Pass all integration tests - all
tests must pass with 0 failed assertions.
- All acceptance tests - run the following acceptance tests (all past tests
and three new ones). Be sure to use the "-b 200 -fs 5.0"
options to enable the finite bandwidth and new fast speed settings. Your
elevator must not reach 100% bandwidth utilization when running acceptance
tests.
We will execute these tests with an arbitrary random seed which we will not
divulge ahead of time. Passing these tests constitutes "having a working
elevator".
Note: You must pass all acceptance tests
in order to receive a grade in this course. There must also be zero failed
assertions (after startup transients) from our Runtime Monitor. That means
there can be no violations of the high level requirements. 2.
Submit a Complete and Consistent Design Portfolio
For this final project, you must submit a complete and consistent design
portfolio. This includes (but is not limited to)
- Properly formatted portfolio:
re-read the guidelines on the
Portfolio Layout page.
Review the change log on that page to make sure you have included all portfolio
revisions. Make sure files are in the proper format, have proper headers,
all hyperlinks and inline images are working, etc.
- Complete, compiling design code:
before you submit your code,
review the procedure on
how the TAs will compile your code submission. It would be a good idea
for you to try this yourself and make sure your code compiles properly.
Be sure you include the code for your runtime monitor from part 1 above.
- Complete set of design artifacts:
the portfolio must contain all the required artifacts (sequence
diagrams, requirements, etc), including peer review logs where
appropriate.
- Complete end-to-end traceability:
Make sure that all of the traceability artifacts in your design
are complete and up-to-date. This is a major factor in determining the
"complete and consistent" criteria.
- Complete test logs: the input
and output files for each test must be included in the correct location in your
portfolio and properly linked into the appropriate test logs for Unit,
Integration, and Acceptance testing. You should make sure the result of
every test is fully documented, and that the Unit and Integration Test Summary
files are updated to include all your tests. You also need to make sure
the High Level Requirements verfication is up to date.
- Complete issue log: Your
issue log should reflect all the changes that occurred in your design over the
semester. You should have no outstanding issues for the final project
submission.
- All previous grading issues
addressed: review your feedback from previous projects and make
sure you have addressed each point.
The above list is only a partial list to jog your memory. If you are in
doubt about your design portfolio, you should review the guidelines provided by
past project writeups. You should also take a look at the detailed
grading criteria for this project.
3. Extra Credit
Note: To be
eligible for any extra credit, your elevator must be passing all unit,
integration, and acceptance tests listed above and it must be submitted on
time. Projects that are submitted late or that are not passing all tests
will not be considered for any bonus listed here.
3.1 Performance Competition
We will use the two performance metrics specified in the requirements
document and output by the simulator in the .stats file (lower is better for
performance; higher is better for satisfaction): Delivery
Performance=4 * (average passenger delivery time) + (maximum passenger delivery
time)
Satisfaction Performance=100 - (various satisfaction metrics * x number of
times violated); similar to delivery performance, the sum is 4 times average
plus minimum.
An unspecified number of workloads (.pass files) will be used in evaluating
total elevator performance. Some will be acceptance tests you have already
seen, and some will be new. NOTE: If your elevator crashes
during any test or fails to deliver all passengers in any
test, you will be disqualified from the competition. Groups will be ranked
(1=best, 10=worst) for each workload for each performance metric. Your overall
group score will be the sum of your ranks for all workloads. Of the eligible
groups, the one with the lowest sum will be the winner and all members thereof
will be awarded 1 percentage point on their final course grade.
Ties will be broken based on best
Satisfaction Performance score.
We will publish the performance scores on blackboard after all the
projects have been submitted. We will not publish any performance
statistics from other groups ahead of time.
You can take a look at previous years' performance results here: Previous Performance Scores. Keep in mind, these do not necessarily reflect the performance that groups will have for your class.
3.2 Complete Design Package
By the end of the semester, you will have produced a hefty design package.
Producing a complete design package of this size is a commendable feat, and we
will reward those who have accomplished it. If we judge your portfolio to be
complete and consistent, then all members of your team will receive 2
percentage points on their final course grade.
Note: only one group can win the performance
competition, but every group can win the portfolio bonus! The message is: GOOD
PROCESS IS A MORE IMPORTANT GOAL THAN GOOD PERFORMANCE!
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/proj13/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:
This project counts as one team grade. A
detailed grading rubric is available here.
The rubric contains the detailed end-to-end
traceability checks. You should use this as a checklist for your final
handin. Remember that this project is worth considerably more than
previous projects.
This project is worth 175 points + up to 3 points bonus on your
final grade:
- 30 points for complete unit and
integration testing
- 30 points for complete acceptance
testing - This is our customer acceptance test. Demonstrate that your design
works! Run the specified acceptance tests to make sure it delivers all
passengers, meets high level requirements, and meets bandwidth constraints.
- 15 points for runtime
monitoring
- 90 points for a complete and
consistent design portfolio with end-to-end traceability.
- 5 points for Improvements Log entry for Project 13
- 5 points for Improvements Log entry for "Overall
Project Comments". Considering the following: Now that you are at
the end of the semester, what did you think of this entire sequence of
projects? No doubt you have at least one suggestion for improvement. But please
also tell us the parts you liked the most so we know to keep them for next
year! Please consider these questions and add at least one comment to the
Improvements Log under the heading "Overall Project Comments".
- Bonus
- 1 point added to your final course grade for winning the
performance competition.
- 2 points added to your final course grade for a
complete design package. To receive this bonus, you must score at least
3.7/4 on the end-to-end traceability portion of the grading criteria.
Note 1: It is important that you submit a complete and consistent
end-to-end design package. In addition to the points awarded above for
traceability and meeting portfolio requirements, TAs can deduct points from the
project for failing to following turn-in directions or having an end-to-end
design package with blatant gaps.
Note 2: Remember that a working final project is required to complete the
course. It is especially important that you "make it work"
for this final project! This means that your elevator must be
able to pass all acceptance tests (as outlined in the grading criteria above)
before you will receive a grade in this course.
Back to course home page