Skip to content

Model extensions: A, B, C

Level A specification

DATEX II v3 delivers a data mode also called “Level A data model” which is the result of studies on data which are shared by a lot of users in Europe. Nevertheless, there will be situations where data concepts required by a specific user are missing in the Data Dictionary, for example because they only make sense in a National context. In this case, these users are expected to provide an extension to the model (named “level B”) that provides the missing concepts. Users are allowed to apply a limited set of well-defined UML mechanisms for these level B extensions, which then still maintain technical interoperability with standard DATEX II systems. This means that standard (i.e. level A) compliant systems will still be able to process publications generated from an extended model, of course without being able to process the extension content. Specialised clients can process the full content – including the extension – but of course can also process standard (i.e. level A) publications. The main principle of level B is thus that users find the level A model appropriate for a large part of their publications. This may not be the case if entirely new concepts outside the scope of the level A model are introduced. In this scenario, DATEX II users are still expected to apply the modelling rules and the UML profile described in the standards, which will provide them with a basic level of interoperability. These models are denoted as “level C”. Implementations that provide publications according to level C extensions cannot expect to be interoperable with standard level A systems.

The extended model - "Level B" Extension mechanisms

Although the “A” model is rich, over time there will always be cases where new applications, both at national and international level, will want to add additional concepts and attributes to the existing models. To cater for this future proofing aspect of the modelling it is desirable to have a formal mechanism by which the “A” model can be extended. For these new applications requiring extensions to the “A” model, the concept of Level B compliance has been created. This will allow development of specific models that will enrich the “A” model with additional, application specific information. These models/applications will remain interoperable with “A” model compliant suppliers/consumers: they can exchange objects structured according to these enriched models. Suppliers/consumers that want to make full use of the information defined by these extensions to the “A” model will need additional software or metadata driven software to handle the additional application specific information. A registration process for level B model extensions is available on the DATEX II website, under the authority of the DATEX TMG. Once an extension achieves a major degree of consensus it would become a candidate to be absorbed into a new version of the formal DATEX II level A.

Level C Extensions

Using the DATEX II concepts within different contents – “Level C” Users and Models - after consideration of Level A and Level B compliance rules some users within the ITS domain may still find that there is no way that their specific data models can be accommodated. They are just too different from the Level A model or else cover completely different contents. That’s why the concept of “level C” has been created. Level C implementations are to be considered as not compliant with the DATEX II Level A/B content models. However, they are to be compliant in all other aspects of the DATEX II specifications. Obviously these Level C compliant systems would not be interoperable with Level A compliant systems, but at least they would use common modelling rules and common exchange protocols. This would allow opportunities for the exchange of ideas and modelled concepts which may in the future lead to common model elements facilitated via some sort of model registration process. It will also permit many helpful software tools to be used with Level C compliant contents.

Note

For more in depth information on extensions go to the extension guide.

Go back to the previous page