18-649 Project Assignment #1

Requirements & Simulation

Due Thursday, January 22, 2008 at 11:59 PM

*Please submit all project-related questions to {email} -- thanks!


Changelog:

This semester, your group 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.

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 11 PM on Thursday and my account was broken" will not get you an extension.

Assignment (70 points total)

Part a (35 points): Intro to Writing Requirements

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.  Each team member shall pick ONE distinct set to complete and hand in Process Steps 1-7.  (So, amongst the four team members you'll cover all four sets.) Helping other members of your team is OK, but each set should be primarily the result of one different individual's work for creation and a different individual's work for completing the checklist (every team member does one creation and one checklist).  Grading is five points per Process Step.

Part b (35 points): Simulation Framework Exercise

Note:  each member of you team is required to do this part of the project on their own.

The purpose of this assignment is for you to become familiar with the simulation framework. For this assignment you will not be working with the fully functional elevator, but rather you will see how a
sample module works within the simulation framework.  This link provides more detail, but in short you will need to:

  1. Download the simulator code into your AFS directory
  2. Modify the TestLight.java file so that it is correct and will compile, then run an integration tests on it.
  3. Run an acceptance test and see that a passenger is delivered.

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.

Submission Process:

This assignment will be submitted via the afs file handin system.  Each student shall submit exactly one version of the assignment according to the convention given below. The contents of each file shall start with the assignment number, your name, your Andrew ID, your group number, 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 group's directory in the course AFS space in the following directory:

/afs/ece/class/ece649/Public/handin/project#/group#/ontime/

(group# is your group number and project# is the number of this project.)

If you need to submit late, use the group#/late/ folder and SEND AN EMAIL TO THE STAFF LIST.  See the project FAQ for more details.

Handins:

Each person in the group shall create a subdirectory.   The name of the subdirectory shall be that person's andrew id.  Each person shall submit their files into the folder (detailed list is below). For part A of this assignment, the format (pdf, html, doc, etc.) is up to you as long as the TA's can easily open and read them.  For part B, you must submit ASCII text files containing the information listed below.  Note that every file must contain the appropriate header information. 

Starting in project 2, be required to submit your designs using HTML.

Grading: (75 points)

You MUST follow this naming convention and put each team member's files in a separate folder 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 to each of the seven files:

Note:  For adding headers to files that are automatically generated by the simulator, check the commandline syntax for the -head option.

Back to Course home page