Design: Elevator State Management System
Design focuses on the state management logic and transitions for a single elevator. Hardware control and multi-elevator coordination are out of scope.
Functional Requirements
FR1: Track elevator states: idle, moving up, moving down
FR2: Allow state transitions based on commands and current state
FR3: Handle requests to move elevator up or down
FR4: Prevent invalid state transitions (e.g., moving up when already moving up)
FR5: Provide current state information on demand
Non-Functional Requirements
NFR1: System should respond to state change requests within 100ms
NFR2: Support up to 100 concurrent elevator state requests
NFR3: Ensure state consistency at all times
NFR4: System availability target: 99.9% uptime
