ID:

AIXM-472

target version:

AIXM 5.2

version:

1.0

last updated:

11 OCT 2021

status:

PROPOSED


Description

Additional navigationType and navigationAccuracy attributes are added in the AircraftCharacteristics class. The list of values for navigationSpecification is aligned with the PBN Manual. Local requiredNavigationPerformance, navigationType, RNAV, etc. attributes (as applicable) are removed from Procedure, SegmentLeg specialisations, RouteSegment, ApproachCondition and replaced with associations to the AircraftCharacteristics. The navigationAccuracy data type is updated to allow two decimals.

Rationale for change

See https://aixmccb.atlassian.net/browse/AIXM-135, https://aixmccb.atlassian.net/browse/AIXM-176, https://aixmccb.atlassian.net/browse/AIXM-190, https://aixmccb.atlassian.net/browse/AIXM-208.

The Performance Based Navigation (PBN) concept was introduced in order to ensure global standardisation of RNAV and RNP specifications and to limit the proliferation of regional navigation specifications. The ICAO Doc 9613 (PBN Manual) provides a high-level diagram of navigation specifications (copied below).

This is not fully supported in the current AIXM version, which has inherited a mix of RNAV and RNP related properties, as follows:

  • RouteSegments may be coded as requiring RNAV versus CONV(entional) navigation techniques;
  • Procedures may be coded as RNAV (Yes/No);
  • the CodeRNPType data type (values from 0.0 to 99.9) may be used to indicate an RNP accuracy value being associated with a RouteSegment, ProcedureLeg specialisation (except for FinalLeg) or ApproachCondition (in association with a set of Minima);
  • the CodeNavigationSpecificationType list of values (RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, BASIC_RNP_1, ADVANCED_RNP_1, RNP_APCH, RNP_APCH_AR) can be used through AircraftCharacteristic in order to limit the use of a Procedure or to indicate the applicability of a set of Approach Minima;

The following issues have been identified with the current model:

  • the CodeNavigationSpecificationType does not cover some of the navigation specifications from the ICAO PBN manual, while some codes are outdated;
  • the CodeRNPType pattern does not allow accuracy values in increments of a hundredth (0.01) of a NM, while such values are allowed RNP APCH AR (per ICAO DOC 9905) and are used in practice for minima approach conditions;
  • In the case of the InstrumentApproachProcedure, the RNAV attribute (inherited from the Procedure) is a duplicate of its own approachType list of values (that includes ‘RNAV’);
  • overall, the current AIXM properties and list of values are not aligned with the ICAO PBN concept, as specified in the ICAO DOC 9613.
  • the RNAV/RNP navigation requirements are not modelled in the same way for RouteSegment, Procedures and SegmentLegs. While some of these classes have specific attributes, some also have associations to the AircraftCharacteristic, which includes the navigationSpecification attribute.

In order to align the AIXM model with the PBN concept, it is proposed to add two additional attributes in the AircraftCharacteristic class and to use this class consistently where necessary to indicate a PBN navigation specification. Thus the AircraftCharacteristic class will have the following attributes:

  • navigationType, allowing to discriminate between conventional navigation, PBN and also TACAN routes (for backwards compatibility);
  • navigationSpecification, with a predefined list of values that includes all the RNP and RNAV navigation specifications summarised in the ICAO PBN Manual, such as RNAV_5, RNP_APCH, RNP_APCH_AR, etc and also generic RNAV and RNP codes (for forward/backward compatibility).
  • navigationAccuracy, which allows to specify a navigation accuracy in relation with a PBN navigation specification (as a numerical value between 0.01 and 99.9).

As a consequence, the following attributes may be deleted and replaced with associations to the AircraftCharacteristic <<object>>:

  • the navigationType and requiredNavigationPerformance in RouteSegment
  • the navigationSpecification in AircraftCharacteristic
  • the RNAV attribute in Procedure, for which no replacement is necessary as the Procedure class already has an association with AircraftCharacteristic. This is similar to the coding of the aircraft landing category (A/B/C/D/E) or aircraft type (such as "helicopter procedure").
  • the requiredNavigationPerformance in the various SegmentLeg specialisations

Impact assessment

When receiving data from AIXM 5.2 implementations, current AIXM 5.1(.1) systems will have to be able to map back the new values, as described in the mapping rules further in this document.

When receiving data from AIXM 5.1(.1) implementations, AIXM 5.2 systems will have to be able to map forward the data, as described in the mapping rules further in this document.

Change Proposal details

In the UML model.

  • In the CodeNavigationSpecificationBaseType <<CodeList>>
    • add the following values:
      • RNAV = “RNAV navigation specification (does not include the requirement for performance monitoring and alerting)
      • RNP = “RNP navigation specification (includes the requirement for performance monitoring and alerting)”
      • RNP_1 = “RNP with 1 NM navigation accuracy capability”
      • A_RNP = “Advanced RNP”
      • RNP_0_3 = “RNP with 0.3 NM navigation accuracy capability”
    • delete the following values:
      • BASIC_RNP_1
      • ADVANCED_RNP_1
  • Rename the CodeRouteNavigationType <<DataType>> into CodeNavigationType
  • Rename the CodeRouteNavigationBaseType <<CodeList>> into CodeNavigationBaseType and:
    • change definition into “The type of air navigation (conventional or PBN)”
    • add the value PBN = “Performance Based Navigation (PBN)”
    • delete the value RNAV
  • Rename the CodeRNPType <<DataType>> into ValNavigationAccuracyType

  • Rename the CodeRNPBaseType <<CodeList>> into ValNavigationAccuracyBaseType and change its pattern into [0-9]{1,2}(\.[0-9]{12}){0,1}

  • In the AircraftCharacteristic class:
    • Add two new attributes:
      • navigationType, data type CodeNavigationType, definition = “An indication if performance based navigation or conventional navigation is required”;
      • navigationAccuracy, data type ValNavigationAccuracyType, definition=”The navigation accuracy value associated with the navigation specification.”
  • In the RouteSegment class:
    • Delete the navigationType attribute
    • Delete the requiredNavigationPerformance attribute
    • Add an association “isValidFor” AircraftCharacteristic with role name “aircraftCapability” and multiplicity 0…* on the AircraftCharacteristic <<object>> side, definition = “A combination of aircraft characteristics, equipment and capabilities that are required on the Route Segment”.
  • In the Procedure class:
    • Delete the RNAV attribute
    • in the association with AircraftCharacteristic change the AircraftCharacteristic role name into “aircraftCapability”, definition = “A combination of aircraft characteristics, equipment and capabilities that are required on the Procedure”
  • Delete the requiredNavigationPerformance attribute in the following classes:
    • DepartureLeg
    • ArrivalLeg
    • ArrivalFeederLeg
    • InitialLeg
    • IntermediateLeg
    • MissedApproachLeg
  • In the SegmentLeg change the association to AircraftCharacteristic as follows:
    • change the AircraftCharacteristic role name into “aircraftCapability”, definition = “A combination of aircraft characteristics, equipment and capabilities that are required on the Segment Leg”.
  • In the ApproachCondition class:
    • Delete the requiredNavigationPerformance attribute
    • Add a new attribute navigationAccuracy, data type ValNavigationAccuracyType, definition=”The PBN navigation accuracy value associated with the minima.”

Note: AIXM-473 also removes the association to AircraftCharacteristic, which is moved to the Minima class. This is taken into consideration in the AIXM-473 forward/backward mapping and it is not discussed in this Change Proposal.

The following UML class diagram highlights the changes made in the model:

  • deleted elements are highlighted in red
  • new elements are highlighted in blue

Mapping AIXM 5.1.1 to AIXM 5.2 (forward)

The following algorithm shall be applied:

  • [MAPC-00] For each RouteSegment that has assigned values for the navigationType and/or requiredNavigationPerformance:
    • add a child aircraftCapability.AircraftCharacteristic element that applies the following mapping rules:
      • (AIXM 5.1.1) Route Segment

        (AIXM 5.2) AircraftCharacteristic

        navigationType

        requiredNavigationPerformance

        navigationType

        navigationSpecification

        navigationAccuracy

        CONV

        any value, but normally it is NIL

        CONV

        NIL

        copy value of requiredNavigationPerformance

        TACAN

        any value, but normally it is NIL

        TACAN

        NIL

        copy value of requiredNavigationPerformance

        RNAV

        Any value

        PBN

        RNAV

        copy value of requiredNavigationPerformance

        OTHER:RNP

        Any value

        PBN

        RNP

        copy value of requiredNavigationPerformance

        OTHER:...

        any value, but normally it is NIL

        OTHER

        OTHER:...

        copy value of requiredNavigationPerformance

    • Remove the navigationType and the requiredNavigationPerformance, as applicable.
  • [MAPC-00] For each InstrumentApproachProcedure, StandardInstrumentDeparture or StandardInstrumentArrival that has an assigned value for the RNAV attribute or that has a child aircraftCharacteristic element:
    • if there exist child aircraftCharacteristic.AircraftCharacteristic elements
      • rename any aircraftCharacteristic child element into aircraftCapability
      • in each of the AircraftCharacteristic add navigationType, navigationAccuracy and modify or add navigationSpecification as follows:
        • (AIXM 5.1.1) SID/STAR/IAP

          (AIXM 5.2) AircraftCharacteristic

          RNAV

          aircraftCharacteristic.AircraftCharacteristic.navigationSpecification

          navigationType

          navigationSpecification

          navigationAccuracy

          YES

          RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, RNP_APCH, RNP_AR_APCH, OTHER:...

          PBN

          keep the same value

          NIL

          YES

          BASIC_RNP_1

          PBN

          OTHER:BASIC_RNP_1

          NIL

          YES

          ADVANCED_RNP_1

          PBN

          OTHER:ADVANCED_RNP_1

          NIL

          NO, OTHER:...

          RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, RNP_APCH, RNP_AR_APCH, OTHER:...

          PBN

          keep the same value

          (Note: the RNAV attribute value is disregarded)

          NIL

          NO, OTHER:...

          BASIC_RNP_1

          PBN

          OTHER:BASIC_RNP_1

          (Note: the RNAV attribute value is disregarded)

          NIL

          NO, OTHER:...

          ADVANCED_RNP_1

          PBN

          OTHER:ADVANCED_RNP_1

          (Note: the RNAV attribute value is disregarded)

          NIL

          YES

          NIL

          PBN

          RNAV


          NO

          NIL

          CONV

          NIL

          NIL

          NIL

          RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, RNP_APCH, RNP_AR_APCH, OTHER:...

          PBN

          keep the same value

          NIL

          NIL

          BASIC_RNP_1

          PBN

          OTHER:BASIC_RNP_1

          NIL

          NIL

          ADVANCED_RNP_1

          PBN

          OTHER:ADVANCED_RNP_1

          NIL

    • Otherwise (no existing child aircraftCharacteristic.AircraftCharacteristic element), insert a new child aircraftCapability.AircraftCharacteristic element as follows: 
      • (AIXM 5.1.1) SID/STAR/IAP

        (AIXM 5.2) AircraftCharacteristic

        RNAV

        navigationType

        navigationSpecification

        navigationAccuracy

        YES

        PBN

        RNAV

        NIL

        NO

        CONV

        NIL

        NIL

        OTHER:...

        OTHER

        OTHER:...

        NIL

    • Remove the RNAV attribute.
  • [MAPC-00] For each ApproachCondition that has a child requiredNavigationPerformance element
    • Rename the element into navigationAccuracy
  • [MAPC-00] For each ConditionCombination, AirspaceActivation, CirclingArea, DepartureArrivalCondition, FlightConditionElement(Choice), ObstacleAssessmentArea that has a descendant AircraftCharacteristic with a navigationSpecification child element, although such situations are most likely an error, but they need to be covered for mapping completeness sake:
    • add a child aircraftCapability.AircraftCharacteristic element as follows:
    • (AIXM 5.1.1) AircraftCharacteristic

      (AIXM 5.2) AircraftCharacteristic

      navigationSpecification

      navigationType

      navigationSpecification

      navigationAccuracy

      RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, RNP_APCH, RNP_AR_APCH, OTHER:...

      PBN

      Keep the same value

      NIL

      BASIC_RNP_1

      PBN

      OTHER:BASIC_RNP_1

      NIL

      ADVANCED_RNP_1

      PBN

      OTHER:ADVANCED_RNP_1

      NIL

Mapping AIXM 5.2 to AIXM 5.1.1 (backward)

  • For each RouteSegment that has AircraftCharacteristic child elements:
    • If there is a single aircraftCapability.AircraftCharacteristic child element that has assigned values only for the navigationType and/or navigationSpecification and/or navigationAccuracy elements, then apply the following mapping rules:
    •  

      (AIXM 5.2) AircraftCharacteristic

      (AIXM 5.1.1) Route Segment

      navigationType

      navigation Specification

      navigation Accuracy

      navigation Type

      required Navigation Performance

      annotation.Note

      [MAPC-00]

      CONV

      NIL

      NIL

      CONV

      NIL

      NIL

      [MAPC-00]

      TACAN

      NIL

      NIL

      TACAN

      NIL

      NIL

      [MAPC-03]

      PBN

      value

      value

      OTHER:PBN

      NIL

      ●     purpose=“OTHER:BACKWARD_MAPPING”;

      ●     translatedNote.LinguisticNote.note=”navigationSpecification: <value of navigationSpecification> <uom>; navigationAccuracy: <value of navigationAccuracy>”,

      ●     propertyName = “requiredNavigationPerformance”

      [MAPC-03]

      OTHER:...

      value

      value

      OTHER:...

      NIL

      ●     purpose=“OTHER:BACKWARD_MAPPING”;

      ●     translatedNote.LinguisticNote.note=”navigationSpecification: <value of navigationSpecification> <uom>; navigationAccuracy: <value of navigationAccuracy>”,

      ●     propertyName = “requiredNavigationPerformance”

      [MAPC-03]

      any other combination

      OTHER

      NIL

      ●     purpose=“OTHER:BACKWARD_MAPPING”;

      ●     translatedNote.LinguisticNote.note= “navigationType: <value of navigationType>; navigationSpecification: <value of navigationSpecification> <uom>; navigationAccuracy: <value of navigationAccuracy>”,

      ●     propertyName = “navigationType”

    • [MAPC-03] Otherwise, from the three backward mapping options available in this case, the first two (discard the value or use an extension) are straightforward and do not need any further details. The 3rd option (backward mapping into a Note) is detailed in order to provide a complete description of this case and its conversion option. The following mapping into Note algorithm is proposed:
      • Add an annotation.Note associated with the RouteSegment having:
        • purpose=“OTHER:BACKWARD_MAPPING”;
        • LinguisticNote.note=“[1] navigationType: <value of navigationType>; navigationSpecification: <value of navigationSpecification> <uom>; navigationAccuracy: <value of navigationAccuracy>, [2] etc.”, where “[1]” indicates that this needs to be repeated as many times as necessary to cover all occurrences of the AircraftCharacteristic class
      • Remove the AircraftCharacteristic child elements.
  • [MAPC-00] For each InstrumentApproachProcedure, StandardInstrumentDeparture, StandardInstrumentArrival that has AircraftCharacteristic child elements:
    • rename any aircraftCapability child element into aircraftCharacteristic;
  • [MAPC-00] For each ArrivalFeederLeg , ArrivalLeg , DepartureLeg , InitialLeg , IntermediateLeg , MissedApproachLeg that has AircraftCharacteristic child elements:
    • rename any aircraftCapability child element into aircraftCharacteristic;
  • [MAPC-03] For each AircraftCharacteristic that is children of any other element except RouteSegment and which has assigned values for navigationType and/or navigationAccuracy and/or navigationSpecification, apply the following mapping:
    •  

      (AIXM 5.2) AircraftCharacteristic

      (AIXM 5.1.1) AircraftCharacteristic

      navigationType

      navigation Specification

      navigation Accuracy

      navigation Specification

      annotation.Note

      [MAPC-00]

      NIL

      RNAV_10, RNAV_5, RNAV_2, RNAV_1, RNP_4, RNP_2, RNP_APCH, RNP_AR_APCH, OTHER:...

      NIL

      copy value of navigationSpecification

      NIL

      [MAPC-00]

      NIL

      RNAV, RNP, RNP_1, A_RNP, RNP_0_3

      NIL

      copy value of navigationSpecification prefixed with OTHER:

      NIL

      [MAPC-03]

      any other combination

      NIL

      ●     purpose=“OTHER:BACKWARD_MAPPING”;

      ●     translatedNote.LinguisticNote.note= “navigationType: <value of navigationType>; navigationSpecification: <value of navigationSpecification> <uom>; navigationAccuracy: <value of navigationAccuracy>”,

      ●     propertyName = “navigationSpecification”


  • For each ApproachCondition that has a navigationAccuracy assigned value:
    • [MAPC-00] if the value has at maximum a single decimal, then rename the element navigationAccuracy into requiredNavigationPerformance
    • [MAPC-06] if the value has two decimals, then from the three backward mapping options available in this case, the first two (discard the value or use an extension) are straightforward and do not need any further details. The 3rd option (backward mapping into a Note) is detailed in order to provide a complete description of this case and its conversion option. The following mapping into Note algorithm is proposed:
      • Add an annotation.Note associated with the ApproachCondition having:
        • purpose=“OTHER:BACKWARD_MAPPING”;
        • LinguisticNote.note=“navigationAccuracy: <value of navigationAccuracy>”
        • propertyName =”requiredNavigationPerformance”
      • Remove the navigationAccuracy child element.

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)
<pre>
  ...</pre>





<pre>
...</pre>