*Please submit all project-related questions to
Changelog (changes highlighted in red in the project):
This semester, you will specify, design, build, and test an elevator control system and use it to control a simulated elevator. You will learn of and deal with many of the details of building a distributed, real-time, embedded system, as well as important skills in teamwork and project management.
A major goal of the class is to teach you a good process for developing systems. This process begins with requirements specification.
You should expect that there will be some sort of problems with file
system permissions, login IDs and so on for this first assignment of the
semester . Make sure you can put files in your afs space and log onto
appropriate machines at least one week before the due date to give time
to sort things out!!! An excuse of the form "I didn't try to log in until
10 PM on Thursday and my account was broken" will not get you an
Although later projects will be team projects, this first project is
individual effort only. You
should complete all parts of the assignment on your own. For part A, you
will need to find another student to complete the Process Check, but this is
the only collaboration allowed on this project.
For Project 1 you will follow the process outlined here to generate requirements for the DoorControl[b,r]
object. There are four DoorControl[b,r], one for each of the two front
and back doors.
There are four sets of Initial conditions given. Complete the process
steps 1-7 for one set of initial conditions, according to the criteria
Grading is five points per Process Step.
The purpose of this assignment is for you to become familiar with the
simulation framework. For this assignment you will see how a sample module
works within the simulation framework. And use acceptance tests to see
how the elevator simulator delivers passengers. This
link provides more detail, but in short
you will need to:
Be sure to pay attention to what is happening in the simulations! Watch the gui & look at the elevator.stats output file from the sample integration test. Watch the output to the screen for the module testing of TestLight.java. Think about what is happening. You will be asked about the simulations during your weekly status meeting with the TAs.
For this part of the assignment:
This assignment will be submitted via the afs file handin system. Each student shall submit their assignment according to the conventions given below. The contents of each file shall start with the assignment number, your name, your Andrew ID, and the file name. (This way, when we print out files for grading we can keep track of what each item is.)
Projects shall be submitted by copying all needed files into your handin
directory in the course AFS space. The handin directory is located at:
If you need to submit late, use the .../andrewID/late/ folder and SEND AN EMAIL TO THE STAFF LIST. See the project FAQ for more details.
Submit your project files in the handin folder as described above. For part
A of this assignment, the format must be a single vanilla HTML file (for more
info, read the portfolio
formatting guidelines). For part B, you must submit ASCII text files
containing the information listed below. Note that every file must contain the appropriate
The Project 1 grading rubric can be downloaded here. A grading rubric will be provided for every project so that you can clearly see what the grading expectations are. Please note that the grading rubrics are a general guideline and that you are still responsible for all the details in the writeup. If the grading rubric and the project writeup conflict, the project writeup takes precedence. If you find a conflict, please let us know by sending mail to the staff list.
You MUST follow this naming convention and handin instructions to receive credit for the assignment. Be sure to double-check the assignments to make sure each file has everything that is required, and that you have added the required header information(described below) to each of the seven files:
Course and semester (e.g. "18649-Spring-2010")
Your Andrew ID
The seven files that require a header above are:
Note: For adding headers to files that are automatically generated by
the simulator, check the commandline syntax for the -head option.
Note 2: For HTML files (in this and all future projects), the header should be included in the HTML body so that it is visible when the file is viewed in a web browser. Do not put the header in an HTML comment.
Note 3: Future projects will require headings that include your group number, but group number are not required for this project since it is completed on an individual basis.
Troubleshooting Notes for Project 1
Back to Course home page