RailML

Last updated
Railway Markup Language
RailML headr.png
Logo of railML file format
Filename extensions
.railml, .railmlx
Internet media type application/xml, text/xml, application/zip
Developed byrailML.org; Dresden / Germany
Initial release22 December 2005 (2005-12-22)
Latest release
3.2
26 April 2022;18 months ago (2022-04-26)
Type of formatRailway exchange format
Extended from XML
Standard Industry standard
Open format?No, CC BY-NC-ND with restrictions
Website www.railml.org

railML (Railway Markup Language) is a proprietary freeware XML Schema-based data exchange format for data interoperability of railway applications. [1]

Contents

Motivation

Advantage of a universal exchange format InterfacesComparisonRailML.pdf
Advantage of a universal exchange format

The growing number of computer applications modeling different aspects of railway operations, with different operators developing separate solutions parallelly, bore a chronic difficulty of connecting different railway IT applications. [1] The exchange of data for operation concepts, slot management, simulation or infrastructure planning, etc. was possible either by hand or with a lot of special developed interfaces with loss of time and cost problems for railway companies. [2] If there are n applications that are supposed to exchange data, with a special interface for each pair of programs respectively, interfaces are required — only one, if n=2, but 10, if n=5 — increasing the complexity above average. [1]

This problem can be mitigated by means of enterprise application integration [1] with a single, universal exchange format that is supported by all applications and meets the needs of all kinds of data exchange in the field of railway operation: The number of required interfaces decreases to n — one interface to the exchange format for each application respectively. railML tries to place at disposal a free and self-describing format close to existing standards. [2] The paradigm is to meet the demands of the data exchange processes of railways, industry and authorities rather than describing the complete railway system. [3]

Outline

History

The development of railML was initiated in early 2002 by the Fraunhofer-IVI (Dresden, Germany) and the ETH Zürich – IVT (Zurich, Switzerland) against the background of the chronic difficulty of connecting different railway IT applications. [4] railML is changed and adapted to the needs of railway infrastructure managers (IMs) and railway undertakings (RUs) within discussions. [2] [5] The first stable version 1.0 was released in 2005 for productive usage. [3] Up to now the versions 1.0; 1.1; 2.0 to 2.5 were released for download and productive use. railML's version 3 with a new topology model based on RailTopoModel and other evolutions was under development since mid 2015 to be released as beta in mid 2016 [6] and finally released with 3.1 for productive use in February 2019 and evolved to 3.2 in 2022. In 2015 a viewer and validator programme for railML data named railVIVID was released.

Working principle

railML (railway mark-up language) is a common exchange format, which employs XML for the description of rail-specific data. railML enables the exchange of railway data between internal and external railway applications. railML is developed within the so-called “railML consortium” from railML.org. The model language of railML is UML and the documentation language is English. Every railML developer and user is invited to contribute or propose scheme extensions.

Applications can exchange data via railML either via exporting respectively importing railML files, or as a direct inter-process communication via TCP/IP. [7]

Licensing and pricing

The usage of railML is possible at no charge as long as users register at railML.org, do not redistribute or modify the code, and do not use railML commercially. It is a free data exchange format but not open due to being licensed under a heavily restricted and non-permissive Creative Commons license.

Versions 0.x and 1.x were licensed under a proprietary license, where version 0.x was intended only for internal use and shared within the consortium. [8]

Version 2.0 to 2.2 used to be licensed with the Creative Commons license CC-BY-NC-SA until June 2013. Since July 2013 all versions from 2.0 onward were offered parallelly either with a commercial usable CC-BY-ND (V 3) license or with a restricted CC-BY-NC-ND (V 3) license. The organization behind railML claims that the restrictions preventing redistribution and modifications are for quality control purposes, the means of which is requiring application developers to purchase a certification. [8]

Version 3.x is licensed under the same Creative Commons conditions, but in CC version 4.0. With this railML.org adapts the enhancements made by CC and garanties schema user the same usage rights as in previous years and railML versions. [9]

The Logo and the word railML are a registered as trademarks by the railML consortium at the EUIPO. [8]

Legal entity for the so-called railML consortium is the railML.org e.V. a registered non-profit association by German law (registration number VR 5750 at the local court in Dresden/Germany) since April 23, 2012.

railML schemes

railML is based on XML and sub-areas use other existing XML-schemes such as MathML and GML. It is composed of sub-schemes. Through version 2.4, three sub-schemes are in productive use:

Since railML version 3.1 an additional sub-scheme was introduced due to the demand of the community:

Additional sub-schemes are station facilities (ticket machines, waiting rooms, vending machines, etc.) or crew rostering (shift planning/rosters and working time management for conductors, etc.) are currently on hold, as there is no demand from the users.

Timetable

This sub-schema serves the exchange of detailed timetables. Particularly, the schema is designed for the following information: [10]

Infrastructure

The focus of this sub-schema is the infrastructure of railway networks. [11] Important aspects are:

Rolling stock

While the Infrastructure sub-schema is focused on immobile assets, Rolling stock describes assets circulating in the network. [12]

Interlocking

Code example

Example for a time table formulated in railML [3]

<?xml version="1.0" encoding="UTF-8"?><railmlxmlns:xsi="http://www.w3.org/2000/10/XMLSchema-instance"xsi:noNamespaceSchemaLocation="timetable.xsd"><timetableversion="1.1"><traintrainID="RX 100.2"type="planned"source="opentrack"><timetableentries><entryposID="ZU"departure="06:08:00"type="begin"/><entryposID="ZWI"departure="06:10:30"type="pass"/><entryposID="ZOER"arrival="06:16:00"departure="06:17:00"minStopTime="9"type="stop"/><entryposID="WS"departure="06:21:00"type="pass"/><entryposID="DUE"departure="06:23:00"type="pass"/><entryposID="SCW"departure="06:27:00"type="pass"/><entryposID="NAE"departure="06:29:00"type="pass"/><entryposID="UST"arrival="06:34:30"type="stop"/></timetableentries></train></timetable></railml>

Line 3 expresses that the employed railML-version is 1.1.

Line 4 bears the train code.

Lines 5 and 15 frame the itinerary with, in this case, 8 itinerary entries.

The itinerary entries in line 6 to 14 have arguments like position ID (e.g. a station), time of departure or arrival, and in line 9 an obligation to stop.

Versions

VersionRelease date [3] Supported until [8] Licence [8] Comment
Old version, no longer maintained: 0.x2002–2005December 2005No (internal usage only)beta version timetable
Old version, no longer maintained: 1.0December 2005June 2013proprietaryFirst practical experience
Old version, no longer maintained: 1.1November 2007June 2013proprietary
Old version, no longer maintained: 2.0November 2009March 2017restricted CC-BY-ND 2.0
Old version, no longer maintained: 2.1July 2011March 2017restricted CC-BY-ND 2.0Downwardly compatible with V2.0
Old version, no longer maintained: 2.2June 11, 2013 [13] June 30, 2021 [14] restricted CC-BY-NC-ND 3.0Downwardly compatible with V2.1-V2.0
Older version, yet still maintained: 2.3March 10, 2016June 30, 2024 [15] restricted CC-BY-NC-ND 3.0Predominant downward compatible with V2.2-V2.0
Older version, yet still maintained: 2.4October 7, 2018restricted CC-BY-NC-ND 3.0Predominant downward compatible with V2.3-V2.0
Current stable version:2.5September 1, 2021 [16] restricted CC-BY-NC-ND 3.0Predominant downward compatible with V2.4-V2.0
Also adopted as an ISO 4398:2022 standard [17]
Old version, no longer maintained: 3.0October 31, 2017 [18] February 19, 2019 [19] No (internal usage only)based on UIC's RailTopoModel V1.1
Older version, yet still maintained: 3.1February 19, 2019 [19] restricted CC-BY-NC-ND 4.0based on RailTopoModel V1.2
Infrastructure and Signalling data only
Current stable version:3.2April 26, 2022 [19] restricted CC-BY-NC-ND 4.0based on RailTopoModel V1.4
added support of Timetable and Rolling stock data
Future release: 3.3≥ 2023restricted CC-BY-NC-ND based on RailTopoModel
Future release: 3.4not yet decidedrestricted CC-BY-NC-ND based on RailTopoModel
Legend:
Old version
Older version, still maintained
Latest version
Latest preview version
Future release

Usage of railML data

At the beginning the most employed usage of railML data was timetable data [4] for passenger information, duty planning for conductors and drivers and timetable simulation, following the usage of railML data for interlocking planning and infrastructure like network statements of IM's.

Computer programmes

Applications using railML version 2.x include a lot of timetable related programmes like OpenTrack (interactive railway simulator [20] ), FBS (planning software for railway operation [21] ), Viriato (scheduling system [22] ) and OpenTimeTable (real time analysis of network operation data [23] ). Applications using railML version 3.x include additionally BIM related infrastructure planning software like VIS All 3D [24] or railway survey systems like GPSinfradat. [25]

A complete list of programmes with (certified) interfaces is available at railML's website of compatible applications.

railVIVID

railVIVID is a free tool provided by UIC and railML.org to validate railML files of version 2.x or higher and to show the content of railML files in some special views. The intention of the tool is to allow less technical users access to data described in railML. Therefore, some sights of railway data can be shown, copied and printed with railVIVID: [26]

railVIVID is available via railML's website under terms similar to those of the railML schema. There are binary versions for Microsoft Windows and Java, also the source code was published in Autumn 2015 under the EUPL licence. [27]

railML.org initiative

The development of railML is driven by the railML.org – Initiative, a development partnership of independent companies and organizations and European railways. The participation on the development and semi-annual conferences to exchange experience and discuss basics is open. The continuous development work is mainly internet-based (German and English forums). The organisation of the discussions is managed by so-called railML Coordinators. The railML.org Consortium membership is mandatory for the download and usage of railML schemes. Obtaining a commercial certification is required before any commercial or productive use of software interfaces for the format. [28]

Members

Members of railML.org are currently: [29]

A complete and updated list is published at the website of railML.org community.

Cooperations

railML.org works in the ERIM (abbreviation for European Rail Infrastructure Masterplan [30] ) project of the International Union of Railways (UIC) for the development of RailTopoModel as a common data model in the railway sector. [31] Also railML.org cooperates with Eurocontrol and European Union Agency for Railways.

Related Research Articles

<span class="mw-page-title-main">Geography Markup Language</span> XML grammar for geographical features

The Geography Markup Language (GML) is the XML grammar defined by the Open Geospatial Consortium (OGC) to express geographical features. GML serves as a modeling language for geographic systems as well as an open interchange format for geographic transactions on the Internet. Key to GML's utility is its ability to integrate all forms of geographic information, including not only conventional "vector" or discrete objects, but coverages and sensor data.

A user interface markup language is a markup language that renders and describes graphical user interfaces and controls. Many of these markup languages are dialects of XML and are dependent upon a pre-existing scripting language engine, usually a JavaScript engine, for rendering of controls and extra scriptability.

WITSML is a standard for transmitting technical data between organisations in the petroleum industry. It continues to be developed by an Energistics facilitated Special Interest Group to develop XML standards for drilling, completions, and interventions data exchange. Organizations for which WITSML is targeted include energy companies, service companies, drilling contractors, application vendors and regulatory agencies.

The Association for Retail Technology Standards (ARTS) is an international standards organization dedicated to reducing the costs of technology through standards. Since 1993, ARTS has been delivering application standards exclusively to the retail industry. ARTS has four standards

GeoSciML or Geoscience Markup Language is a GML Application Schema that can be used to transfer information about geology, with an emphasis on the "interpreted geology" that is conventionally portrayed on geologic maps. Its feature-type catalogue includes Geologic Unit, Mapped Feature, Earth Material, Geologic Structure, and specializations of these, as well as Borehole and other observational artefacts. It was created by, and is governed by, the Commission for the Management and Application of Geoscience Information (CGI) to support interoperability of information served from Geologic Surveys and other data custodians. It will be used in the OneGeology project, an effort to create a geological map of the entire Earth, served live by merging data from many national geological surveys.

The Microsoft Office XML formats are XML-based document formats introduced in versions of Microsoft Office prior to Office 2007. Microsoft Office XP introduced a new XML format for storing Excel spreadsheets and Office 2003 added an XML-based format for Word documents.

TransXChange is a UK national XML based data standard for the interchange of bus route and timetable information between bus operators, the Vehicle and Operator Services Agency, local authorities and passenger transport executives, and others involved in the provision of passenger information.

The Standard Interface for Real-time Information or SIRI is an XML protocol to allow distributed computers to exchange real-time information about public transport services and vehicles.

Transmodel is the CEN European Reference Data Model for Public Transport Information; it provides a conceptual model of common public transport concepts and data structures that can be used to build many different kinds of public transport information system, including for timetabling, fares, operational management, real time data, journey planning etc.

<span class="mw-page-title-main">Journey planner</span>

A journey planner, trip planner, or route planner is a specialized search engine used to find an optimal means of travelling between two or more given locations, sometimes using more than one transport mode. Searches may be optimized on different criteria, for example fastest, shortest, fewest changes, cheapest. They may be constrained, for example, to leave or arrive at a certain time, to avoid certain waypoints, etc. A single journey may use a sequence of several modes of transport, meaning the system may know about public transport services as well as transport networks for private transportation. Trip planning or journey planning is sometimes distinguished from route planning, which is typically thought of as using private modes of transportation such as cycling, driving, or walking, normally using a single mode at a time. Trip or journey planning, in contrast, would make use of at least one public transport mode which operates according to published schedules; given that public transport services only depart at specific times, an algorithm must therefore not only find a path to a destination, but seek to optimize it so as to minimize the waiting time incurred for each leg. In European Standards such as Transmodel, trip planning is used specifically to describe the planning of a route for a passenger, to avoid confusion with the completely separate process of planning the operational journeys to be made by public transport vehicles on which such trips are made.

CAEX is a neutral data format that allows storage of hierarchical object information, e.g. the hierarchical architecture of a plant. On a certain abstraction level, a plant consists of modules or components that are interconnected. CAEX allows storage of those modules or components by means of objects. Object oriented concepts such as encapsulation, classes, class libraries, instances, instance hierarchies, inheritance, relations, attributes and interfaces are explicitly supported. CAEX bases on XML and is defined as an XML schema. The original intention of developing CAEX was to remedy industry's lack of a common and established data exchange between process engineering tools and process control engineering tools. However, CAEX can be applied to all types of static object information, e.g. plant topologies, document topologies, product topologies, petri nets. It can also be used for non-technical applications like phylogenetic trees.

Content Assembly Mechanism (CAM) is an XML-based standard for creating and managing information exchanges that are interoperable and deterministic descriptions of machine-processable information content flows into and out of XML structures. CAM is a product of the OASIS Content Assembly Technical Committee.

In computing, Open Data Protocol (OData) is an open protocol that allows the creation and consumption of queryable and interoperable Web service APIs in a standard way. Microsoft initiated OData in 2007. Versions 1.0, 2.0, and 3.0 are released under the Microsoft Open Specification Promise. Version 4.0 was standardized at OASIS, with a release in March 2014. In April 2015 OASIS submitted OData v4 and OData JSON Format v4 to ISO/IEC JTC 1 for approval as an international standard. In December 2016, ISO/IEC published OData 4.0 Core as ISO/IEC 20802-1:2016 and the OData JSON Format as ISO/IEC 20802-2:2016.

NeuroML is an XML based model description language that aims to provide a common data format for defining and exchanging models in computational neuroscience. The focus of NeuroML is on models which are based on the biophysical and anatomical properties of real neurons.

The Sensor Observation Service (SOS) is a web service to query real-time sensor data and sensor data time series and is part of the Sensor Web. The offered sensor data consists of data directly from the sensors, which are encoded in the Sensor Model Language (SensorML), and the measured values in the Observations and Measurements encoding format. The web service as well as both file formats are open standards and specifications of the same name defined by the Open Geospatial Consortium (OGC).

NeTEx is the CEN Technical standard for exchanging Public Transport Information as XML documents. It provides a W3C XML schema based on the Transmodel abstract model of common public transport concepts and data structures and can be used to exchange many different kinds of data between passenger information systems, including data describing for stops, facilities, timetabling and fares. Such data can be used by both operational management systems and customer facing systems for journey planning etc.

RailTopoModel is a systemic data model for describing the topology-based railway infrastructure as needed by various applications. The RailTopoModel has been initially developed under patronage of the International Union of Railways (UIC) and was released as International Railway Standard (IRS) 30100 in April 2016. It has been described as a common data model for the railway sector. RailTopoModel is currently continued by UIC as RailSystemModel, a re-branding resulting from the extension of its scope. On the other hand, RTM development went on as a fork iniitated by the railML community and managed by the organisation railML.org.

A common data model (CDM) can refer to any standardised data model which allows for data and information exchange between different applications and data sources. Common data models aim to standardise logical infrastructure so that related applications can "operate on and share the same data", and can be seen as a way to "organize data from many sources that are in different formats into a standard structure".

References

  1. 1 2 3 4 , p. PA4, at Google Books
  2. 1 2 3 "RailTopoModel and railML®" (PDF). uic.org. Retrieved 2016-01-26.
  3. 1 2 3 4 "Daten für PSItraffic: Standardisiertes Datenmanagement mit railML® und dem UIC RailTopoModel" (PDF). psitrans.de. Archived from the original (PDF) on 2016-03-06. Retrieved 2015-10-20.
  4. 1 2 Nash, Andrew; Huerlimann, Daniel; Schuette, Joerg; Kolmorgen (Krauss), Vasco Paul (2004). RailML – A standard data interface for railroad applications (PDF). Dresden: Proc. of the 9th International Conference on Computer in Railways (Comprail IX), WIT Press, Southampton, United Kingdom.
  5. , p. PA5, at Google Books
  6. "5th UIC RailTopoModel and railML® Conference" (PDF). railML. 2016-02-01. p. 29. Archived from the original (PDF) on 2019-02-09. Retrieved 2017-05-06.
  7. , p. PA6, at Google Books
  8. 1 2 3 4 5 "Licence – railML.org (EN)". railml.org. Retrieved 2023-05-25.
  9. Augele, Vivian (2019-01-29). "railML Licence: Minor Changes come with railML3". www.railML.org. railML.org; Dresden/Germany. Retrieved 2019-03-23.
  10. "Timetable – railML.org (EN)". railml.org. Retrieved 2016-01-26.
  11. "Infrastructure – railML.org (EN)". railml.org. Retrieved 2016-01-26.
  12. "Rollingstock – railML.org (EN)". railml.org. Retrieved 2016-01-26.
  13. Susanne Wunsch, Vasco Paul Kolmorgen; et al. (18 September 2013). "News of railML common parts on 24th railML.org meeting" (PDF). The railML.org initiative. railML.org e.V.; Dresden/Germany. p. 6. Retrieved 21 May 2017.
  14. Kolmorgen, Vasco Paul (2019-06-30). "Scheme Planning and Lifecycle Policy / V2.2 Support Termination". railML.org News. Retrieved 2023-05-25.
  15. Kolmorgen, Vasco Paul (2021-06-21). "Announcement of the end of support for railML 2.3". railML.org News. Retrieved 2023-05-25.
  16. "Version Timeline – railML.org (EN)". railml.org. Retrieved 2021-10-04.
  17. Mkinsi, Hakim (2023-03-23). "The future of rail is intelligent. Data collection and exchange are key". ISO Geneve/Switzerland (pdf). Retrieved 2023-05-25.
  18. Augele, Vivian (2017-11-15). "Public Presentation of railML 3.1 during 32nd railML Conference". railML.org News. Retrieved 2017-11-25.
  19. 1 2 3 "railML Version Timeline". railML.org Website. Retrieved 2020-03-10.
  20. "OpenTrack Railway Technology – Eisenbahnsimulation". opentrack.ch. Retrieved 2015-10-20.
  21. Christian Roessiger (15 September 2016). "railML Schnittstelle – Institut für Regional- und Fernverkehrsplanung" (in German). iRFP e.K.; Dresden/Germany. Retrieved 21 May 2017.
  22. "Software für die Eisenbahn". sma-partner.ch. Retrieved 2015-10-20.
  23. "OpenTimeTable". via-con.de. Archived from the original on 2017-04-18. Retrieved 2015-10-20.
  24. "VIS-All® 3D- der einfache Weg in die 3D-Welt!". Software-Service John (in German). Retrieved May 21, 2017.
  25. "GPSinfradat". Bahnkonzept Dresden/Germany. Retrieved 2019-04-19.
  26. "railVIVID – railML.org (EN)". railml.org. Retrieved 2016-01-26.
  27. SNCF Réseau and TU Dresden (April 28, 2015). "4th UIC RailTopoModel and railML Conference: Achievements" (PDF).
  28. "Certification – railML.org (EN)". www.railml.org. Retrieved 2019-04-19.
  29. "Partners – railML.org (EN)". railml.org. Retrieved 2016-01-26.
  30. "Functioning of railML.org and RailTopoModel – railML.org (EN)". www.railml.org.
  31. "UIC e-news 362: The foundation for a Universal Infrastructure Data Exchange Format". November 30, 2014.