18-649 Project 1 Requirements Exercise

(Project 1 part A)

Please submit all project-related correspondence {e-mail}


Changelog:


Intro to Writing Requirements:

Write detailed requirements for one set of initial behavioral conditions.

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.  Note that you should generate requirements for a generic door module that can be instantiated for any of the four doors using parameters for the hallway and side.

There are four sets of Initial conditions given. Complete the 7 process steps for one scenario.  Choose the appropriate scenario based on your AndrewID, as described in the project writeup. Grading is five points per Process Step.

An example is provided for you here.


Initial Conditions:

Initial Conditions Set #1

Initial Conditions Set #2

Initial Conditions Set #3

Initial Conditions Set #4


Process Steps:

  1. Scenario
  2. Write requirements using precise words
  3. Write requirements using consistent terms
  4. Number requirements
  5. Testable
  6. Traceability to high-level requirements
  7. Process audit

Interface:

The interfaces to the DoorControl is given below. Use these terms for step #3. This is part of the interface of the elevator simulator, so this will help prepare for the next projects.
Subscripts used in describing controller replication:

A note on notation for replicated controllers

Because the controllers are written in a generic way, it's important to pay attention to the way the replication notation is used.  Here are some general guidelines.  Consult the course staff if you have more questions:

Output for the DoorControl

The DoorControl commands these objects:

Input for the DoorControl

The DoorControl receives information from these objects via network messages.  These are inputs to the door and cannot be modified in the DoorControl.

Constant Definitions


High-level Requirements:

There are eight high level requirements. Note that fulfilling all of the safety requirements fulfills R-T2 and R-T2.1. So, you only need to do traceability to six high-level requirements: R-T1, R-T3, R-S1, R-S2, R-S3, and R-S4.

Top-level requirements

Safety requirements

NOTE: while not explicity required, the doors have to open to let people in and out or else the passengers will never be delivered, which violates TR1.


Checklist for Process Audit:

Enter "Yes" after each Step if you feel the Step has been satisfactorily completed. If you find a problem, please briefly describe the problem so the author can fix it.

Step 1: Is there a scenario?

Step 2: Do the requirements use only shall and should, or the appropriate words from the lecture?

Step 3: Do the requirements use the terms given in the Interface section to describe sensors, actuators and controllers on the elevator?

Step 4: Are the requirements numbered?

Step 5: Is there a test given for each of the requirements?

Step 6: Traceability - Does *each* requirement either support or not contradict *each* of the high-level requirements?

Put the name of the person who did the checking here (name and andrew ID):

Important note: you must actually do the check for these steps for this to be an honest response. Being dishonest about this is fraud, and is equivalent to cheating in this course. For example, if you just put "yes" next to each checklist item when nobody else did the checking, that's fraud. (Students have attempted to do this in the past looking for "easy points".) If, however, someone else actually does the checklist and honestly misses something, then that's not fraud -- that's just reality.


Back to Project 1