[AIXM-545] Remove BOTH as RouteAvailability direction value
ID: | AIXM-545 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 08 AUG 2022 |
status: | APPROVED |
Description
A new data type is introduced to address the withdrawal of value BOTH in RouteAvailability.direction.
Rationale for change
See https://aixmccb.atlassian.net/browse/AIXM-426
It was identified that value = BOTH may be misleading and is viewed as useless in RouteAvailiability class as route directions have anyhow different flight level series.
Therefore, a new data type CodeRouteDirectionBaseType is introduced to allow only FORWARD/BACKWARD values being coded. The CodeRouteDirectionBaseType will replace CodeDirectionBaseType for RouteAvailiability.direction.
The GuidanceLine.usageDirection is not impacted as it will continue using CodeDirectionBaseType.
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_1:1] No data mapping is necessary 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 the following data type:
- CodeRouteDirectionBaseType (stereotype <<codelist>>, definition: “A code indicating a 1-dimensional direction of route, for example, forward or backward.”, with the following list of values:
- FORWARD, type = string, definition = “”
- BACKWARD, type = string, definition = “”
- OTHER, type = string, definition = ”Other”
- CodeRouteDirectionType (specialisation of CodeRouteDirectionBaseType, 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 RouteAvailiability class
- Replace the data type for direction for “CodeRouteDirectionType”
The following UML class diagram shows the data type change:
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
The following algorithm shall be applied:
[MAPC-00] For each RouteSegment or AerialRefuelling that has a child RouteAvailability element with direction = ‘BOTH’:
- Replace that RouteAvailability element with two separate RouteAvailability elements, one having direction = ‘FORWARD’ and another one having direction =‘BACKWARD’ and copy all the remaining RouteAvailability child elements and their eventual descendants to both of them.
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
Not applicable
Mapping example
(Note: for mapping test data see: https://github.com/aixm/mapping_52_511/tree/master/AIXM-xxx)
AIXM Input | AIXM Output |
---|---|