railML

From HandWiki
Railway Markup Language
RailML headr.png
Logo of railML file format
Filename extensions.railml, .railmlx
Developed byrailML.org; Dresden / Germany
Initial release22 December 2005 (2005-12-22)
Latest release
3.2
(26 April 2022; 21 months ago (2022-04-26))
Type of formatRailway exchange format
Extended fromXML
StandardIndustry standard
Websitewww.railml.org

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

Motivation

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, [math]\displaystyle{ \frac{n\cdot(n-1)}{2} }[/math] 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

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.[4]

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.[5]

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.[5]

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.[6]

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

Legal entity

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:

  • timetable for the description of timetables,
  • infrastructure for the (priority topological) description of tracks and signalling equipment and
  • rolling stock for the description of vehicles.

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

  • interlocking for the description of signaling routes

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:[7]

  • Train running times (arrivals, departures and passing times)
  • Operating Periods: the days on which a train is operated
  • Train Parts: scheduling and routing information for through coaches in trains, e.g. the Orient Express on the traject from Budapest to Beograd on Mondays.
  • Trains: a collection of train parts, adding up to the colloquial perspective, e.g. the Orient Express.
  • Rostering: Circulation plans for rolling stock, linked with Train Parts.

Infrastructure

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

  • Network topology
  • Coordinates
  • Geometry: track geometry (gradient, curve radius)
  • Railway infrastructure elements: inventory like balises and signals
  • Further located elements: abstract things that cannot be touched but located, like speed limits and track condition

Rolling stock

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

  • Vehicles
  • Formations: the combination of vehicles as a train
  • Tractive effort of locomotives and motor units

Interlocking

  • Signal aspects derived from train routes through stations

Code example

Example for a time table formulated in railML[3]

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

Version Release date[3] Supported until[5] Licence[5] Comment
0.x 2002–2005 December 2005 No (internal usage only) beta version timetable
1.0 December 2005 June 2013 proprietary First practical experience
1.1 November 2007 June 2013 proprietary
2.0 November 2009 March 2017 restricted CC-BY-ND 2.0
2.1 July 2011 March 2017 restricted CC-BY-ND 2.0 Downwardly compatible with V2.0
2.2 June 11, 2013[10] June 30, 2021[11] restricted CC-BY-NC-ND 3.0 Downwardly compatible with V2.1-V2.0
2.3 March 10, 2016 June 30, 2024[12] restricted CC-BY-NC-ND 3.0 Predominant downward compatible with V2.2-V2.0
2.4 October 7, 2018 restricted CC-BY-NC-ND 3.0 Predominant downward compatible with V2.3-V2.0
2.5 September 1, 2021[13] restricted CC-BY-NC-ND 3.0 Predominant downward compatible with V2.4-V2.0
Also adopted as an ISO 4398:2022 standard[14]
3.0 October 31, 2017[15] February 19, 2019[16] No (internal usage only) based on UIC's RailTopoModel V1.1
3.1 February 19, 2019[16] restricted CC-BY-NC-ND 4.0 based on RailTopoModel V1.2
Infrastructure and Signalling data only
3.2 April 26, 2022[16] restricted CC-BY-NC-ND 4.0 based on RailTopoModel V1.4
added support of Timetable and Rolling stock data
3.3 ≥ 2023 restricted CC-BY-NC-ND based on RailTopoModel
3.4 not yet decided restricted CC-BY-NC-ND based on RailTopoModel
{{{2}}}

Usage of railML data

At the beginning the most employed usage of railML data was timetable data[17] 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[18]), FBS (planning software for railway operation[19]), Viriato (scheduling system[20]) and OpenTimeTable (real time analysis of network operation data[21]). Applications using railML version 3.x include additionally BIM related infrastructure planning software like VIS All 3D[22] or railway survey systems like GPSinfradat.[23]

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:[24]

  • Graphic viewer for Timetable data
  • Tabular viewer for Timetable data with spreadsheet export
  • Rolling Stock data viewer
  • Topologic viewer for Infrastructure data
  • Geographic viewer for Infrastructure data
  • Schema validator for railML

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.[25]

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.[26]

Members

Members of railML.org are currently:[27]

  • Railways like Austrian Federal Railways, BLS, French Railways, German State Railway, Infrabel, Norwegian Rail Infrastructure Manager, Swiss Federal Railways, ...
  • Software manufacturers like Hacon (Hanover/Germany), iRFP (Dresden/Germany), PTV (Karlsruhe/Germany), SMA (Zurich/Switzerland), Trapeze Group (Hamburg/Germany), Siemens (Brunswick/Erlangen/Germany), Thales (Berlin & Ditzingen/Germany), ...
  • Authorities like Bavarian Passenger Transport Authority (Munich/Germany), Federal Ministry of Transport and Digital Infrastructure (Berlin/Germany), High Speed Two (London/Great Britain), Jernbanedirektoratet (Oslo/Norway), ...
  • Universities and Research institutes like Czech Technical University Prague, Dresden University, DLR, ETH Zurich, University of Birmingham, ...

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[28]) project of the International Union of Railways (UIC) for the development of RailTopoModel as a common data model in the railway sector.[29] Also railML.org cooperates with Eurocontrol and European Union Agency for Railways.

References

  1. 1.0 1.1 1.2 1.3 [1], p. PA4, at Google Books
  2. 2.0 2.1 Cite error: Invalid <ref> tag; no text was provided for refs named 1st_UIC_ERIM_conference
  3. 3.0 3.1 3.2 Cite error: Invalid <ref> tag; no text was provided for refs named berlin
  4. [2], p. PA6, at Google Books
  5. 5.0 5.1 5.2 5.3 5.4 "Licence – railML.org (EN)". railml.org. http://www.railml.org/en/user/licence.html. 
  6. Augele, Vivian (2019-01-29). "railML Licence: Minor Changes come with railML3". railML.org; Dresden/Germany. https://www.railml.org/en/public-relations/news/reader/railml-licence-minor-changes-come-with-railml3.html. 
  7. "Timetable – railML.org (EN)". railml.org. http://www.railml.org/en/user/subschemes/timetable.html. 
  8. "Infrastructure – railML.org (EN)". railml.org. http://www.railml.org/en/user/subschemes/infrastructure.html. 
  9. "Rollingstock – railML.org (EN)". railml.org. http://www.railml.org/en/user/subschemes/rollingstock.html. 
  10. Susanne Wunsch, Vasco Paul Kolmorgen (18 September 2013). "News of railML common parts on 24th railML.org meeting" (in en). railML.org e.V.; Dresden/Germany. p. 6. http://documents.railml.org/events/slides/2013-09-18_wunsch-common-news.pdf. 
  11. Kolmorgen, Vasco Paul (2019-06-30). "Scheme Planning and Lifecycle Policy / V2.2 Support Termination". railML.org News. https://www.railml.org/en/public-relations/news/reader/scheme-planning-and-lifecycle-policy.html. 
  12. Kolmorgen, Vasco Paul (2021-06-21). "Announcement of the end of support for railML 2.3". railML.org News. https://www.railml.org/en/public-relations/news/reader/announcement-discontinuation-of-railml-2-3.html. 
  13. "Version Timeline – railML.org (EN)" (in en). https://www.railml.org/en/developer/version-timeline.html. 
  14. Mkinsi, Hakim (2023-03-23). "The future of rail is intelligent. Data collection and exchange are key.". ISO Geneve/Switzerland. https://www.iso.org/home.isoDocumentsDownload.do?t=HMRcodPqUtRGks5Bk6-RNe_ENRTQDVkQbd00ZUCbZlvBeNpuN-iCBsOn4GtM_A2O&CSRFTOKEN=ZP8N-I9H2-UT1K-PUNC-GTCA-SP9D-21V5-N1W2. 
  15. Augele, Vivian (2017-11-15). "Public Presentation of railML 3.1 during 32nd railML Conference". railML.org News. https://www.railml.org/en/public-relations/news/reader/public-presentation-of-railml-3-1-32nd-railml-conference.html. 
  16. 16.0 16.1 16.2 "railML Version Timeline". railML.org Website. https://www.railml.org/en/developer/version-timeline.html. 
  17. Cite error: Invalid <ref> tag; no text was provided for refs named comprail
  18. "OpenTrack Railway Technology – Eisenbahnsimulation". opentrack.ch. http://www.opentrack.ch/opentrack/opentrack_d/opentrack_d.html. 
  19. "railML Schnittstelle – Institut für Regional- und Fernverkehrsplanung" (in de). iRFP e.K.; Dresden/Germany. 15 September 2016. http://www.irfp.de/railml-schnittstelle.html. 
  20. "Software für die Eisenbahn". sma-partner.ch. http://www.sma-partner.ch/de/loesungen/viriato-und-zlr/uebersicht/. 
  21. "OpenTimeTable". via-con.de. http://www.via-con.de/development/open-timetable-ott. 
  22. "VIS-All® 3D- der einfache Weg in die 3D-Welt!" (in de). http://www.john-software.de/produkte/vis-all-3d. 
  23. "GPSinfradat". https://www.bahnkonzept.de/en/compendium. 
  24. "railVIVID – railML.org (EN)". railml.org. http://www.railml.org/en/user/railvivid.html. 
  25. SNCF Réseau and TU Dresden (April 28, 2015). "4th UIC RailTopoModel and railML Conference: Achievements". http://documents.railml.org/events/slides/2015-04-28_uic-railtopomodel+railml-conference_achievements.pdf. 
  26. "Certification – railML.org (EN)" (in en). https://www.railml.org/en/developer/certification.html. 
  27. "Partners – railML.org (EN)". railml.org. http://www.railml.org/en/introduction/partners.html. 
  28. "Functioning of railML.org and RailTopoModel – railML.org (EN)". https://www.railml.org/en/public-relations/news/reader/functioning-of-railml-org-and-railtopomodel.html. 
  29. "UIC e-news 362: The foundation for a Universal Infrastructure Data Exchange Format". November 30, 2014. http://www.uic.org/com/uic-e-news/362/. 

External links