Package-level declarations

Types

Link copied to clipboard

Moves aircraft one discrete tick along their active route.

Link copied to clipboard
class ConflictDetector(aircraftMover: AircraftMover = AircraftMover(), safetyReasoner: SafetyReasoner = TuPrologSafetyReasoner.fromClasspath())

Detects current and predicted conflicts between aircraft.

Link copied to clipboard
class ManagedSimulationEngine(safetyReasoner: SafetyReasoner, aircraftMover: AircraftMover = AircraftMover(), maneuverApplier: ManeuverApplier = ManeuverApplier(), predictionHorizonTicks: Int = 8, conflictDetector: ConflictDetector = ConflictDetector( aircraftMover = aircraftMover, safetyReasoner = safetyReasoner, ), resolutionPlanner: ResolutionPlanner = SecondaryConflictAwareResolutionPlanner( safetyReasoner = safetyReasoner, aircraftMover = aircraftMover, maneuverApplier = maneuverApplier, predictionHorizonTicks = predictionHorizonTicks, ))

Managed simulation engine integrating movement, planning, maneuver application, and dynamic replanning.

Link copied to clipboard
data class ManagedSimulationRunResult(val runResult: SimulationRunResult, val conflictResolutionPlan: ResolutionPlan?, val appliedManeuvers: List<ScheduledManeuver>, val weatherReplanningDecisions: List<WeatherReplanningDecision> = emptyList())
Link copied to clipboard

Applies selected maneuvers physically to a simulation state.

Link copied to clipboard
data class ScheduledManeuver(val tick: Int, val maneuver: Maneuver)

Maneuver scheduled for application at a specific simulation tick.

Link copied to clipboard
class SimulationEngine(aircraftMover: AircraftMover = AircraftMover(), conflictDetector: ConflictDetector = ConflictDetector(aircraftMover), predictionHorizonTicks: Int = 5)

Baseline simulation engine that advances aircraft and detects conflicts without managed planning feedback.

Link copied to clipboard
data class SimulationRunResult(val scenarioName: String, val states: List<SimulationState>, val currentConflicts: List<Conflict>, val predictedConflicts: List<Conflict>)
Link copied to clipboard
data class SimulationTickResult(val state: SimulationState, val currentConflicts: List<Conflict>, val predictedConflicts: List<Conflict>)