DRAFT:
18-649 Project Assignment #1

Requirements & Simulation

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

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

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 FrontDoorControl[j] object.  There is one FrontDoorControl[j] for each of the two front doors.  Note that there are also one BackDoorControl[j] for each of the two back doors, but for this project we will only be following the process for the FrontDoorControl[j].

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

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) Compile & run the simulator & gui with the sample integration test file.  Turn in the elevator.stats output file from this simulation (15 points)

3) Modify the Control.java file for module testing of TestLight.java.  Compile the code & run the two sample tests provided (20 points)

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 naming convention 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/project/group#/project#/

(group# is your group number and project# is the number of this project. Group directories will be created for you; you will need to create project directories yourself.)

Any submission that contains files with modification dates after the project deadline will be considered late and subject to a grade deduction. (see the course policy page for more information).

Handins:

You shall submit four files into the afs directory for your group. For this assignment, the format (pdf, html, tex etc.) of these files is entirely up to you, as long as they can be read easily by the TAs. It is however important to note that Project 2 has been posted. If you read carefully under the Team Design Portfolio section of Project 2, you will notice that you are going to be required to use HTML. You may want to consider creating a simple web page for Project 1 and turning that in so you can build on it in future projects.

Grading: (75 points)

You MUST follow this naming convention 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 four files:


Back to Course home page