[AIXM-490] Revision of the multiple identification of circling procedures
ID: | AIXM-490 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 18 MAY 2021 |
status: | PROPOSED |
Description
The circlingIdentification of the InstrumentApproachProcedure is deleted. The data type of the multipleIdentification is changed to also allow numerical values. A circlingOnly attribute is added in the InstrumentApproachProcedure.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-251
The InstrumentApproachProcedure has both a multipleIdentification and circlingIdentification attributes, which have the same list of values A-Z and allow coding the suffix used to distinguish between multiple procedures of the same kind and for the same runway landing and take-off direction. There are no known examples of procedures that would need both identifiers. A circling only procedure could still use the multipleIdentification attribute. Therefore, the circlingIdentification attribute is not necessary and can be removed from the model. Instead, a new attribute with yes/no values is introduced to indicate that the procedure is a circling only.
The second issue concerns the list of values of the multipleIdentification attribute, which currently allows only A...Z. There exist examples of procedures where the multiple identifier has a numerical value, such as “1”, “2”, etc. This is also the case in ARINC 424 for the Multiple Approach Indicator in the 5th character of the Procedure Ident field of PF records, which is Alphanumeric (or Blank). Therefore, the data type of the multipleIdentification is changed from CodeUpperAlphaType into a new CodeUpperAlphanumericType.
Impact assessment
[FWD_MAP_LOSS] Data mapping is possible, but some data would be lost (or converted into Notes) 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_LOSS] Data mapping is possible, but some data would be lost (or converted into Notes) 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 data type CodeUpperAlphanumericBaseType (specialisation of string type, stereotype <<codelist>>, definition: “An uppercase letter or a digit”), list of values:
- A
- B
- C
- D
- …
- Z
- 1
- 2
- 3
- …
- 9
- Add a new data type CodeUpperAlphanumericType (specialisation of CodeUpperAlphanumericBaseType, 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 InstrumentApproachProcedure:
- delete the circlingIdentification attribute
- add a new circlingOnly attribute, data type CodeYesNoType, definition = “An indication that the procedure has circling only minima”.
- change the data type of the multipleIdentification to use the new CodeUpperAlphanumericType;
The following UML class diagram shows the changed properties and data types:
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
[MAPC-00] The following algorithm shall be applied:
- For each InstrumentApproachProcedure that has a circlingIdentification value:
- if the multipleIdentification has a value (which is very unlikely), then add an annotation.Note associated having
- purpose=“OTHER:BACKWARD_MAPPING”;
- property= “multipleIdentification”
- LinguisticNote.note=”multipleIdentification:<value of the multipleIdentification>”
- copy the value of the circlingIdentification as multipleIdentification;
- remove the circlingIdentification element.
- if the multipleIdentification has a value (which is very unlikely), then add an annotation.Note associated having
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-02] The following algorithm shall be applied:
- For each InstrumentApproachProcedure that has a circlingOnly value or a multipleIdentification value that is not ‘A...Z’:
AIXM 5.2 mutipleIdentification | AIXM 5.2 circlingOnly | AIXM 5.1(.1) multipleIdentification | AIXM 5.1(.1) circlingIdentification |
A...Z | Yes | NIL | copy the value of the multipleIdentification |
1...9 | Yes | NIL | copy the value of the multipleIdentification and prefix it with “OTHER:” |
A...Z | No or OTHER: | A...Z | add an annotation.Note associated with ● purpose=“OTHER:BACKWARD_MAPPING”; ● property= “circlingIdentification” ● translatedNote.LinguisticNote.note=”circlingOnly:<value of the circlingOnly>” |
1...9 | No or OTHER: | OTHER:1...9 | add an annotation.Note associated with ● purpose=“OTHER:BACKWARD_MAPPING”; ● property= “circlingIdentification” ● translatedNote.LinguisticNote.note=”circlingOnly:<value of the circlingOnly>” |
A...Z | NIL | A...Z | NIL |
1...9 | NIL | OTHER:1...9 | NIL |
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) |
---|---|