Package-level declarations

Types

Link copied to clipboard
data class AgentSnapshot(val agentName: String, val beliefs: List<String> = emptyList(), val goals: List<String> = emptyList(), val intentions: List<String> = emptyList())

Snapshot of an agent's observable BDI state.

Link copied to clipboard
data class Aircraft(val id: String, val position: Position, val flightLevel: FlightLevel, val velocity: Velocity, val route: Route, val priority: AircraftPriority, val emergencyStatus: EmergencyStatus, val activeWaypointIndex: Int = 0)

Immutable domain model for one simulated aircraft.

Link copied to clipboard

Priority category assigned to an aircraft.

Link copied to clipboard
data class AirspaceSector(val id: String, val minX: Double, val maxX: Double, val minY: Double, val maxY: Double, val minAltitudeFeet: Int, val maxAltitudeFeet: Int)

Rectangular airspace sector used by the discrete simulation.

Link copied to clipboard
data class Conflict(val id: String, val tick: Int, val aircraftIds: Set<String>, val type: ConflictType, val horizontalDistance: Double, val verticalDistanceFeet: Int, val predictedAtTick: Int? = null)

Loss of separation detected or predicted between two or more aircraft.

Link copied to clipboard

Types of unsafe situations represented by AeroGuard-MAS.

Link copied to clipboard
data class DynamicScenarioEvent(val tick: Int, val type: DynamicScenarioEventType, val targetId: String, val value: String? = null)

Dynamic event scheduled inside a scenario.

Link copied to clipboard

Supported dynamic event kinds that may change scenario conditions during simulation.

Link copied to clipboard

Emergency state associated with an aircraft.

Link copied to clipboard
value class FlightLevel(val feet: Int)

Discrete altitude value expressed in feet.

Link copied to clipboard
data class Maneuver(val aircraftId: String, val type: ManeuverType, val targetFlightLevel: FlightLevel? = null, val targetWaypoint: Waypoint? = null, val reason: String? = null)

Planned action assigned to a specific aircraft.

Link copied to clipboard

Maneuver types supported by the planner and simulation engine.

Link copied to clipboard
data class Position(val x: Double, val y: Double)

Two-dimensional point in the simplified airspace.

Link copied to clipboard
data class ResolutionPlan(val id: String, val conflictId: String, val maneuvers: List<Maneuver>, val explanation: String)

Planner output for resolving a conflict or dynamic constraint.

Link copied to clipboard
data class Route(val waypoints: List<Waypoint>)

Ordered waypoint route followed by an aircraft.

Link copied to clipboard
data class Scenario(val name: String, val maxTicks: Int, val separation: SeparationConfiguration, val aircraft: List<Aircraft>, val sector: AirspaceSector = AirspaceSector.default(), val weatherZones: List<WeatherZone> = emptyList(), val dynamicEvents: List<DynamicScenarioEvent> = emptyList())

Complete input scenario for an AeroGuard-MAS simulation run.

Link copied to clipboard
data class SeparationConfiguration(val horizontal: Double, val verticalFeet: Int)

Minimum separation thresholds used by conflict detection.

Link copied to clipboard
data class SimulationState(val tick: Int, val scenarioName: String, val aircraft: Map<String, Aircraft>, val separation: SeparationConfiguration, val sector: AirspaceSector, val weatherZones: List<WeatherZone> = emptyList(), val agentSnapshots: List<AgentSnapshot> = emptyList())

Immutable simulation snapshot at one tick.

Link copied to clipboard
value class Velocity(val horizontalUnitsPerTick: Double)

Horizontal speed expressed in simulation units per tick.

Link copied to clipboard
data class Waypoint(val name: String, val position: Position)

Named route point in the simplified two-dimensional airspace.

Link copied to clipboard
data class WeatherZone(val id: String, val center: Position, val radius: Double, val activeFromTick: Int = 0, val activeUntilTick: Int? = null)

Circular weather constraint that may become active during a scenario.