Elevator Control System
Elevator Control System
Elevator 1
Floor 2 Elevator 2
User
call
Floor F
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
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.
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
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.
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.