18-649 Project 13
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
pre-arranging with the TA. Teams must turn in a consistent,
hand-in before that early demo. If the demo fails or teams wish to
improvements they may attempt a second hand-in and demo. HOWEVER,
demo is counted as a final hand-in even if it is before the
particular, a failed second demo attempt will accumulate late
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
a first try on the demo deadline invokes late penalty if there is
TAs will only grade one hand-in per team. If you tell them "grade
one" for an early demo, you forfeit any right to a subsequent
hand-in attempt. (These rules are in place to prevent abusive
hand-ins. If you have a special situation please let us know.)
- Dated entries will be added here if the project is modified
after it is
12/3/2012:No warnings are ok except:a passenger presses a up hall call
[4,front] for destination[4,back].the passenger enters the elevator and before
he can press the car call,the elevator starts servicing up hall calls. this
will cause a warning but this will be considered as a valid warning.
You have some additional time to complete 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
review of your design documents before handing in your final
REMEMBER: this project phase has a heavy weighting
There are no design changes required for this project. You
complete the testing that you started last week, follow up on any
monitoring issues, and submit a final design portfolio.
1. Complete Testing of Your Elevator Design
You must run all tests on your latest design:
We will execute these tests with an arbitrary random seed which we
divulge ahead of time. Passing these tests constitutes "having a
- Pass all unit tests - all tests
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
and three new ones). Be sure to use the "-b 200 -fs 5.0"
options to enable the finite bandwidth and new fast speed
elevator must not reach 100% bandwidth utilization when running
In addition, please find 3 more test files that you must pass -
Note: You must pass all
in order to receive a grade in this course. There must also be
assertions (after startup transients) from our Runtime Monitor.
there can be no violations of the high level requirements.
Submit a Complete and Consistent Design Portfolio
For this final project, you must submit a complete and consistent
portfolio. This includes (but is not limited to)
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
past project writeups. You should also take a look at the
grading criteria for this project.
- Properly formatted
portfolio: re-read the guidelines on the
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
all hyperlinks and inline images are working, etc.
- Complete, compiling design
before you submit your code,
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
Be sure you include the code for your runtime monitor from part
- Complete set of design
artifacts: the portfolio must contain all the
required artifacts (sequence
diagrams, requirements, etc), including peer review logs where
- Complete end-to-end
Make sure that all of the traceability artifacts
in your design
are complete and up-to-date. This is a major factor in
"complete and consistent" criteria.
- Complete test logs: the
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
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
log should reflect all the changes that occurred in your design
semester. You should have no outstanding issues for the
- All previous grading issues
addressed: review your feedback from previous
projects and make
sure you have addressed each point.
3. Extra Credit
eligible for any extra credit, your elevator must be passing all
integration, and acceptance tests listed above and it must be
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
document and output by the simulator in the .stats file (lower is
performance; higher is better for satisfaction):
Performance=4 * (average passenger delivery time) + (maximum
Satisfaction Performance=100 - (various satisfaction metrics * x
times violated); similar to delivery performance, the sum is 4
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.3 Fault Tolerance
Implement fault tolerance in the case of dropped messages.
Modify your elevator so it delivers all passengers with dropped
messages enabled and to work correctly with the new drive speed.
By now you should know the design process you should use. Remember
that your final project portfolio must be consistent with the code
you turn in.
To earn extra credit your elevator must work correctly when
25-50% of the messages are dropped. No two messages of the same
type are dropped in a row. For Example: A drop rate of 100% will
drop every other packet
Your elevator must continue to meet all of the high-level
requirements we have provided you both in the presence and absence
of faults.Although your performance when faults occur is relative,
you are encouraged to deliver passengers as quickly as possible.
You can inject your own message drop faults by using a .fault
file like basicfault.fault
In order to run your acceptance test with this fault file use the
java simulator.framework.Elevator -pf basicpass.pass -ff
-ff allows definition of a fault file
adding the -dropv flag causes verbose output of dropped
messages(useful for debugging)
3.2 Complete Design Package
By the end of the semester, you will have produced a hefty design
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
percentage points on their final course grade.
Note: only one group can win
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.
If you implement fault tolerance submit two portfolios : one
with fault tolerance and one without.
We will only grade the portfolio without fault tolerance for
- Follow the handin instructions detailed in the Project FAQ to
portfolio into the afs handin directory (
- Be sure you follow the
required format for
the directory structure of the portfolio and its location in
- Be sure to follow ALL
guidelines detailed in the Portfolio Layout
- Any submission that contains files with modification dates
project deadline will be considered late and subject to a
page for more information).
This project counts as one team grade. A
detailed grading rubric is available here.
The rubric contains the detailed
traceability checks. You should use this as a checklist
for your final
handin. Remember that this project is worth considerably
This project is worth 175 points + up to 3 points bonus
- 30 points for
complete unit and
- 30 points for
testing - This is our customer acceptance test. Demonstrate that
works! Run the specified acceptance tests to make sure it
passengers, meets high level requirements, and meets bandwidth
- 15 points for runtime
- 90 points for a
consistent design portfolio with end-to-end traceability.
- 5 points for Improvements Log entry for
- 5 points for Improvements Log entry for
Project Comments". Considering the following: Now that you
the end of the semester, what did you think of this entire
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".
- 1 point added to your final course grade
for winning the
- 2 points added to your final course grade
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
Note 1: It is important that you submit a complete and
end-to-end design package. In addition to the points awarded
traceability and meeting portfolio requirements, TAs can deduct
points from the
project for failing to following turn-in directions or having an
design package with blatant gaps.
- 1 points added to your final course grade
for implementing fault tolerance in the case of dropped
Note 2: Remember that a working final project is required to
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
before you will receive a grade in this course.
Back to course home page