Mapping of data concepts to the matching AIRM concepts
The mapping of a data concept shall contain a trace from the data concept in the information definition to the AIRM concept that has an equivalent or wider meaning and a trace to the data type in the AIRM that has an equivalent or wider meaning.
This includes a basic trace to establish the semantic correspondence between concepts. Without such a trace the mapping is pointless.
The requirement adds a second trace for data concepts, as the constraint on value space expressed by the data type is also important to the semantics.
Example: An example is an information definition contains a data concept called “Target Startup Approval Time” that is a time.Two traces are needed for this mapping:
- one trace to the AIRM concept called “StartUp”; and
- one trace to the AIRM data type called “DateTime”.
Note: In cases where the trace is to an AIRM concept that has a wider meaning, SWIM-INFO-018 also applies. An example of a trace to an AIRM concept with a wider meaning can be found in SWIM-INFO-018.
Note: It may be possible to combine these traces into one single statement depending on the tracing techniques adopted.
Note: This requirement implies that implementations using technology that provides no typing (for example, JSON) will need to specify the applicable value range constraints at design time relative to the AIRM data type to demonstrate semantic correspondence.
Note: SWIM-INFO-019 requires the use of the AIRM’s unique identifiers in traces.
Level of Implementation
This requirement covers the mapping of data concepts. This requires two traces as shown below.
The Using the AIRM page gives a summary on how to start using the AIRM for semantic correspondence purposes.
The first trace, at the data concept level, is similar to that explained in SWIM-INFO-016 Mapping of information concepts.
The second trace is particular to data concepts. This trace still concerns the semantics of the data types being mapped to each other. However, it is important to bear in mind the requirement on the compatibility of data types - that requirement will make data concept traces much easier.
It is usually easy to spot exact matches when tracing data types. The skill is when they do not match exactly. Some things then need to be considered.
- The specification talks about an "equivalent" meaning. This allows some differences in the data types.
- The specification talks about a "wider" meaning.
- The requirement on the compatibility of data types explains that the compatibility of data types can be achieved in several ways
- by "casting" of data types. This, for example, means that a numeric data type can always be regarded as a string. This means a trace can be established when the information definition's data type can be cast to the AIRM data type.
- likewise a string of length 4 can always "fit" a string of length 32.
It is also possible to rule out some traces:
- When the information definition's data type has a wider, more general, meaning no trace can be made. This may mean:
- the data concept mapping is wrong. In effect, the data concept is not the same as the AIRM concept.
- a change request may be considered if the AIRM data type is too restrictive.
If you discover the AIRM concept you are using in the mapping does not have a data type, you are probably looking at the conceptual model but you should be looking at the logical model. Data concepts and their data types are found in the AIRM Logical Model. See the Using the AIRM page for more details on this.
[ ] Each trace from the data concept in the information definition is to the AIRM concept that has an equivalent or wider meaning.
[ ] Each trace from the data type in the information definition is to the AIRM data type that has an equivalent or wider meaning.
The following example shows how the trace could look in XML Schema. The trace is to the AIRM concept. An further trace has been added to record the dataType tracing.
<xs:element name="aircraftIdentification" type="don:AircraftIdentification" id="ICAOFlightIdentification.aircraftIdentification" minOccurs="1" maxOccurs="1">
<xs:documentation>Name used by ATS units to identify and communicate with the aircraft.</xs:documentation>