[AIXM-501] Interpretation of speed limitations on Segment Leg
ID: | AIXM-501 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 16 JUL 2021 |
status: | PROPOSED |
Description
The speedInterpretation data type is corrected by replacing the incorrect use of the CodeAltitudeUseType with a dedicated CodeSpeedInterpretationUseType.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-116
In the current model, the speedInterpretation attribute of the SegmentLeg class uses the CodeAltitudeUseType. This is incorrect both from a conceptual point of view and also from the actual list of values for this data type. A dedicated speed limit interpretation list of values is necessary.
As per ARINC 424-221 5.261 Speed Limit Description, there are 3 (three) values detailing the description of speed limit. These values are optional for all Path Terminators, irrespective of the fix association (Ref. ARINC 424-22 Att 5).
- “+” Minimum Speed, Cross Fix AT or ABOVE speed specified in Speed Limit
- “-” Maximum Speed, Cross Fix AT or BELOW speed specified in Speed Limit
- “@ or blank” Mandatory Speed, Cross Fix AT speed specified in Speed Limit
General interpretation:
- MAX=”Maximum speed” - Maximum speed limit associated with the leg;
- MIN = “Minimum speed” - Minimum speed limit associated with the leg;
- AT = “Mandatory speed” - Mandatory speed limit associated with the leg.
Translating these ARINC rules in full, to support a wider scope of implementation, based only on the current AIXM 5.1(.1)+ Segment Leg logic, is not possible at the level of the UML model and they would need to be addressed by additional interpretation provided in appropriate coding guidelines.
Impact assessment
[FWD_MAP_1:1] Data mapping is possible and no data loss occurs when data is exchanged from a system (A) that uses AIXM 5.1.1 for output towards a system (B) that uses AIXM 5.2 for input.
[BWD_MAP_1:1] Data mapping is possible and no data loss occurs when data is exchanged from a system (B) that uses AIXM 5.2 for output towards a system (A) that uses AIXM 5.1.1 for input.
Change Proposal details
In the UML model:
- Add a new <<codelist>> CodeSpeedInterpretationUseBaseType defined as “A code indicating how a speed values should be interpreted.”, list of values
- MAX = “Maximum speed”
- MIN = “Minimum speed”
- AT = “Mandatory speed”
- OTHER
- Add a new data type CodeSpeedInterpretationUseType (specialisation of CodeSpeedInterpretationUseBaseType, stereotype <<datatype>>, definition: “ A complex data type that enables the provision of a NIL reason for any attribute using this type.”), attribute:
- nilReason (type: NilReasonEnumeration)
- In the SegmentLeg class, for the attribute speedInterpretation:
- Replace <<datatype>> CodeAltitudeUseType with <<datatype>> CodeSpeedInterpretationUseType
The changes are shown in the UML class diagram to the right.
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
[MAPC-01] For each SegmentLeg specialisation that has an assigned speedInterpretation value equal-to:
- “OTHER:MAX”, “BELOW_UPPER” replace it with “MAX”;
- “OTHER:MIN”, “ABOVE_LOWER” replace it with “MIN”;
- “OTHER:AT”, “AT_LOWER” replace it with “AT”;
- “BETWEEN” replace it with “OTHER:BETWEEN”
- “RECOMMENDED” replace it with “OTHER:RECOMMENDED”
- “EXPECT_LOWER” replace it with “OTHER:EXPECT_LOWER”
- “AS_ASSIGNED” replace it with “OTHER:AS_ASSIGNED”
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-01] For each SegmentLeg specialisation that has an assigned speedInterpretation value equal-to:
- “MAX” replace it with “OTHER:MAX”
- “MIN” replace it with “OTHER:MIN”
- “AT” replace it with “OTHER:AT”
Mapping example
(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx)
AIXM 5.2 | AIXM 5.1(.1) |
---|---|