0% found this document useful (0 votes)
69 views

Elevator Control System

The document describes an elevator control system with multiple components: 1. Users call elevators from floors and inside elevators by pressing buttons. 2. Elevators move between floors and notify controllers of their location. 3. Controllers control elevator movement by turning engines on/off and notifying elevators of their floor. 4. Floors receive calls from users, notify elevators of arrivals, and open/close doors. It outlines the messages different components can send and receive, and proposes state diagrams to model their behavior.

Uploaded by

Abiy Fisshea
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
69 views

Elevator Control System

The document describes an elevator control system with multiple components: 1. Users call elevators from floors and inside elevators by pressing buttons. 2. Elevators move between floors and notify controllers of their location. 3. Controllers control elevator movement by turning engines on/off and notifying elevators of their floor. 4. Floors receive calls from users, notify elevators of arrivals, and open/close doors. It outlines the messages different components can send and receive, and proposes state diagrams to model their behavior.

Uploaded by

Abiy Fisshea
Copyright
© © All Rights Reserved
Available Formats
Download as PPT, PDF, TXT or read online on Scribd
You are on page 1/ 23

Elevator Control System

Pontificia Universidad Javeriana


Javier Mena
2008
The Elevator Problem
• There is a building of several floors and
several elevators.
• There are also users that want to use the
elevators.
User interaction
• The user can be outside the elevator and
waits for the elevator to arrive.
User interaction
• OR the user can be inside the elevator and
tells the elevator where he/she wants to go.
General View
User A User C Floor N

Elevator 1

Floor 2 Elevator 2

User B Floor 1 Elevator 3

Controller 1 Controller 2 Controller 3


Component View

User

call

Floor F

The user in the floor F, presses a button to call


the elevator
Component View

User

call(F)
call
arrive(Ack) step(D)

Act=unit at(F)
Floor F Elevator L Controller

startTimer(Millis Ack)

Act=unit

Floor F Doors
Component View

User

call(F)

Elevator L

The user, inside the elevator L, user presses button to go to Floor F


Component View (Complete)

User User

call(F)
call call(F)
arrive(Ack) step(D)

Ack=unit at(F)
Floor F Elevator L Controller

startTimer(Millis Ack)

Ack=unit

Floor F Doors
Component View (Complete)

User User

call(F)
call call(F)
arrive(Ack) step(D)

Ack=unit at(F)
Floor F Elevator L Controller

startTimer(Millis Ack)

Ack=unit
The controller can handle 2 messages types.
Floor F Doors
Design of the controller
The controller represents the logic that controls the
movement of the elevators through floors.

The operations of the controller are very basic, it can


only turn the engines on/off to move the elevator up or
down, just one floor each time.

Each time it arrives to a floor, it notifies the Elevator,


which decides what to do.
Design of the controller
The controller can send 2 messages:
 starttimer(5000 Tid), tells the engines to turn on
during 5 seconds.
 at(F) tells the elevator the current location its
current location.

Which are the possible states of the controller?


Design of the controller
The controller can send 2 messages:
 starttimer(5000 Tid), tells the engines to turn on
during 5 seconds.
 at(F) tells the elevator the current location its
current location.

Which are the possible states of the controller? Answer: 2


 The controller has the engines turned on
 The controller has the engines turned off
Design of the controller
In our design the controller can receive 2 messages:
 stoptimer: when the engines has been turned off
 step(Dest): when the elevator wants to go towards a
floor

What should we do in each case?


Each controller must know the current floor (in
real life, through a sensor), and the Elevator
related to the controller.
State diagram for the controller
Design of Floor (1)

User User

call(F)
call call(F)
arrive(Ack) step(D)

Ack=unit at(F)
Floor F Elevator L Controller

startTimer(Millis Ack)

Ack=unit
The floor have can receive one message type, but it can have
3 internal states:
Floor F Doors -Doors being opened
-Doing nothing at all
-Handling a the call of a User
Design of Floor (1)
The floor have can receive 2 message types, but it can have
3 internal states:
 Doors operating (opening and closing)
 Doing nothing at all
 Handling a the call of a User

The messages that the floor can receive are:


 arrive(Ack): an elevator has arrive. The Floor must open
the doors, and then notify through Ack=unit
 call: is received when the User wants that an elevator
goes to the current floor.
 stoptimer: when the doors have been opened (and
closed)
Design of Floor (2)

Also the floor can send messages to the elevator:


 call(F), then wait for the elevator to arrive to the floor.

And the floor can send messages to the doors of the floor:
 starttimer(5000 Fid): open and close the doors in 5
seconds (it may take more time).
Design of Floor (3)

Analyze the possible states and messages that the Floor can
receive/send in each state.

Follow the Main Component diagram.


State Diagram of a Floor
Component View (Complete)

User User

call(F)
call call(F)
arrive(Ack) step(D)

Ack=unit at(F)
Floor F Elevator L Controller

startTimer(Millis Ack)

Ack=unit

Floor F Doors
Design of Elevator

Analyze the possible states and messages that the Floor can
receive/send in each state.

Follow the Main Component diagram.


Elevator State Diagram

You might also like