Design: Multiple Elevator Coordination System
Design focuses on the coordination logic and communication between elevators and control system. Hardware details of elevators and physical sensors are out of scope.
Functional Requirements
FR1: Support multiple elevators in a building with up to 20 floors
FR2: Handle elevator requests from any floor (up/down buttons) and inside elevators (floor selection)
FR3: Efficiently assign elevators to requests to minimize wait and travel time
FR4: Support concurrent requests and real-time updates of elevator positions and states
FR5: Provide status of each elevator (idle, moving up/down, door open/closed)
FR6: Handle edge cases like simultaneous requests, elevator overload, and emergency stop
Non-Functional Requirements
NFR1: System must respond to requests with p99 latency under 100ms
NFR2: Support up to 10 concurrent elevators and 100 concurrent requests
NFR3: High availability with 99.9% uptime
NFR4: Low memory footprint suitable for embedded elevator controllers
