This table maintains traceability between the requirements
behaviors and
the constraints given for each module.
You must provide a row in this table for every behavioral
requirement in the elevator control system, Sections 5 through 11. This
will
obviously involve adding rows to the table below. You do not need
to create
table rows for the environmental objects, Sections 1 through 4.
There constraints are already given in the columns.
If you modify the given behaviors for the DoorControl,
CarPositionControl and
Dispatcher, this traceability table
should
reflect what you hand in. So that might involve changing some of the
given
answers in the table. In other words, we want the table you hand in to
reflect
your project which will almost certainly involve you changing
what we've
given below. We've just seeded it with some answers that happen to
match the
examples we've provided in the assignment to get you going.
Behavioral Requirements/Constraints | 5.1 Doors closed when not
at floor |
5.2 Door reversal -> doors
open |
5.3 Doors keep moving |
5.4 Identical commands |
5.5 Overweight -> doors open |
DoorControl
-
Completed by (Shepard Emerson, semerson) |
|||||
5.6.1 atFloor + stopped + desiredfloor --> open door | X | ~ | X | X | ~ |
5.6.2 atFloor + stopped + desiredfloor --> set countdown | ~ | ~ | ~ | ~ | ~ |
5.7.1 mDoorOpened is true -> command door to stop | ~ | ~ | X | X | ~ |
5.7.2 mDoorOpened is true -> decrement countdown | ~ | ~ | ~ | ~ | ~ |
5.8 mDoorClosed is true --> stop door + set DoorHasReversed = false | ~ | ~ | X | X | ~ |
5.9 countdown expired + doorReversed is false --> close door | ~ | ~ | X | X | ~ |
5.10 countdown expired + doorReversed is true --> nudge door | ~ | ~ | X | X | ~ |
5.11 mDoorReversal is true -> open door + set DoorHasReversed = true | ~ | X | ~ | ~ | ~ |
5.12 Overweight --> open door | ~ | ~ | ~ | ~ | X |
5.13 Dwell shall be set to appropiate value | ~ | ~ | ~ | ~ | ~ |
5.14 mDoorMotor = DoorMotor | ~ | ~ | ~ | ~ | ~ |
Behavioral Requirements/Constraints | 6.1 Any door not shut -> Stop |
6.2 Any door motor open ->
Stop |
6.3, 6.3.1 Adjacent value |
6.4 EmergencyBrake -> Stop |
6.5 Overweight -> Stop |
DriveControl - Completed by (Daniel Haddox, dhaddox) | |||||
6.6 mDriveSpeed = DriveSpeed | ~ | ~ | ~ | ~ | ~ |
6.7 mDrive = Drive | ~ | ~ | ~ | ~ | ~ |
6.8 mEmergencyBrake -> Stop | ~ | ~ | ~ | x | ~ |
6.9 Leveling | ~ | ~ | x | ~ | ~ |
6.10 level -> stop | ~ | ~ | x | ~ | ~ |
6.11 slow -> level | ~ | ~ | x | ~ | ~ |
6.12 fast -> slow | ~ | ~ | x | ~ | ~ |
6.13 stop -> level | ~ | ~ | x | ~ | x |
6.14 level -> slow | x | x | x | ~ | x |
6.15 slow -> fast | ~ | ~ | x | ~ | ~ |
Behavioral Requirements/Constraints | 7.1 Both lanterns not on at same time | ||||
LanternControl - Completed by (Daniel Gorziglia, dgorzigl) | |||||
7.2 mDoorClosed is true -> carLantern is off | ~ | ~ | ~ | ~ | ~ |
mDoorClosed is false and DesiredDirection not stop -> carLantern is on | X | ~ | ~ | ~ | ~ |
Behavioral Requirements/Constraints | 10.1 One position at a time | 10.2 Any doors open -> Display floor | 10.3 Reflect actual floor, direction | ||
CarPositionControl - Completed by (Daniel Gorziglia, dgorzigl) | |||||
10.4 DriveSpeed > Level -> CPI = nextFloor | x | ~ | x | ~ | ~ |
10.5 DriveSpeed <= Level -> CPI = mAtFloor | x | x | ~ | ~ | ~ |
10.6 mCPI = CPI | ~ | ~ | ~ | ~ | ~ |
Behavioral Requirements/Constraints | 11.1 Target valid | 11.2 Can't go up from MaxFloor | 11.3 Can't go Down from MinFloor | ||
Dispatcher - Completed by (Tom Eliot, tke) | |||||
11.4 CurrentDirection none and calls in direction d -> CurrentDirection set to d | ~ | x | x | ~ | ~ |
11.5 CurrentDirection d and no calls in direction d -> CurrentDirection set to none | ~ | x | x | ~ | ~ |
11.6 Hallway none, CurrentDirection not none, call in CurrentDirection agreeing with CurrentDirection -> target set to nearest call in CurrentDirection | x | ~ | ~ | ~ | ~ |
11.7 Hallway none, CurrentDirection not none, call in CurrentDirection in opposite direction as CurrentDirection -> target set to furthest call in CurrentDirection | x | ~ | ~ | ~ | ~ |
11.8 CurrentDirection not none and call in CurrentDirection agreeing with CurrentDirection -> DesiredDirection set to CurrentDirection | ~ | x | x | ~ | ~ |
11.9 CurrentDirection not none, no CarCalls in CurrentDirection and either HallCall for opposite of CurrentDirection in CurrentDirection or CarCall in opposite of CurrentDirection -> DesiredDirection set to opposite of CurrentDirection | ~ | x | x | ~ | ~ |
11.10 Target equal to CurrentFloor and call at CurrentFloor agreeing with DesiredDirection -> set hallway to hallway(s) at which call is true | ~ | ~ | ~ | ~ | ~ |
11.11 Hallway not equal to none -> CurrentDirection set to none | ~ | ~ | ~ | ~ | ~ |
11.12 Any door open -> CountDown set to delaytime | ~ | ~ | ~ | ~ | ~ |
11.13 All doors closed -> CountDown decremented | ~ | ~ | ~ | ~ | ~ |
11.14 CountDown equal to zero -> CurrentDirection set to DesiredDirection | ~ | ~ | ~ | ~ | ~ |
11.15 Set mDesiredDwell | ~ | ~ | ~ | ~ | ~ |
11.15 Set mDesiredFloor | ~ | ~ | ~ | ~ | ~ |