Please submit all project-related correspondence to
Before spring break your group specified, designed and implemented a simple elevator. The dispatcher for this elevator was required to be very simple and was also quite inefficient. Now that you have an elevator that will pass basic acceptance tests, you will be required to enhance and improve your elevator.
Assignment #8 requires you to design (not implement; you probably won't write any code this week) a more intelligent and realistic elevator dispatcher. You will create sequence diagrams and some state charts, but you are not required to write code. If you decide to work ahead, you should plan how you will test your improved elevator before you write any code.
TA meeting note: Be sure that you understand all the fields of the DesiredFloor(f,b,d) message before you go to your weekly TA meeting to discuss this project assignment! This is one of the trickiest parts of the elevator behavior, but it is essential to get it right.
The goal of this assignment is an improved dispatcher that makes your elevator behave in a more realistic and efficient manner. The basic dispatcher stops at every floor regardless of the passengers needs, and omits many basic functionalities we expect from elevators. To improve upon this behavior, your improved dispatcher must fulfill the additional set of high-level requirements below. In addition, you can begin to design in other optimizations and states if you choose to increase the passenger delivery performance metric. Enhancing the dispatcher to some degree now is a good idea, but keep in mind that adding more features will increase your testing load in the next phase of the project. Please plan accordingly.
Note: In the above requirements, it is permissible for the
dispatcher
to synthesize calls (via the mDesiredFloor message) in addition to
passenger-initiated hall calls and
car
calls. This might become important for later project phases (for
example
up-peak optimization and fault tolerance).
Note: These high level requirements may conflict with some of
the simple controller behaviors provided in the first half of the
course. If you have been using those behaviors up to this point,
you will need to modify them in order to meet these new requirements.
Go here to
get the drive acceleration profile from project 3.
To design this dispatcher, you must create new sequence diagrams
and some
state charts. These changes may reach beyond the dispatcher module and
these
effects must be documented. Traceability must be updated and complete,
including adding the above five high level requirements to the set of
high
level elevator requirements in the Requirements I document and
tracing them throughout the design
process.
The
design package must reflect your dispatcher changes including:
A check-off list of all modified sequence diagram(s) is required. Add a checklist for each sequence diagram to the Scenarios and Sequence Diagrams document after the SD that it corresponds to. Have another team member perform this check. This check is minimal (we recommend you use the longer checklist from lectures, but the below simplified checklist is all that is mandatory):
This week the only statechart you must update is your Dispatcher statechart. You can do the rest if you like and get ahead on things, but the Dispatcher statechart is the one we will be grading.
For this project, you will use the same portfolio structure as you have in previous projects. All of the files you submit for this project should have the same names and purposes as they had in previous projects. The contents of a file may change in this project (such as updating a statechart), but the purpose of each file renames the same (such as containing a complete list of all behavioral requirements and statecharts). If you create any new files (such as tests) that you want the course staff to see and give feedback on, your portfolio must have links to those files.
As always, if you change any part of your design, you must make the change to the appropriate documents in your portfolio, and that change must trace forward and backward to all other relevant documents. In particular, for this week you will probably update: 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/project8/group#/ontime/).
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).
This assignment counts as one team grade. If you choose to divide
the work, remember that you will be graded on the whole assignment.
Project 8 is worth 65 points:
Back to course home page