[AIXM-559] AirspaceBorderCrossing becomes an Object
ID: | AIXM-559 |
target version: | AIXM 5.2 |
version: | 1.0 |
last updated: | 28 SEP 2022 |
status: | APPROVED |
Description
The stereotype of AirspaceBorderCrossing is changed from <<Feature>> to <<Object>>.
Rationale for change
See: https://aixmccb.atlassian.net/browse/AIXM-125
It was identified that AirspaceBorderCrossing shall be of stereotype <<Object>> rather than <<Feature>>. The stereotype is therefore changed and the backward mapping is possible assuming that <<Object>> AirspaceBorderCrossing has a UUID allocated that can be reused for <<Feature>> AirspaceBorderCrossing.
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:
- Change the stereotype of AirspaceBorderCrossing to <<object>>
- change the relationship FlightConditionElementChoice to AirspaceBorderCrossing into a composition. Preserve the role name and the multiplicity on the AirspaceBorderCrossing side. Remove the multiplicity on the FlightConditionElementChoice side.
Mapping AIXM 5.1.1 to AIXM 5.2 (forward)
[MAPC-07]
The elements of deleted <feature> AirspaceBorderCrossing can be mapped 1:1 into the new <object> AirspaceBorderCrossing. However, new TimeSlice(s) might need to be created in the timeline of the features that own the PointReference <object>.
- For each instantiated hasMember feature object a timeSlice will wrap the object with start date and end date information. This is the AIXM baseline and not depicted in the diagrams. The timeline of the feature might need to be adapted through the creation of additional TimeSlice (new and/or corrections), as described in the [AIXM-400] Forward-Backward mapping strategy.
- During forward mapping to facilitate future backward mapping, when a feature of 5.1.1 is converted to an object in 5.2 the gml:identifier of the object will be set to the originating gml:identifier
For each FlightConditionElement
- Identify all AirspaceBorderCrossing object elements referred to by a xlink:href
- Copy AirspaceBorderCrossing and its child elements structure within .borderCrossingCondition
- Set the <<object>> AirspaceBorderCrossing gml:id to the original <<feature>> AirspaceBorderCrossing gml:identifier UUID value. This UUID value will be used for Backward Mapping.
- Remove the AirspaceBorderCrossing TimeSlice
Remove the original AirspaceBorderCrossing feature element
Mapping AIXM 5.2 to AIXM 5.1.1 (backward)
[MAPC-07]
1:1 backward mapping can be performed assuming that <<object>> AirspaceBorderCrossing has a UUID allocated.
Find each FlightConditionElement object which contains a AirspaceBorderCrossing object
- Create a new AirspaceBorderCrossing feature.
- Copy the child elements of AirspaceBorderCrossing object into the AirspaceBorderCrossing feature
- Use the gml:identifier of AirspaceBorderCrossing object to set the gml:identifier and gml:id of AirspaceBorderCrossing feature
- Remove the AirspaceBorderCrossing object elements
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) |
---|---|