In April 2016, so quite a couple of months ago, AIXM 5.1.1 has been released as a minor update of the AIXM 5.1 version, which itself was already out there for 6 years. Although a recommendation is given on the official Aeronautical Information Exchange Model web site (aixm.aero) to use the new version as soon as possible, we haven’t seen any AIXM 5.1.1 data exchange file on the market yet. In this article we will try to find the reasons for this kind of resilience.
Changes and Impact
The changes made in this version can be grouped into the following three categories:
1. UML model corrections and improvements
The changes falling into this category (such as migration to a new modelling environment, improved definitions, add missing associations or role names) are kind of editorial changes.
So the first category has no impact on the XML Schema (i.e. the data exchange format).
2. Domain model changes
Some codelist values in AIXM 5.1 have a space (blank character) either in the middle of the value or at its end. These typing errors have been corrected by removing the empty space characters. Also other spelling errors that affect entries in list of values for data types (e.g. “VFR_RVMS” should be “VFR_RVSM”) are corrected with AIXM 5.1.1.
These misspelled codelist values are used by relatively remote areas of the model, which are likely to have actually been used by very few implementations, if at all. Therefore, only a very limited number of implementations will be affected by this category of changes.
3. XML Schema corrections
The AIXM 5 model incorporates a couple of information engineering standards like GML (Geography Markup Language), Geospatial metadata (ISO 19115) and XLink (XML Linking Language). Starting with AIXM 5.1.1 these external schema definitions are no longer copied locally, they are referred to from their reference web sites. This change was necessary, because some of the copied schema definitions were already outdated and needed to be aligned with more up-to-date definitions. This is also to avoid schema import conflicts when using AIXM for OGC WFS (Web Feature Service) implementations.
The corresponding AIXM 5.1.1 change proposal document concludes that there is no impact on existing AIXM 5.1 implementations, because the only XLink item used in AIXM (xlink:href) is identical in the old and new schema definition.
So has AIXM 5.1.1 really no or just very limited impact on existing implementations?
The AIXM web site states: “AIXM 5.1.1 is fully compatible, at data set level, with the previous AIXM 5.1 version. This means that data can be converted forwards/backwards between the two versions without any data loss.”
Even two XSLT (XSL Transformation) files are provided to demonstrate the conversion of an AIXM 5.1 data set into a valid AIXM 5.1.1 data set and vice-versa.
The problem from my point of view is that both, the above cited compatibility statement and the conversion scripts, are just taking the second category of changes (Domain model changes) into account.
If you try to tackle the XML Schema corrections as well, things don’t stay as trivial as converting the string “VFR_RVMS” to “VFR_RVSM”…
I have identified two major issues on my journey from AIXM 5.1 to AIXM 5.1.1:
1. AIXM extensions
Data sets that make use of an AIXM extension (e.g. Event extension, Eurocontrol eASM extension, etc.) can’t be converted to AIXM 5.1.1, unless the underlying extension schema is migrated to the new AIXM version.
As none of the well-known AIXM extensions have been updated to AIXM 5.1.1 and made available so far, it is clear that we currently don’t see any AIXM 5.1.1 file in operation.
2. Model driven implementations
Even if most AIXM features are identical between 5.1 and 5.1.1, the fact that most of them use xlink:href from different schema definitions (xlink.xsd versus xlinks.xsd) makes them technically different. If someone tries to generate code from AIXM 5.1.1, it will be different from the code generated from the AIXM 5.1 schema.
So existing implementations, which rely on code generated from the AIXM 5.1 schema (and I guess it is the majority of them on the market), can’t easily adapt to exchange AIXM 5.1.1 based data sets.
Sample data set
To end this “nutshell” article with some positive information, I want to announce that we have migrated the Donlon data set (a fictitious AIXM data set) to AIXM 5.1.1. It is currently provided just in our SOLITEC github repository (https://github.com/solitec/donlon/tree/aixm-511), but will be soon taken on board at the official location of the Donlon data set for further maintenance (https://github.com/aixm/donlon).
It was not a big deal, but we see this little contribution as a kind of nutcracker for adapting to change.