Panel | ||
---|---|---|
| ||
|
Requirement
Expand | |||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| |||||||||||||||||||||||||
|
Guidance
This requirement covers the mapping of data concepts. This requires two traces as shown below.
Info |
---|
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.
...
- The specification talks about an "equivalent" meaning. This allows some differences in the data types.
- The requirement on the compatibility of data types gives good examples of there where the data types can be considered as equivalent.
- 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.
- 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.
- The requirement on the compatibility of data types explains that the compatibility of data types can be achieved in several ways
...
- When the information definition's data type has a wider, more general, meaning no trace can be made. This may mean:
- The
- the data concept mapping is wrong. In effect, the data concept is not the same as the AIRM concept. A
- a change request may be considered if the AIRM data type is wrong
- too restrictive.
Examples
- simple mapping e.g. characterString and numeric
- complex mapping such as estimated take-off time
- geometries as a way to better explore compatibility.
How to read the AIRM to find the data types etc. Maybe an annex to the supporting material. Where should I start e,g, LM or IM.
- Information concepts are in the IM.
- Data concepts and their Datatypes are in the LM
- Basic type semantics are in the Foundation.
Two use cases - place at the root of this semantic correspondence section:
- technical - near service developers - use LM
- operational - e.g. for information exchange requirements - use IM.
Other notes
- if you have a data type but the AIRM does not you are probably in the wrong AIRM part. Consider looking at the LM.
- add more on the compatibility story.
SEE COMPLIANCE HANDBOOK FOR IDEAS
Note |
---|
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. |
Verification Support
Correctness
Check that:
[ ] 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.
Examples
...
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.
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
<gmd:title> guess what </gmd:title><xs:element name="aircraftIdentification" type="don:AircraftIdentification" id="ICAOFlightIdentification.aircraftIdentification" minOccurs="1" maxOccurs="1"> <xs:annotation> <xs:documentation>Name used by ATS units to identify and communicate with the aircraft.</xs:documentation> <xs:documentation> <semanticCorrespondence> <mapping> <trace type="dataConceptTrace">urn:aero:airm:1.0.0:LogicalModel:Subjects:Flight:FlightIdentifier:AircraftIdentification</trace> <trace type="dataTypeTrace">CharacterString</trace> </mapping> </semanticCorrespondence> </xs:documentation> </xs:annotation> </xs:element> |