Pair Project: 电梯调度问题API设计(by 谢俊源 & 陆元伟)
by 谢俊源 & 陆元伟
在我们的设计中,总共有3个大类:Elevator, Passenger, Scheduler;
下面是我们的具体设计:
Passenger:
|
PassengerWeight ; SourceFloor; DestFloor; ArriveTime; PassengerName; |
|
SendRequest(); //send request (up or down) to the scheduler OpenGate(); //ask scheduler to tell elevator to stop CloseGate(); // ask scheduler to tell elevator to close the door |
Elevator:
|
WeightCarring; MaximumWeight; CurrentFloor; CurrentDirection(Up or Down); RunOrStop; ElevatorSpeed; FloorToStop; |
|
OverWeightWarning(); StateUpdate(); StateSender(); //send the state of the elevator to scheduler |
Scheduler:
|
Elevator1State(weight, floor, direction, OverWeight or not); Elevator2State; Elevator3State; Elevator4State; ComingPassengerState(weight, destination, current floor); |
|
ElevatorCall(); //send orders to elevators ElevatorUpdate(); //update the states of the 4 elevators PassengerStateUpdate(); Initialization(); //default state settings of the elevators |
上面的设计中,Passenger所有的指令都是传送给Scheduler的,通过Scheduler来调度Elevator响应Passenger的指令,同时Elevator也只与Scheduler进行互动,把自己的信息传送给Scheduler。同时所有的操作时间都由Scheduler来记录。

浙公网安备 33010602011771号