Problem Statement

Develop a elevator control system that is aligned with the following descriptions:

  • There is only one elevator cabin, which travels between each floor.
  • There is a single button on each floor to call the lift.
  • Inside the elevator cabin, there is a series of buttons, one for each floor.
  • Requests are definitive, i.e., they cannot be cancelled, and they persist; thus they should eventually be serviced.
  • The arrival of the cabin at a floor is detected by a sensor.
  • The system may ask the elevator to go up, go down or stop. In this example, we assume that the elevator's braking distance is negligible.
  • The system may ask the elevator to open its door. The system will receive a notification when the door is closed. This simulates the activity of letting people on and off at each floor.
  • The door closes automatically after a predefined amount of time. However, neither this function of the elevator nor the protection associated with the door closing (stopping it from squashing people) are part of the system to realize.