Task context model
1. Overview
The task context owns the flight-task vocabulary and recovery input used by rule checking, bunch generation, and bunch compilation. The current Kotlin FlightTaskContext is a data context; it does not register an optimization variable family.
1. Dependent Contexts
None. Downstream contexts consume its task values.
2. Concepts / Entities
1. Flight task
2. Flight leg and recovery assignment
3. Flight-task bunch
An ordered sequence assigned to one aircraft.
3. Variables
1. Decision Variables
None. Task and recovery values are inputs to generated columns.
2. Auxiliary Variables
None.
4. Predicates
isFlight(t): task t is a flight-type task. recoveryNeeded(t): the task is in the recovery set. aircraftChangeEnabled(t), delayEnabled(t), and routeChangeEnabled(t) classify allowed recovery operations.
5. Sets
b.
6. Intermediate Values
For consecutive tasks in a bunch, the transition time is calculated from the predecessor's end and successor's start:
7. Assertions
Every flight task has a nonblank identifier, valid airports, and a consistent time range. For every adjacent pair in Adj_b, airport continuity holds:
8. Constraints
This context contributes no solver constraints by itself. Its status and time values are consumed by the rule and bunch-generation feasibility services.
9. Objective Function (if applicable)
None. Cost is calculated for a generated bunch and consumed by compilation.
10. Algorithm References
No independent algorithm document.
11. Ubiquitous Language
| Term | Symbol | Definition |
|---|---|---|
| flight task | t | schedulable flight/recovery unit |
| flight leg | leg_t | task plan with airports and time |
| recovery assignment | recovery_t | optional change applied to a task |
| bunch | b | ordered tasks assigned to one aircraft |
12. Design Decisions
| Decision | Alternative | Rationale |
|---|---|---|
| keep task data separate from compilation | register task variables globally | permits multiple generation/compilation policies |
13. Change Log
| Version | Change | Reason |
|---|---|---|
| 1.0 | Documented the data-only task boundary | Avoid presenting task entities as a solved model |