


Code Listing 1.
A proportional-integral pitch controller in AeroLang.

Table 1.
Performance comparison between rigid-wing baseline and AeroLang-generated morphing-wing controller (120 s simulation, nominal wind speed 12 m/s, step disturbances at t = 30 s and t = 80 s).
| Metric | Rigid Wing | Morphing Wing | Improvement |
|---|---|---|---|
| Mean L/D Ratio | 14.2 | 15.8 | +11.3% |
| CL RMSE | 0.087 | 0.031 | -64.4% |
| Mean Span (m) | 0.800 (fixed) | 0.871 | – |
| Mean Camber | 0.180 (fixed) | 0.193 | – |
| Settling Time (s) | – | 4.2 | – |
| Comp. Overhead | Baseline | +0.3% | Negligible |
Table 2.
Representative compile-time unit-mismatch errors detected by the AeroLang type checker during authoring of the morphing-wing controller.
| Line | Erroneous Expression | Compiler Diagnostic |
|---|---|---|
| L.47 | FORCE = MASS + ACCEL | ERROR: Unit mismatch: kg is not compatible with m/s2 |
| L.89 | CL = LIFT / VELOCITY | ERROR: Unit mismatch: kg·m·s−2 vs m·s−1 |
| L.112 | SPAN = SPAN + RATE * DT * DT | ERROR: Assign mismatch: m vs m·s |
| L.134 | ERROR = CL_TARGET - LIFT | ERROR: Unit mismatch: 1 vs kg·m·s−2 |
Table 3.
Comparative analysis of AeroLang against existing frameworks.
| Feature | F# Units of Measure | Pint (Python) | Lustre / SCADE | AADL | AeroLang |
|---|---|---|---|---|---|
| Dimensional Safety | Static (Compiletime) | Dynamic (Runtime) | None | Limited (Properties) | Static (Compile-time) |
| Real-Time Semantics | None | None | Synchronous Dataflow | Architectural | Periodic Loops |
| Embedded Compatibility | Low (GC-dependent) | Low (Interpreter) | High (Certified C) | High (Modelling) | High (@EMBEDDED) |
| Aerospace Semantics | General | General | Avionics-oriented | System-oriented | Physics-integrated |
| Runtime Overhead | Minimal | High | Minimal | N/A | No dimensional runtime overhead |
| Morphing Physics Support | No | No | No | No | Integrated Support |