/
[AIXM-501] Interpretation of speed limitations on Segment Leg

[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.2AIXM 5.1(.1)