# RailML

railML (anglais : Railway Markup Language) est un format d'échange de données ouvert, basé sur XML, pour l'interopérabilité des données des applications ferroviaires.

## Introduction / Définition

railML (langage de balisage ferroviaire) est un format d’échange standard utilisant la syntaxe XML pour la description de données relatives au transport ferroviaire. railML permet les transferts internes et externes d’information entre programmes informatiques du domaine ferroviaire. railML est développé dans le « railML consortium » de railML.org. Il s’agit d’un format d’échange open source sous licence creative commons. Une inscription sur le site railML est obligatoire pour pouvoir télécharger les schémas railML. Le modèle du langage railML est l’UML et la documentation est en anglais.

## Raison d'être

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. 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. Si n applications sont supposées échanger des données, avec un convertisseur dédié à chaque paire d'applications, il faudrait en principe ${\frac {n\cdot (n-1)}{2}}$ 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.
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. 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.

## Historique

railML a été fondé début 2002 par l’institut Fraunhofer-IVI (Verkehrs und Infrastruktursysteme ; Institut pour les systèmes de transport et d'infrastructure) de Dresde (Allemagne) et l’université ETH de Zurich (Suisse) en raison de difficultés chronique pour connecter différents programmes informatiques dans le domaine ferroviaire. L'échange de données pour les concepts d'exploitation, la gestion de sillons, la simulation ou la planification d'infrastructure, etc. prenait beaucoup de temps et n'était possible qu'avec de nombreuses interfaces spécialement développées. Cela posait des problèmes de coûts pour les entreprises ferroviaires. railML essaie de mettre à disposition un format facile à utiliser, auto-descriptif, proche des standards existants. railML est modifié et adapté aux besoins des gestionnaires d’infrastructure (GI) et des entreprises ferroviaires (EF) dans le cadre de discussions. Jusqu'à présent, la version 1.0; 1,1; 2.0 à 2.4 ont été publiées pour le téléchargement et l'utilisation productive. La version 3.1 de railML (avec un nouveau modèle de topologie et d’autres évolutions) a été publiée en février 2019.

## Schémas railML

railML est basé sur XML et utilise des schémas XML existants tels que MathML et GML. Il est composé de sous-schémas. Jusqu'à la version 2.4, trois sous-systèmes sont utilisés de manière productive:
* Infrastructure (Infrastructure - IS) pour la description (principalement topologique) des voies et des équipements de signalisation
* Matériel (Rollingstock - RS) roulant pour la description des véhicules
* Planification, graphicage et habillage (Timetable and Rostering - TT) pour la description des horaires
Depuis la version 3.1 de railML, un sous-système supplémentaire a été introduit pour répondre à la demande de la communauté et du secteur:
* Enclenchement (Interlocking - IL) pour la description des sillons et leur signalisation
Des sous-systèmes supplémentaires comme les installations des gares et arrêts (distributeurs de billets, salles d’attente, distributeurs automatiques, etc.) ou la gestion du personnel (planification des équipes de travail et gestion du temps de travail des conducteurs, etc.) sont actuellement en pause, car il n’y a pas de demande des utilisateurs.

## Consortium railML.org

Le développement de railML est piloté par la railML.org Initiative, un partenariat de développement constitué d'entreprises et d'organisations indépendantes et de chemins de fer européens (par exemple : CFF (Suisse), DB (Allemagne), SNCF Réseau (France), Infrabel (Belgique), Jernbanedirektoratet et Bane Nor (Norvège), ÖBB (Autriche), SŽDC (République tchèque), etc.). Des conférences semestrielles et des forums en ligne permettent de participer au développement de railML et d’échanger des expériences librement.