RailML
railML (railway Markup Language, Engels voor "spoorwegen-opmaaktaal") is een open, XML-gebaseerd bestandsformaat, dat bedoeld is om de interoperabiliteit van applicaties met betrekking tot het spoorsysteem te ondersteunen.

Motivatie

Een groeiend aantal computerapplicaties die meerdere aspecten van spoorwegactiviteiten modelleren, veroorzaakten een chronisch probleem bij het verbinden van verschillende spoorweg-IT-toepassingen, omdat exploitanten vaak afzonderlijke oplossingen ontwikkelden die parallel liepen. De uitwisseling van gegevens voor bedieningsconcepten, slotsbeheer, simulatie of infrastructuurplanning, enzovoorts was alleen mogelijk met de hand of met meerdere speciaal ontwikkelde interfaces, welke verlies van tijd en een verhoging van kosten voor spoorwegmaatschappijen veroorzaakten. Als er n applicaties zijn die gegevens zouden moeten uitwisselen, met een speciale interface voor respectievelijk ieder paar van programma's,  interfaces zijn vereist - slechts één, als n = 2, maar tien, als n = 5 - waardoor de complexiteit zich verhoogt tot bovengemiddeld.

Dit probleem kan worden verminderd door middel van enterprise application integration met een eenmalig, universeel uitwisselingsformaat dat door alle toepassingen wordt ondersteund en voldoet aan de behoeften van alle soorten gegevensuitwisseling op het gebied van spoorwegexploitatie: het aantal vereiste interfaces neemt af naar n – één interface naar het uitwisselingsformaat voor elke toepassing. railML probeert een open, gratis, eenvoudig, handig en zelf beschrijvend formaat ter beschikking te stellen, dat dicht bij de bestaande normen ligt. Het paradigma is om aan de eisen van de gegevensuitwisselingsprocessen van spoorwegen, industrie en autoriteiten te voldoen, in plaats van het complete spoorwegsysteem te beschrijven.

Overzicht

Geschiedenis
De ontwikkeling van railML werd begin 2002 geïnitieerd door Fraunhofer-IVI (Dresden, Duitsland) en de ETH Zürich - IVT (Zürich, Zwitserland) tegen de achtergrond van een chronische moeilijkheid om verschillende spoorwegautomatiseringstoepassingen met elkaar te verbinden. railML wordt continu veranderd en aangepast aan de behoeftes van spoorwegbeheerders (IM's) en spoorwegexploitanten (RU's). De eerste stabiele versie 1.0 is in 2005 uitgebracht voor productief gebruik. Tegen eind 2019 werden de versies 1.0; 1.1; 2.0 tot 2.4 vrijgegeven voor download en productief gebruik. railML versie 3 (met een nieuw topologiemodel en andere evoluties) werd in het voorjaar van 2019 na 3 jaar ontwikkeling gepubliceerd. In 2015 werd een validator (= een software die de syntactische correctheid van een document controleert) voor railML-schema's met de naam railVIVID uitgebracht.

Werkprincipes
railML (spoorweg mark-up taal) is een gemeenschappelijk uitwisselingsformaat, dat gebruik maakt van de systematiek van XML voor de beschrijving van spoor-specifieke gegevens. railML maakt de uitwisseling van spoorweggegevens tussen interne en externe spoorwegtoepassingen mogelijk. railML is ontwikkeld binnen het zogenaamde railML-consortium van railML.org. Het is een open source uitwisselingsformaat onder creative commons license (een gratis registratie op railML is verplicht voor het gebruik en downloaden van railML-schema's). De modeltaal van railML is UML en de documentatietaal is Engels.

Applicaties kunnen via railML gegevens uitwisselen, via het exporteren en/of importeren van railML-bestanden, of als een interprocescommunicatie tussen processen via TCP/IP.

Licenties en prijzen
Het gebruik van railML is voor de gebruikers kosteloos mogelijk, alleen advies en certificering voor professioneel gebruik kunnen leiden tot kosten voor het betalen van de softwareontwikkelaar.

Versies 0.x en 1.x kregen een eigen licentie, waarbij versie 0.x alleen bedoeld was voor intern gebruik en werd gedeeld binnen het consortium.

Versie 2.0 tot 2.2 werden tot 2013 met de Creative-Commons-licentie CC BY-NC-SA gedeeld. Sinds 2013 werden alle versies vanaf 2.0 parallel aangeboden met een commerciële licentie of met een beperkte CC BY-NC-ND-licentie. De beperkingen dienen kwaliteitsmaatregelen, b.v. door te eisen dat de aanvragen worden gecertificeerd, om een soepele interoperabiliteit te verlenen.

De licentievoorwaarden voor versie 3.x zijn niet vastgesteld, maar een doorlopend gebruik van de Creative-Commons-licentie is aangekondigd.

Het Logo en het woord railML zijn geregistreerde handelsmerken van het railML-consortium bij het EUIPO.

railML schema’s
railML is gebaseerd op XML en subgebieden gebruiken andere bestaande XML-schema's zoals MathML en GML. Het is samengesteld uit subschema’s. Via versie 2.3 zijn drie subschema’s in productief gebruik:

 infrastructure (infrastructuur) voor de topologische beschrijving van sporen en signaleringsapparatuur
 rolling stock (rollend materieel) voor de beschrijving van voertuigen
 timetable (dienstregeling) voor de beschrijving van tijdroosters

Een subschema interlocking (rijwegvergrendeling) voor de beschrijving van signaleringsroutes wordt tegenwoordig ontwikkeld. Potentiële toekomstige subschema’s zijn stationsfaciliteiten of personeelsplanning.

Timetable 
Dit subschema dient voor de uitwisseling van gedetailleerde tijdschema's. In het bijzonder is het schema ontworpen voor de volgende informatie:
 Bedrijfsperiodes: de dagen waarop een trein operationeel in gebruik is
 Treindelen: informatie over de planning en routes van treinen, bijvoorbeeld de Orient Express op het traject van Boedapest naar Belgrado op maandag
 Treinen: een verzameling van rollend materieel (wagons), complimenterend aan het informele perspectief, bijvoorbeeld de Oriënt Express
 Dienstregeling: circulatieplanning voor rollend materieel, gekoppeld aan treindelen

Infrastructuur 
De focus van dit deelschema is de infrastructuur van spoorwegnetwerken. Belangrijke aspecten zijn:

 Netwerktopologie
 Coördinaten
 Spoorgeometrie (helling, boogradius)
 Spoorweginfrastructuurelementen: inventaris zoals bakens (balises) en signalen
 Andere belangrijke elementen: abstracte dingen die niet kunnen worden aangeraakt, maar zich wel degelijk op het spoorwegtraject bevinden, zoals snelheidsbeperkingen, de kwaliteit en de conditie van het spoor.

Rollend materieel 
Terwijl het subschema Infrastructure gericht is op immobiele activa, beschrijft het rollend materieel de activa die in het netwerk circuleren
 Voertuigen
 Formaties: de combinatie van voertuigen als een trein(deel)

Voorbeeldcode 
Voorbeeld voor een tijdschema geformuleerd in railML
<?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>

Regel 3 geeft aan dat de gebruikte railML-versie 1.1 is.

Regel 4 bevat de trein-code

Regel 5 en 15 omlijsten de route, met in dit geval, 8 reisboekingen

De reisroute-items in regel 6 tot 14 bevat verschillende thema’s, zoals positie-ID (bijvoorbeeld een station), tijdstip van vertrek of aankomst en in regel 9 een verplichting om te stoppen.

Versies

Gebruik van railML-data
De meest gebruikte railML-gegevens zijn tijdregeldata/tijdschema‘s voor passagiersinformatie, dienstplanning voor conducteurs resp. chauffeurs en simulaties van de dienstregeling.

Computerprogramma’s
Toepassingen die gebruik maken van railML omvatten veelal programma's die gerelateerd zijn aan de dienstregeling, zoals OpenTrack (interactieve spoorwegsimulator), FBS (planningssoftware voor spoorwegactiviteiten), Viriato (planningssysteem) en OpenTimeTable (realtime analyse van netwerkwerkbedrijfsdata) evenals met BIM verband houdende infrastructuurplanningssoftware zoals VIS All 3D of spoorweg-observeringssystemen zoals GPSinfradat.

Een complete lijst met programma's met (gecertificeerde) interfaces is beschikbaar op de railML.org-pagina van of compatible applicaties.

railVIVID 
railVIVID is een open source freeware-tool die wordt aangeboden door UIC en railML.org om railML-bestanden van versie 2.x of hoger te valideren en om de inhoud van railML-bestanden in verschillende weergaven te tonen. Dit geeft ook niet-IT-experts een gemakkelijke en handige toegang tot railML-gegevens. Dus kunnen er sommige weergaven van spoorweggegevens getoond, gekopieerd en afgedrukt worden met railVIVID:

 graphische weergave van dienstregelingsdata
 tabellarische weergave van dienstregelingsdata
 visualisering van rollend materieel
 topologische weergave van infrastructuur
 geographische weergave van infrastructuur
 schema validator voor railML

railVIVID is beschikbaar via de website van railML. Er zijn binaire versies voor MS Windows en Java, ook de broncode werd in de herfst van 2015 gepubliceerd onder de EUPL-licentie.

railML.org-Initiatief 
De ontwikkeling van railML wordt gestimuleerd door het railML.org-initiatief, een ontwikkelingspartnerschap van onafhankelijke bedrijven, organisaties en Europese spoorwegen. De deelname aan de ontwikkelingsconferenties en halfjaarlijkse stakeholderconferenties staat open voor iedere belanghebbende. Het voortdurende ontwikkelingswerk is voornamelijk internet-gebaseerd (Duitse en Engelse fora). De organisatie van de discussies wordt beheerd door de zogenaamde coördinatoren. Het (gratis) lidmaatschap van het railML.org Consortium is verplicht voor het downloaden en gebruiken van railML-schema's. Het verkrijgen van een commerciële certificering is vereist, voordat commercieel of productief gebruik wordt gemaakt van software-interfaces voor het formaat.

Leden 

Leden van railML.org zijn momenteel:
 Spoorwegen zoals ÖBB, BLS, SNCF, DB, NMBS en de Zwitserse federale spoorwegen
 Software ontwikkelaars zoals Hacon (Hannover), iRFP (Dresden), PTV (Karlsruhe), SMA (Zürich),  Trapeze Group (Hamburg), Siemens (Brunswijk/Erlangen) en Thales Groep (Berlijn)
 Autoriteiten Bayerische Eisenbahngesellschaft (München), BMVI (Berlijn), High Speed 2 (Londen), Jernbanedirektoratet (Oslo)
 Universiteiten en onderzoeksinsituten zoals de Tsjechische Technische Universiteit, de Technische Universiteit Dresden, het DLR, de ETH Zürich en de Universiteit van Birmingham

Een volledige en bijgewerkte lijst is gepubliceerd onder railML.org.

Juridische entiteit
Juridische entiteit voor het railML-consortium is sinds 23 april 2012 de railML.org e.V., een geregistreerde non-profit-vereniging naar Duits recht (registratienummer VR 5750 bij de plaatselijke rechtbank Dresden / Duitsland).

Samenwerkingsverbanden 
railML.org werkt in het ERIM (afkorting voor European Rail Infrastructure Modelling) project van de UIC voor de ontwikkeling van RailTopoModel, een algemeen data model voor spoorinfrastructuur. Ook werkt railML.org met EUROCONTROL en EUAR.

Externe link 
railML homepage

XML-gebaseerde standaard
Opmaaktaal
Verkeerskunde
Standaardisatieorganisatie