1. 30 déc., 2025 1 validation
    • Hamadou Ba's avatar
      feat: Phase 3 - Pydantic models and predefined scenarios · d861a273
      Hamadou Ba a écrit
      Add Pydantic models for API validation and 5 project scenarios
      
      Pydantic Models:
      - models/config.py: SimulationConfigModel with full validation
        - ServerConfig for each server in the network
        - Probability conservation validation
        - Conversion to internal SimulationConfig
      
      - models/results.py: Complete results models for API responses
        - QueueStatisticsModel per queue
        - TimeSeriesDataModel for evolution tracking
        - HistogramDataModel for processing time distribution
        - SimulationResultsModel with all metrics
      
      Predefined Scenarios:
      - scenarios.py: 5 scenarios from project requirements
        - Scenario 1: 1 fast server (120ms) - instability test
        - Scenario 2: 1 fast + 1 slow server (120ms/240ms)
        - Scenario 3: 3 slow servers (240ms each)
        - Scenario 4: 1 fast + 1 medium (120ms/190ms) - compare with scenario 3
        - Scenario 5: Parameter sensitivity (vary λ and p)
      
      - Theoretical utilization calculations for each scenario
      - Scenario registry for easy access
      - list_scenarios() function for API
      
      Testing:
      - test_all_scenarios.py: Comprehensive test of all scenarios
      - Runs all 5 scenarios with variations
      - Compares theoretical vs simulation results
      - Summary table for performance comparison
      
      Results Analysis:
      - All scenarios execute successfully
      - Stable systems show ρ < 1 as expected
      - Some scenarios show slight instability (ρ ≈ 1.0) due to high load
      - Parameter sensitivity variations demonstrate impact of λ and p
      
      Phase 3 Complete ✓
      Next: Phase 4 - Analytical module (Jackson's theorem)
      d861a273