language-icon Old Web
English
Sign In

railML

railML (Railway Markup Language) is an open, XML based data exchange format for data interoperability of railway applications. railML (Railway Markup Language) is an open, XML based data exchange format for data interoperability of railway applications. 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. 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. If there are n applications that are supposed to exchange data, with a special interface for each pair of programs respectively, n ⋅ ( n − 1 ) 2 {displaystyle {frac {ncdot (n-1)}{2}}} interfaces are required — only one, if n=2, but 10, if n=5 — increasing the complexity above average. This problem can be mitigated by means of Enterprise application integration 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 an open and free, easy and handy, self-describing format close to existing standards. The paradigm is to meet the demands of the data exchange processes of railways, industry and authorities rather than describing the complete railway system. 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. railML is changed and adapted to the needs of railway infrastructure managers (IM's) and railway undertakings (RU's) within discussions. The first stable version 1.0 was released in 2005 for productive usage. Up to now the versions 1.0; 1.1; 2.0 to 2.4 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 and finally released for productive use in February 2019. In 2015 a viewer and validator programme for railML data named railVIVID was released. railML (railway mark-up language) is a common exchange format, which employs the systematic of 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. It is an open source exchange format under creative commons license (A free registration on railML is mandatory for the usage and download of railML schemes). 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. The usage of railML is possible at no charge for the users and developers, only consulting and certification for professional usage could be liable to pay costs for the software developer. 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. Version 2.0 to 2.2 used to be licensed with the Creative Commons licence 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) licence or with a restricted CC-BY-NC-ND (V 3) licence. The restrictions serve quality measures, e.g. by requiring applications to be certified to grant for smooth interoperability.

[ "XML", "Data exchange", "Interlocking" ]
Parent Topic
Child Topic
    No Parent Topic