You are on page 1of 57

The Elevator Controller of The MC Building

Software Requirement Specification Document

Walid Koleilat
Swagger

November 20, 2005


Contents
1 Introduction 1
1.1 Purpose . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Scope . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.3 Intended Audience . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.4 Definitions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.5 Notational Conventions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.6 References . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2

2 General Product Description 3


2.1 Product Perspective . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.2 Product Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2.3 Characteristics of Eventual Users . . . . . . . . . . . . . . . . . . . . . . . . 4
2.4 Constraints . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
2.5 Assumptions and Dependencies . . . . . . . . . . . . . . . . . . . . . . . . . 4

3 Specific Requirements 5
3.1 External Interface Requirements . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.1 Operator Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.2 User Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
3.1.3 Context Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
3.2 Behaviour Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.1 Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
3.2.2 Typographic Conventions . . . . . . . . . . . . . . . . . . . . . . . . 10
3.2.3 UC01 Move from one floor to another . . . . . . . . . . . . . . . . . . 10
3.2.4 UC02 Request an elevator cab in AUTO mode . . . . . . . . . . . . 11
3.2.5 UC03 Request to stop at a particular floor in AUTO mode . . . . . 14
3.2.6 UC04 Set the elevator’s mode to HOLD) . . . . . . . . . . . . . . . . 16
3.2.7 UC05 Close the elevator doors . . . . . . . . . . . . . . . . . . . . . . 18
3.2.8 UC06 Open the elevator doors . . . . . . . . . . . . . . . . . . . . . . 20

i
3.2.9 UC07 Recall the elevator cab to the DEFAULT RECALL FLOOR . 21
3.2.10 UC08 Set the elevator’s mode to SERVICE . . . . . . . . . . . . . . . 23
3.2.11 UC09 Set the elevator’s mode to AUTO . . . . . . . . . . . . . . . . 24
3.2.12 UC10 Ring bell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
3.2.13 UC11 Emergency stop . . . . . . . . . . . . . . . . . . . . . . . . . . 26
3.2.14 UC12 Emergency Fire Evacuation . . . . . . . . . . . . . . . . . . . . 27
3.2.15 UC13 Turn ON . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.16 UC14 Turn OFF . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3.2.17 State Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
3.2.18 Conceptual Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
3.2.19 Concepts State Diagrams . . . . . . . . . . . . . . . . . . . . . . . . . 39
3.2.20 Collaboration Diagram . . . . . . . . . . . . . . . . . . . . . . . . . . 41
3.3 Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4 Non-Functional Requirements . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.1 Maintainability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.2 Availability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.3 Reliability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.4 Security . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.5 Safety . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.6 Usability . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

A Traceability Matrix 49

ii
List of Figures
1 Staff On/Off Switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
2 The elevators button panel . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
3 The elevator request buttons . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4 The elevator request buttons at the bottom floor . . . . . . . . . . . . . . . 7
5 The floor number display panel . . . . . . . . . . . . . . . . . . . . . . . . . 7
6 The context diagram of the elevator controller . . . . . . . . . . . . . . . . . 8
7 Elevator System Use Case Diagram . . . . . . . . . . . . . . . . . . . . . . . 9
8 Sequence Diagram of UC01 ’Move from one floor to another’ . . . . . . . . . 11
9 Sequence Diagram of UC02 ’Request an elevator cab in AUTO mode’ . . . . 13
10 Sequence Diagram of UC03 ’Request to stop at a particular floor in AUTO
mode’ . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
11 Sequence Diagram of UC04 ’Set the elevator’s mode to HOLD’ . . . . . . . 17
12 Sequence Diagram of UC05 ’Close the elevator doors’ . . . . . . . . . . . . . 19
13 Sequence Diagram of UC06 Open the elevator doors . . . . . . . . . . . . . 21
14 Sequence Diagram of UC07 Recall the elevator cab to the DEFAULT RECALL
FLOOR . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
15 Sequence Diagram of UC08 ’Set the elevator’s mode to SERVICE’ . . . . . . 23
16 Sequence Diagram of UC09 ’Set the elevator’s mode to AUTO’ . . . . . . . . 25
17 Sequence Diagram of UC10 ’Ring bell’ . . . . . . . . . . . . . . . . . . . . . 26
18 Sequence Diagram of UC11 ’Emergency stop’ . . . . . . . . . . . . . . . . . 27
19 Sequence Diagram of UC12 ’Emergency Fire Evacuation’ . . . . . . . . . . . 28
20 Sequence Diagram of UC13 ’Turn ON’ . . . . . . . . . . . . . . . . . . . . . 29
21 Sequence Diagram of UC14 ’Turn OFF’ . . . . . . . . . . . . . . . . . . . . . 30
22 System State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
23 Operations State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
24 Processing Requests State Chart . . . . . . . . . . . . . . . . . . . . . . . . . 34
25 Processing Elevator Requests State Chart . . . . . . . . . . . . . . . . . . . 34
26 Processing Stop Request State Chart . . . . . . . . . . . . . . . . . . . . . . 35
27 Processing Set Mode Request State Chart . . . . . . . . . . . . . . . . . . . 36

iii
28 Processing Emergency Stop State Chart . . . . . . . . . . . . . . . . . . . . 36
29 Processing Emergency Fire Signal State Chart . . . . . . . . . . . . . . . . . 36
30 Recalling Elevator State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . 37
31 Opening Doors State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
32 Closing Doors State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
33 Elevator Controller Conceptual Diagram . . . . . . . . . . . . . . . . . . . . 38
34 Cab Movement Controller State Chart . . . . . . . . . . . . . . . . . . . . . 39
35 Doors Controller State Chart . . . . . . . . . . . . . . . . . . . . . . . . . . 40
36 Elevator Request Processor State Chart . . . . . . . . . . . . . . . . . . . . . 40
37 Emergency Stop Request Processor State Chart . . . . . . . . . . . . . . . . 41
38 Set Mode Request Processor State Chart . . . . . . . . . . . . . . . . . . . . 42
39 Stop Request Processor State Chart . . . . . . . . . . . . . . . . . . . . . . . 43
40 System Status Controller State Chart . . . . . . . . . . . . . . . . . . . . . . 43
41 Elevator Controller Collaboration Diagram . . . . . . . . . . . . . . . . . . . 44
42 Request Elevator Collaboration Diagram . . . . . . . . . . . . . . . . . . . . 45
43 Move Elevator Cab Collaboration Diagram . . . . . . . . . . . . . . . . . . . 45
44 Request Floor Stop Collaboration Diagram . . . . . . . . . . . . . . . . . . . 45
45 Set SERVICE Mode Collaboration Diagram . . . . . . . . . . . . . . . . . . 46
46 Emergency Stop Collaboration Diagram . . . . . . . . . . . . . . . . . . . . 46
47 Open Elevator Doors Collaboration Diagram . . . . . . . . . . . . . . . . . . 47
48 Close Elevator Doors Collaboration Diagram . . . . . . . . . . . . . . . . . . 47

iv
List of Tables
1 Traceability Matrix . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

v
1 Introduction
This document is the complete product requirement specification for the elevator controller.
Henceforth, this is the only document that contains all information regarding the require-
ments placed on the elevator controller by the customer, catalogued in an unambiguous
fashion. Unless otherwise stated, this document, and any future revisions of this document,
supersedes all other requirements documents that exist for the elevator controller system.

1.1 Purpose

The purpose of this document is to detail the requirements placed on the elevator controller
and serves as a contract between the customer and the manufacturer as to what is expected
of the elevator controller, and how the components of the elevator controller are to work
with each other and with external systems.

1.2 Scope

This document covers the details of the elevator controller system (the system), including
the physical components of the system, and the behavioral, functional, and non-functional
requirements. This document describes only the external systems and/or environments in
which the elevator controller system shall work, with enough detail to complete an imple-
mentation of the elevator controller system.

1.3 Intended Audience

This documents is intended to be read by

• the customer.

• the manufacturer.

The reader is assumed to have basic knowledge on the basic theory and operation of a
regular elevator, and have some experience with the terminology used in the document.
Also, experience in reading UML diagrams is required.

1.4 Definitions

For this document, the following concepts are defined :

1
Concept Definition
Elevator Request passenger’s request for elevator service
Pending Queue Storage for the unprocessed requests
Floor Stop Request Passenger’s request for stoping at a particular floor
Emergency Stop Unplanned Stop executed by the passenger
Top Floor Used to determine the direction
Bottom Floor Used to determine the direction
Floor request button Buttons to request floors
Floor Sensor Detects the position of the elevator cab
Door Way Sensor Detects if there is an object obstructing the doors
Load Sensor Detects the weight of the cab

1.5 Notational Conventions

In this document, the choice of font is meaningful:

• Narrative text is in sheriff Roman.

• Introduced terms are in sheriff Italics.

• System components, states, and events are in slanted sans serif or bold upright sans serif.

Indicative statements about the environment in which the system operates and assumptions
that the system can rely on are in present tense or future tense.
Optative statements about what the system is supposed to do, i.e., its requirements, use
“shall”.

1.6 References
• Elevator requirements: http://www.isr.umd.edu/~austin/ense621.d/projects04.
d/project-elevator.html

• How stuff works: http://science.howstuffworks.com/elevator4.htm

2
2 General Product Description
The elevator system under design is a two roped elevators in the Mathematics and Computer
Science MC building. In this kind of elevators, the cab is raised and lowered using a traction
steel ropes. The ropes are attached to the elevator cab, and looped around a pulley with a
grooves around the circumference called the sheave.
An electric motor is connected to the sheave. When the motor turns clockwise, the sheave
pulls the rope and when the motor turns counter clockwise, the sheave lowers the rope.
The sheave, the motor and the control system are all housed in a special room. There is also
a counterweight, which is used to conserve energy.The elevator car and the counterweight
move on a guide rails along the sides of the elevator shaft.

2.1 Product Perspective

Elevators are used in many multi-level structures. They facilitate the flow of people between
various floors of the building (in the MC building there are six floors), they allow persons to
access different floors, and they simplify the movement of large goods between various levels
of the building.

2.2 Product Functions

The main function of the two elevators in the MC building is to move people and goods from
one floor to another. The elevator system responds to an elevator request whenever it is idle
or going in the requested direction. When the floor request button is pressed, the elevator
determines which floor it is currently on and moves to the requested floor.
When the elevator arrives at the floor, the inner doors and outer doors of the elevator open.
The doors will close after a period.
The elevator controller is programmable at deployment time, meaning that the number of
floors, the number of elevator cabs controlling and the top/ bottom floors are set up at
deployment time.
The elevator controller shall be implemented in an extensible way to allow different deploy-
ment configuration settings.
Inside the elevator, there are floor request buttons used to request to go to a floor. The
button board also has an open door button and a close door button. The open door button
opens the doors when the elevator is at a floor. After a certain period, the doors are closed
again. The close door button closes the doors.
The elevator can work under three modes :

AUTO: The normal operation of the elevator cab.

3
SERVICE: The elevator controller sends the elevator(s) to the default/recall floor, stops
there with doors open ignoring any and all user requests to change floors or close doors.

HOLD: The elevator waits on floors with door open until user selects to stop at a floor from
within car.

2.3 Characteristics of Eventual Users

The passenger is anyone who wishes to use the elevator to move from one floor to another.
The passenger is assumed to know how to push the elevator request buttons and how to
push the floor request buttons inside the elevator cab. The passenger is also assumed to be
familiar with the elevator system.
The staff is the person that manages the elevator system. The staff is the person that can
decide, at any time, to turn on or off the elevator. In addition, staff usually have the control
key that allow them to hold the elevator in case they want to move large pieces of goods.

2.4 Constraints

None identified.

2.5 Assumptions and Dependencies


• The elevators are equipped with a complete mechanical safety system. There are
several redundant safety systems: built in braking systems, electromagnetic brakes
and a shock absorber system.

• The elevators have a sensor on the door that ensures that nothing is caught in the
doorway when the doors are closing.

• The elevator system is hooked up with a back up electricity generator in case the main
electricity was cut off.

• The elevator has a sensor in the cab to get the weight of the cab

• The elevators in the MC building are roped elevators.

• The physical components that the elevator controller interacts with (i.e floor display,
request button etc..) are assumed to work correctly and can’t be damaged.

4
3 Specific Requirements

3.1 External Interface Requirements

N/A

3.1.1 Operator Interface

The staff interface is shown in Figure 1.

ON

OFF

Figure 1: Staff On/Off Switch

The staff switches the elevator controller on or off by using this key-operated interface. The
interface is shown in the “off” setting. To turn the system on, the operator inserts the key,
and turns the key clockwise until the notch lines up with the “on” markings; to turn the
system off, the key should be rotated counter-clockwise until the notch aligns with the “off”
markings, as shown. This interface generates the turnOn and turnOff events

3.1.2 User Interface

The following pictures displays the components visible to typical elevator end-users (passen-
gers and staff). Some of these components will interface with the elevator controller.
The button-panel inside each of the elevator cars see Figure 2. The button panel has
the following buttons/switches: ventilation fan key-switch (ON/OFF), lighting key-switch
(ON/OFF), floor buttons 1 to 6, door open button, alarm button, emergency stop button,
and elevator mode key-switch (AUTO/SERVICE/HOLD).
Elevator request button located at the elevator entrances on each of the six floors.Single
up/down button panel for passengers to indicate their desired direction of travel see Figure 3.

5
Figure 2: The elevators button panel

Figure 3: The elevator request buttons

The elevator controller indicate the current position of the elevator cab as shown in Figure 5
.

6
Figure 4: The elevator request buttons at the bottom floor

Figure 5: The floor number display panel

3.1.3 Context Diagram

7
Figure 6: The context diagram of the elevator controller

3.2 Behaviour Requirements

3.2.1 Use Case Diagram

8
Figure 7: Elevator System Use Case Diagram

9
3.2.2 Typographic Conventions

The CAPITAL concepts are indented to represent variables that are set up at the system
deployment time, initialized when the system is turned ON (see UC13 section 3.2.15)
and used throughout the system’s operation such as TIME PERIOD that sets up the time
interval required for keeping the doors open.
Lines constructs written in italic are intended to clarify some of the use cases steps.

3.2.3 UC01 Move from one floor to another

Goal In Context : The passenger requests the elevator cab to move from the current floor
to another.

System : Elevator Controller [EC].

Pre-Condition : [EC] is ON.

Primary Actor : The passenger.

Trigger Event : [Passenger] requests an elevator cab.

Main Success Scenario :

1. [Passenger] Requests the elevator cab.


2. [EC] Services the ’Elevator Request’ (see UC02 section 3.2.4) .
3. [Passenger] Enters the elevator cab.
4. [Passenger]Requests to stop at a particular floor.
5. [EC] Services the ’Stop Request’ (see UC03 section 3.2.5).
6. [Passenger] Arrives at the desired floor destination.

10
Figure 8: Sequence Diagram of UC01 ’Move from one floor to another’

3.2.4 UC02 Request an elevator cab in AUTO mode

Goal In Context The Elevator Controller [EC] receives an ’Elevator Request’.The [EC]
services the request by moving the elevator cab to the floor where the request is made.
System : Elevator Controller [EC].
Pre-Condition : [EC] is ON.
Trigger Event : [EC] receives an ’Elevator Request’.
Main Success Scenario :
1. [EC] Receives an ’Elevator Request’.
2. [EC] Closes the elevator doors (see UC05 section 3.2.7).
3. [EC] Saves the elevator request, its direction and the floor where it originated.
4. [EC] Checks the direction and the current position of the two elevators cab.
5. [EC] Determines that the elevator cab is not ( in the HOLD mode OR being
recalled ) and can service the request.

11
6. [EC] Saves the request in the pending queue of the chosen elevator.
7. [EC] Processes the pending elevator and stop requests and determines the next
floor destination (The next floor destination is where the elevator request origi-
nated).
8. [EC] Moves the elevator cab to service the request.
9. [EC] Receives a signal about the current floor of the elevator cab.
10. [EC] Updates the floor number display.
11. [EC] Detects that the elevator cab is before the final destination.
12. [EC] Reduces the speed of the moving elevator cab.
13. [EC] Stops the elevator cab at the floor where the request originated.
14. [EC] Opens the elevator doors (see UC06 section 3.2.8).

Scenario Variation 1:

1. [EC] Determines that the two elevators cab can service the request.
2. [EC] Moves the DEFAULT REQUEST ELEVATOR cab to service the request.

Scenario Variation 2:

1. [EC] Determines that none of the elevators cab can service the request.
2. [EC] Keeps the request pending, when one of the elevator cabs changes direction
after reaching the top or bottom floor, or finishing servicing all its requests and
stop requests in a given direction, [EC] will try again to reschedule the request.

12
Figure 9: Sequence Diagram of UC02 ’Request an elevator cab in AUTO mode’

13
3.2.5 UC03 Request to stop at a particular floor in AUTO mode

Goal In Context The Elevator Controller [EC] receives a request to stop at a particular
floor. The [EC] moves the elevator cab to that floor and stops it.

System : Elevator Controller [EC].

Pre-Condition : [EC] is ON.

Primary Actor : The passenger.

Trigger Event : The Elevator Controller [EC] receives a ’Stop Request’ at a particular
floor.

Main Success Scenario :

1. [EC] Receives a ’Stop Request’ at a particular floor.


2. [EC] Closes the elevator doors (see UC05 section 3.2.7).
3. [EC] Saves the request and its destination floor in the pending queue of the ele-
vator.
4. [EC] Processes the pending elevator and stop requests and determines the next
floor destination. (The next floor is the user’s requested destination )
5. [EC] Moves the elevator cab to service the request.
6. [EC] Receives a signal about the current floor of the elevator cab.
7. [EC] Updates the floor number display.
8. [EC] Detects that the elevator cab is before the final destination.
9. [EC] Reduces the speed of the moving elevator cab.
10. [EC] Stops the elevator cab at the designated floor.
11. [EC] Opens the elevator doors (see UC06 section 3.2.8).

Scenario Extension :

1. [EC] receives a ’Open Door Request’ (see UC06 section 3.2.8).

Scenario Extension :

1. [EC] Receives a ’Close Door Request’(see UC05 section 3.2.7).

14
Figure 10: Sequence Diagram of UC03 ’Request to stop at a particular floor in AUTO mode’

15
3.2.6 UC04 Set the elevator’s mode to HOLD)

Goal In Context The staff sets the elevator’s mode of operation to HOLD, the elevator
cab awaits on the floor with door opened until the staff makes a stop request at a
particular floor, all elevator requests are ignored while the elevator is operating in the
HOLD mode.

System : Elevator Controller [EC].

Pre-Condition : [EC] is ON.

Primary Actor : The staff.

Trigger Event : The Elevator Controller [EC] receives ’Set Mode to HOLD Request’.

Main Success Scenario :

1. [Staff] Sets the elevator’s mode of operation to HOLD.


2. [EC] Receives ’Set Mode to HOLD Request’.
3. [EC] Detects that the current elevator’s mode of operation is AUTO.
4. [EC] Sets the elevator’s mode of operation to HOLD.
5. [EC] Detects that the elevator cab is not moving.
6. [EC] Disregards all the pending requests.
7. [EC] Opens the elevator doors (see UC06 section 3.2.8).
8. [EC] Waits for a floor stop request.

Scenario Extensions :

1. [EC] Detects that the elevator cab is moving.


2. [EC] Keeps moving the elevator cab to the next destination.
3. [EC] Receives a signal about the current floor of the elevator cab.
4. [EC] Updates the floor number display.
5. [EC] Detects that the elevator cab is before the final destination.
6. [EC] Reduces the speed of the moving elevator cab.
7. [EC] Stops the elevator cab at the designated floor.
8. [EC] Disregards all the pending floor requests.
9. [EC] Opens the elevator doors (see UC06 section 3.2.8).
10. [EC] Waits for a floor stop request.

Scenario Variation 1:

1. [EC] Detects that the current elevator’s mode of operation is set to HOLD, nothing
happens.

16
Figure 11: Sequence Diagram of UC04 ’Set the elevator’s mode to HOLD’

Scenario Variation 2:

1. [EC] Detects that the elevator is recalled to the DEFAULT RECALL FLOOR.
2. (Continue with the steps in the main success scenario).

17
3.2.7 UC05 Close the elevator doors

Goal In Context : The Elevator Controller [EC] closes the inner and outer doors of the
elevator cab.

System : Elevator Controller [EC].

Pre-Condition : None.

Secondary Actors : The Doorway Sensor [DS], The Load Sensor [LS], The Door Timer
[DT].

Trigger Event : [EC] Receives a ’Close Door Request’.

Main Success Scenario :

1. [EC] Receives a a ’Close Door Request’.


2. [EC] Detects that the current elevator’s mode of operation is AUTO.
3. [EC] Detects that the elevator cab is not moving and the doors are opened.
4. [EC] Turn OFF the Door Timer [DT].
5. [EC] Closes the inner and outer doors of the cab.

Scenario Extensions :

1. [EC] Receives a signal from [DS] that an object obstructs the closing doors.
2. [EC] Opens the elevator doors (see UC06 section 3.2.8).

Scenario Extensions :

1. [EC] Receives a signal from [LS] that the cab load is over the allowed MAXIMUM
WEIGHT.
2. [EC] Turn OFF the Door Timer [DT].
3. [EC] Doesn’t close the inner and outer doors of the cab (The elevator doors are
kept open till the load is restored to the allowed weight).

Scenario Variation 1:

1. [EC] Detects that the inner and outer doors are already closed, nothing happens.

Scenario Variation 2:

1. [EC] Detects that the elevator cab is moving, nothing happens.

Scenario Variation 3:

1. [EC] Detects that the elevator cab is recalled to the DEFAULT RECALL FLOOR,
nothing happens (The elevator doors are kept Open).

18
Figure 12: Sequence Diagram of UC05 ’Close the elevator doors’

Scenario Variation 4:

1. [EC] Detects that the elevator’s mode of operation is set to HOLD.


2. [EC] Didn’t receive a Stop Request’ at a particular floor, nothing happens. (The
Elevator Doors are kept Open in the HOLD mode as long as the passenger didn’t
requested to move to a particular floor).

19
3.2.8 UC06 Open the elevator doors

Goal In Context : The Elevator Controller [EC] opens the inner and outer doors of the
elevator cab.

System : Elevator Controller [EC]

Pre-Condition : None

Secondary Actors : The Door Timer [DT].

Trigger Event : [EC] receives a ’Open Door Request’.

Main Success Scenario :

1. [EC] Receives a ’Open Door Request’.


2. [EC] Detects that the current elevator’s mode of operation is AUTO.
3. [EC] Detects that the elevator cab is not moving and the doors are closed.
4. [EC] Turn ON the door timer [DT] and sets it to a TIME PERIOD.
5. [EC] Opens the inner and outer doors.

Scenario Variation 1:

1. [EC] Receives a signal from [DS] that an object obstructs the closing doors.
2. [EC] Turn ON the door timer [DT] and sets it to a TIME PERIOD.
3. [EC] Opens the inner and outer doors.

Scenario Variation 2:

1. [EC] Detects that the inner and outer doors are already opened, nothing happens.

Scenario Variation 3:

1. [EC] Detects that the inner and outer doors are already opened, nothing happens.

Scenario Variation 4:

1. [EC] Detects that the elevator cab is moving, nothing happens.

Scenario Variation 5:

1. [EC] Detects that the elevator cab is recalled to the DEFAULT RECALL FLOOR,
nothing happens. (The elevator doors are kept Open)

20
Figure 13: Sequence Diagram of UC06 Open the elevator doors

3.2.9 UC07 Recall the elevator cab to the DEFAULT RECALL FLOOR

Goal In Context : The Elevator Controller [EC] receives ’Elevator Recall Request’, the
[EC] sends the elevator to the default recall floor, opens the inner and outer doors.

System : Elevator Controller [EC].

Pre-Condition : None.

Trigger Event : The Elevator Controller [EC] receives a ’Recall Elevator Request’.

Main Success Scenario :

1. [EC] Receives ’Elevator Recall Request’.


2. [EC] Detects that the current elevator’s mode of operation is AUTO.
3. [EC] Stores that the elevator is recalled to the DEFAULT RECALL FLOOR.
4. [EC] Disregards all elevator requests, and pending floor requests.
5. [EC] Detects that the elevator cab is not moving and not on the default recall
floor.
6. [EC] Moves the elevator cab to the DEFAULT RECALL FLOOR (see UC03
section 3.2.5)..

Scenario Variation :

1. [EC] Detects that the elevator cab is moving.


2. [EC] Disregards the next destination.
3. [EC] Determines the next destination to be the DEFAULT RECALL FLOOR.

21
Figure 14: Sequence Diagram of UC07 Recall the elevator cab to the DEFAULT RECALL
FLOOR

4. [EC] Keeps moving the elevator cab to the new destination.


5. [EC] Receives a signal about the current floor of the elevator cab.
6. [EC] Updates the floor number display.
7. [EC] Detects that the elevator cab is before the final destination.
8. [EC] Reduces the speed of the moving elevator cab.
9. [EC] Stops the elevator cab at the DEFAULT RECALL FLOOR.

22
Figure 15: Sequence Diagram of UC08 ’Set the elevator’s mode to SERVICE’

3.2.10 UC08 Set the elevator’s mode to SERVICE

Goal In Context : The Elevator Controller [EC] receives ’Set Mode to SERVICE Request’,
the [EC] sends the elevator to the default recall floor, opens the inner and outer doors.

System : Elevator Controller [EC].

Pre-Condition : None.

Trigger Event : The Elevator Controller [EC] receives a ’Set Mode to SERVICE Request’.

Main Success Scenario :

1. [EC] Receives ’Set Mode to SERVICE Request’.


2. [EC] Detects that the current elevator’s mode of operation is NOT SERVICE.
3. [EC] Sets the elevator’s mode of operation to SERVICE.
4. [EC] Recalls the elevator cab to the DEFAULT RECALL FLOOR (see UC07
section 3.2.9).

Scenario Variation :

1. [EC] Detects that the current elevator’s mode of operation is SERVICE, nothing
happens.

23
3.2.11 UC09 Set the elevator’s mode to AUTO

Goal In Context : The Elevator Controller [EC] receives ’Set Mode to AUTO Request’,
the [EC] waits to service elevator requests and floor requests.

System : Elevator Controller [EC].

Pre-Condition : None.

Trigger Event : The Elevator Controller [EC] receives a ’Set Mode to AUTO Request’.

Main Success Scenario :

1. [EC] Receives ’Set Mode to AUTO Request’.


2. [EC] Detects that the current elevator’s mode of operation is NOT AUTO.
3. [EC] Detects that the elevator cab is not moving.
4. [EC] Sets the elevator’s mode of operation to AUTO.
5. [EC] Closes the elevators doors (see UC05 section 3.2.7).
6. [EC] Waits for an elevator request OR a floor stop request (see UC02 section 3.2.4
OR see UC03 section 3.2.5).

Scenario Variation 1:

1. [EC] Detects that the current elevator’s mode of operation is AUTO, nothing
happens.

Scenario Variation 2:

1. [EC] Detects that the elevator cab is moving.


2. [EC] Keeps moving the elevator cab to the next destination.
3. [EC] Receives a signal about the current floor of the elevator cab.
4. [EC] Updates the floor number display.
5. [EC] Detects that the elevator cab is before the final destination.
6. [EC] Reduces the speed of the moving elevator cab.
7. [EC] Stops the elevator cab at the designated floor.
8. [EC] Opens the elevator doors (see UC06 section 3.2.8).
9. [EC] Sets the elevator’s mode of operation to AUTO.
10. [EC] Closes the elevators doors (see UC05 section 3.2.7).
11. [EC] Waits for an elevator request OR a floor stop request (see UC02 section 3.2.4
OR see UC03 section 3.2.5).

24
Figure 16: Sequence Diagram of UC09 ’Set the elevator’s mode to AUTO’

3.2.12 UC10 Ring bell

Goal In Context : The Elevator Controller [EC] receives a ’Ring Bell Request’, the [EC]
sends a ’Ring Bell Signal’ to the Elevator Bell [EB].

System : Elevator Controller [EC].

Pre-Condition : None.

Primary Actor : The passenger.

Trigger Event : The Elevator Controller (EC) receives a ’Ring Bell Request’.

Main Success Scenario :

1. [Passenger] Requests to ring the bell.


2. [EC] Receives a ’Ring Bell Request’.
3. [EC] sends a ’Ring Bell Signal’ to the Elevator Bell [EB].

25
Figure 17: Sequence Diagram of UC10 ’Ring bell’

3.2.13 UC11 Emergency stop

Goal In Context : The Elevator Controller [EC] receives ’Emergency Stop Request’, the
[EC] sends the elevator to the default recall floor, opens the inner and outer doors.

System : Elevator Controller [EC].

Pre-Condition : None.

Primary Actor : The passenger.

Trigger Event : [EC] Receives a ’Emergency Stop Request’.

Main Success Scenario :

1. [Passenger] Requests an emergency stop.


2. [EC] Receives ’Emergency Stop Request’.
3. [EC] Recalls the elevator cab to the DEFAULT RECALL FLOOR (see UC07
section 3.2.9).

26
Figure 18: Sequence Diagram of UC11 ’Emergency stop’

3.2.14 UC12 Emergency Fire Evacuation

Goal In Context : The Elevator Controller [EC] receives ’Fire Alarm’, the [EC] sends the
elevators to the default recall floor, opens the inner and outer doors.

System : Elevator Controller [EC].

Pre-Condition : None.

Trigger Event : [EC] receives a ’Fire Alarm’ signal.

Main Success Scenario :

1. [EC] Receives a ’Fire Alarm’ signal.


2. [EC] Recalls ALL the elevator cabs to the DEFAULT RECALL FLOOR (see
UC07 section 3.2.9).
3. [EC] Shuts down all the peripheral hardware.
4. [EC] Is OFF.

27
Figure 19: Sequence Diagram of UC12 ’Emergency Fire Evacuation’

3.2.15 UC13 Turn ON

Goal In Context : The Elevator Controller [EC] receives ’Turn ON’, the [EC] sets the
elevator variables to initial values and waits for an elevator requests OR floor requests.

System : Elevator Controller [EC].

Pre-Condition : None.

Primary Actor : The staff.

Trigger Event : [EC] Receives a ’Turn ON’ signal.

Main Success Scenario :

1. [EC] Receives a ’Turn ON’ signal.


2. [EC] Initializes the following variables to values set at the deployment time:
• DEFAULT RECALL FLOOR ( The default floor at which the elevator cab
should stop in case the elevator cab is recalled ).
• MODE = DEFAULT MODE (AUTO) ( The default starting operational
mode of the elevator cab ).
• PERIOD TIME ( The value that constraints the door opening time period ).
• FLOORS COUNT ( The number of floors in the building ).
• ELEVATORS COUNT ( The number of elevators cab needed for the schedul-
ing process ).
• DEFAULT REQUEST ELEVATOR ( The default elevator that should service
the request in case all the elevators are available to service a certain request
).

28
Figure 20: Sequence Diagram of UC13 ’Turn ON’

3. [EC] Detects the current position of the elevator cabs and store them.
4. [EC] Is ready to service elevator requests and floor requests.

29
Figure 21: Sequence Diagram of UC14 ’Turn OFF’

3.2.16 UC14 Turn OFF

Goal In Context : The Elevator Controller [EC] receives ’Turn OFF ’, the [EC] sends the
elevators to the default recall floor, opens the inner and outer doors.

System : Elevator Controller (EC)

Pre-Condition : None

Primary Actor : The passenger

Trigger Event : [EC] receives a ’Turn OFF’ signal.

Main Success Scenario :

1. [EC] Receives a ’Turn OFF’ signal.


2. [EC] Recalls ALL the elevator cabs to the DEFAULT RECALL FLOOR (see
UC07 section 3.2.9).
3. [EC] Shuts down all the peripheral hardware.
4. [EC] Is OFF.

30
3.2.17 State Diagrams

31
Figure 22: System State Chart

32
Figure 23: Operations State Chart

33
Figure 24: Processing Requests State Chart

Figure 25: Processing Elevator Requests State Chart

34
Figure 26: Processing Stop Request State Chart

3.2.18 Conceptual Diagram

35
Figure 27: Processing Set Mode Request State Chart

Figure 28: Processing Emergency Stop State Chart

Figure 29: Processing Emergency Fire Signal State Chart

36
Figure 30: Recalling Elevator State Chart

Figure 31: Opening Doors State Chart

Figure 32: Closing Doors State Chart

37
38
Figure 33: Elevator Controller Conceptual Diagram
Figure 34: Cab Movement Controller State Chart

3.2.19 Concepts State Diagrams

39
Figure 35: Doors Controller State Chart

Figure 36: Elevator Request Processor State Chart

40
Figure 37: Emergency Stop Request Processor State Chart

3.2.20 Collaboration Diagram

41
Figure 38: Set Mode Request Processor State Chart

42
Figure 39: Stop Request Processor State Chart

Figure 40: System Status Controller State Chart

43
44

Figure 41: Elevator Controller Collaboration Diagram


Figure 42: Request Elevator Collaboration Diagram

Figure 43: Move Elevator Cab Collaboration Diagram

Figure 44: Request Floor Stop Collaboration Diagram

45
Figure 45: Set SERVICE Mode Collaboration Diagram

Figure 46: Emergency Stop Collaboration Diagram

46
Figure 47: Open Elevator Doors Collaboration Diagram

Figure 48: Close Elevator Doors Collaboration Diagram

47
3.3 Functional Requirements

Please refer to Appendix A for a complete list of requirements identified by this document.

3.4 Non-Functional Requirements

3.4.1 Maintainability

• The implementation of the elevator system should not be proprietary, many other
companies will bid for the maintenance of the elevators.

3.4.2 Availability

• The elevators system should be available to as much people as it can possibly can all
the time. All the requests should be serviced and should wait the least amount of time.

3.4.3 Reliability

• The elevator controller shall move the cab exactly to the same floor as requested
regardless of the number of floor requests and the number of passenger.

3.4.4 Security

• To switch on and off the elevator controller, the staff must possess the operator’s key.
To hold the elevator, staff also must use a special key.

3.4.5 Safety

• The safety of the elevator system is assumed to be handled by a redundant mechanical


components.

3.4.6 Usability

• Users needs only to be familiar with an elevator system.

48
A Traceability Matrix

Table 1: Traceability Matrix

Details/Constraints

Related Reqs/UCs
Description

Found in
Name
ID

F1[ ]:Move people and Elevator System moves people from – UC01 –
goods one floor to another
F2[ ]:Request an ele- The passenger pushes the floor – UC02 –
vator request button; the elevator cab
reaches the floor.
F3[ ]:Move elevator The passenger pushes the floor but- – UC03 –
from one floor ton, the elevator moves the cab
to another from the current floor to the re-
quested floor.
F4[ ]:Reserve the ele- Staff turns the operation key to – UC04
vator hold the cab, no elevator requests
are allowed, and staff uses the ele-
vator and turns back the operation
key to ’auto’.
F5[ ]:Turn on the ele- The maintenance staff turns on the – UC13
vator system elevator controller.
F6[ ]:Turn off the ele- The maintenance staff turns off the – UC14
vator system elevator controller
F7[ ]:Close the eleva- The passenger pushes the Close – UC05
tor doors button, the inner and outer door
of the elevator cab are closed
F8[ ]:Open the eleva- The passenger pushes the Open – UC06
tor doors button, the inner and outer door
of the elevator cab are opened.
F9[ ]:Stop the eleva- The passenger pushes the Stop but- – UC011
tor ton in the elevator cab and the el-
evator is stopped.
F10[ ]:Recall the eleva- The elevator cab is recalled to the – UC07
tor DEFAULT RECALL FLOOR
F11[ ]:SERVICE Mode The elevator cab is recalled to the – UC08
DEFAULT RECALL FLOOR and
the doors are kept open
F12[ ]:HOLD Mode The elevator controller disregards – UC04
all requests and the doors are kept
open
F13[ ]:AUTO Mode The default mode of operation of – UC09
the elevator, the elevator waits to
service requests
F13[ ]:Emergency Fire In case of a fire, the elevator con- – UC12
troller recalls all the elevator cabs.
Continued on next page. . .

49
Table 1: Traceability Matrix (continued )

Details/Constraints

Related Reqs/UCs
Description

Found in
Name
ID

F14[ ]:Ring Bell The elevator controller rings the – UC10


bell when a ring bell request is de-
tected
N1[ ]:Maintainability Compatibility with future elevator – –
systems parts
N2[ ]:Availability The elevator system should service – –
correctly the floor requests
N3[ ]:Reliability The system shall work correctly –
continuously
N4[ ]:Ease of use Users that know how to use the el- – –
evator control buttons
N5[ ]:Security Hold elevator and turning on/off – –
the system is only done by the
mean of a key
N6[ ]:Safety The system shall depend on the – –
redundant mechanical components
for safety issues

50
Index
cab, 3

elevator request, 3
Elevators, 3

floor, 3
floor request, 3

inner doors, 3
Introduced terms are in sheriff Italics., 2

MC, 3

outer doors, 3

passenger, 4

sheave, 3
staff, 4, 5

51

You might also like