18-649 Project #3 Requirements to Constraints Traceability Table

This table maintains traceability between the requirements behaviors and the constraints given for each module.




   
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





5.6 Not at a floor -> cycles = 0
X
~ ~ ~ ~
5.7 Any DoorReversal true -> open doors, cycles++, dwell set
~ X
~ X
~
5.8 At a new floor -> open doors, cycles ++, dwell set
X
~ ~
X
~
5.9 Door fully opened -> stop motor and start countdown





5.10 Door fully closed -> stop motor and cycles--





5.11 Time up -> close door




5.12 Overweight and door not closed -> open door





5.13 Overweight and door fully open -> stop motor











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





6.6





...











Behavioral Requirements/Constraints 7.1 Both lanterns not on at same time




LanternControl





7.2





...











No constraints for 8 and 9











Behavioral Requirements/Constraints 10.1 One position at a time
10.2 Any doors open -> Display floor
10.3 Reflect actual floor, direction


CarPositionControl





10.4





...











Behavioral Requirements/Constraints 11.1 Target valid
11.2 Can't go up from MaxFloor
11.3 Can't go Down from MinFloor


Dispatcher





11.4 mDesiredFloor.f = Target





11.5 mDesiredFloor.d = Stop





11.6 Any door closed is False -> Target, DesiredFloor set





11.6.1 At multiple hallways - send 2 DesiredFloor messages




11.7 DesiredDwell = appropriate value





* Note - since 11.7 does not directly support any of the constraints, it is an optimzation