Aller au contenu

Utilisateur:Amagnien2/Brouillon

Une page de Wikipédia, l'encyclopédie libre.
Amagnien2/Brouillon
Caractéristiques
Extension
.railml, .railmlx
Type de format
Railway exchange format
Norme

railML (Railway Markup Language) est un format d'échange de données ferroviaires fondé sur XML.[1]

Raison d'être[modifier | modifier le code]

Advantage of a universal exchange format

Le nombre d'applications informatiques traitant de tel ou tel aspect de l'exploitation ferroviaire va croissant, les solutions étant aussi nombreuses que les compagnies ferroviaires. Cela rend difficile leur interconnexion, y compris parfois au sein de la même entreprise.[1] Les échanges de données ayant trait à l'exploitation, la gestion des sillons, la simulation ou la planification de l'infrastructure, nécessite des manipulations, ou bien le développement de convertisseurs, avec les coûts et les pertes de temps que cela entraîne.[2] Si n applications sont supposées échanger des données, avec un convertisseur dédié à chaque paire d'applications, il faudrait en principe convertisseurs, c'est-à-dire un seul quand n=2, mais 10 quand n=5, d'où un accroissement des coûts bien plus que proportionnel.[1]

Ce problème peut être atténué en créant un format d'échange, unique et universel, ce qui implique qu'il soit adapté à tous les besoins dans le domaine de l'exploitation ferroviaire. En ce cas, le nombre d'interfaces à développer se réduit à n, soit une par application.

railML vise à mettre à disposition des utilisateurs un format de fichier public, gratuit, auto-descripteur, aussi simple que possible, et proche de standards existants.[2] Le principe adopté est de servir les processus d'échanges de données entre le chemins de fer, les industriels et les autorités concernées, plutôt que de décrire intégralement le système ferroviaire.[3]

Description sommaire[modifier | modifier le code]

Histoire[modifier | modifier le code]

Le développement de railML a été lancé début 2001 par Fraunhofer-IVI (Dresden, Allemagne) et ETH Zürich - IVT (Zurich, Suisse).[4] railML a été transformé et adapté aux besoins des gestionnaires d'infrastructure (GI) et des entreprises ferroviaires (EF).[2][5] La première version stable (1.0) a été mise en production en 2005.[3] Up to now the versions 1.0; 1.1; 2.0; 2.1 and 2.2 were released for download and productive use. Modèle:As of, railML's version 3 (new topology model and other evolutions) is currently under development.[6] In 2015 a validator for railML schemas named railVIVID was released.

Principe de fonctionnement[modifier | modifier le code]

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; the modelling language of railML is English. A free registration on railML is mandatory for the usage and download of railML schemes.

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

Licenses[modifier | modifier le code]

Currently, railML is licensed parallelly with proprietary and free licenses.

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

Version 2.0 to 2.2 used to be licensed with the Creative Commons licence CC-BY-ND until 2013. Since 2013 all versions from 2.0 onward were offered parallelly either with a commercial licence or with a restricted CC-BY-NC-ND licence. The restrictions serve quality measures, e.g. by requiring applications to be certified to grant for smooth interoperability.[8]

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

railML schemes[modifier | modifier le code]

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.2, three sub-schemes are in productive use:

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

Additional sub-schemes are station facilities (on hold, currently no requirements from users), crew rostering (data is being gathered and railML.org working group being established) and interlocking (in development by active railML.org working group).

Timetable[modifier | modifier le code]

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

  • Operating Periods: the days on which a train is operated
  • Train Parts: scheduling and routing information for 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 colloqual perspective, e.g. the Orient Express.
  • Rostering: Circulation plans for rolling stock, linked with Train Parts.

Infrastructure[modifier | modifier le code]

The focus of this sub-schema is the infrastructure of railway networks.[10] 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[modifier | modifier le code]

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

  • Vehicles
  • Formations: the combination of vehicles as a train

Code Example[modifier | modifier le code]

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[modifier | modifier le code]

Version Release date[3] Supported until[8] Licence[8] Comment
Ancienne version, plus prise en charge : 0.x 2002-2005 December 2005 No (internal usage only) beta version timetable
Ancienne version, plus prise en charge : 1.0 December 2005 June 2013 proprietary First practical experience
Ancienne version, plus prise en charge : 1.1 November 2005 June 2013 proprietary
Ancienne version, toujours prise en charge : 2.0 November 2009 restricted CC-BY-ND 2.0
Ancienne version, toujours prise en charge : 2.1 July 2011 restricted CC-BY-ND 2.0 Downwardly compatible with V2.0
Dernière version stable: 2.2 June 2013 restricted CC-BY-NC-ND 3.0 Downwardly compatible with V2.1
Dernière version avancée: 2.2r647 December 2015 restricted CC-BY-NC-ND 3.0 Release candidate for 2.3
Version future: 2.3 expected Spring 2016 restricted CC-BY-NC-ND Partly downward compatible with V2.2
Version future: 3.x expected in 2016 not decided based on UIC's RailTopoModel
Légende :
Ancienne version
Ancienne version, toujours prise en charge
Dernière version stable
Dernière version avancée
Version future

Usage of railML data[modifier | modifier le code]

The most employed usage of railML data is timetable data[4] for passenger information, duty planning for conductors and drivers and timetable simulation.

Computer programmes[modifier | modifier le code]

Applications using railML include OpenTrack (interactive railway simulator[12]), FBS (planning software for railway operation[13]), Viriato (scheduling system[14]) and OpenTimeTable (real time analysis of network operation data[15]). A complete list of programmes with (certified) interfaces is available at railML's website of compatible applications.

railVIVID[modifier | modifier le code]

railVIVID is an open source freeware 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. This shall give also non-IT-experts an easy and handy access to railML data. Therefore, some sights of railway data can be shown, copied and printed with railVIVID:[16]

railVIVID is available via railML's website, the source code will be published in Autumn 2015. There are binary versions for MS Windows and Java.[17]

railML.org Initiative[modifier | modifier le code]

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 (free) membership of the railML.org Consortium is mandatory for the download and usage of railML schemes.

Members[modifier | modifier le code]

Members of railML.org are currently:[18]

Cooperations[modifier | modifier le code]

railML.org works in the ERIM (abbreviation for European Rail Infrastructure Modelling) project of the International Union of Railways (UIC) for the development of a common standard for data exchange in the railway sector.[19] Also railML.org cooperates with Eurocontrol and European Railway Agency.

References[modifier | modifier le code]

  1. a b et c Modèle:Google Buch
  2. a b et c « RailTopoModel and railML® » (consulté le )
  3. a b c et d « Daten für PSItraffic: Standardisiertes Datenmanagement mit railML® und dem UIC RailTopoModel » (consulté le )
  4. a et b (en) Andrew Nash, Daniel Huerlimann, Joerg Schuette et Vasco Paul Kolmorgen (Krauss), RailML – A standard data interface for railroad applications, Dresden, Proc. of the Ninth International Conference on Computer in Railways (Comprail IX), WIT Press, Southampton, United Kingdom, (lire en ligne)
  5. Modèle:Google Buch
  6. « 5th UIC RailTopoModel and railML® Conference », sur railML, , p. 29
  7. Modèle:Google Buch
  8. a b c d et e « Licence - railML.org (EN) » (consulté le )
  9. « Timetable - railML.org (EN) » (consulté le )
  10. « Infrastructure - railML.org (EN) » (consulté le )
  11. « Rollingstock - railML.org (EN) » (consulté le )
  12. « OpenTrack Railway Technology - Eisenbahnsimulation » (consulté le )
  13. « iRFP-FBS » (consulté le )
  14. « Software für die Eisenbahn » (consulté le )
  15. « OpenTimeTable » (consulté le )
  16. « railVIVID - railML.org (EN) » (consulté le )
  17. SNCF Réseau and TU Dresden, « 4th UIC RailTopoModel and railML Conference: Achievements »,
  18. « Partners - railML.org (EN) » (consulté le )
  19. « UIC e-news 362: The foundation for a Universal Infrastructure Data Exchange Format »,

External links[modifier | modifier le code]

[[Category:Industry-specific XML-based standards]] [[Category:XML markup languages]] [[Category:Rail transport]] [[Category:Railway associations]]