# RailTopoModel

RailTopoModel is a systemic data model for describing the topology-based railway infrastructure as needed by various applications. The RailTopoModel has been initially developed under patronage of the International Union of Railways (UIC) and was released as International Railway Standard (IRS) 30100 in April 2016. It has been described as a common data model for the railway sector. RailTopoModel is currently continued by UIC as RailSystemModel, a re-branding resulting from the extension of its scope. On the other hand, RTM development (from RTM 1.2) went on as a fork initiated by the railML community and managed by the organisation railML.org.

## Motivation

In the field of railway networks, many non-standard descriptions are needed for addressing specific needs: RINF to describe infrastructure; ETCS for train control and protection; INSPIRE for spatial information. Network operators or suppliers took particular initiatives to harmonize their network representations for gathering, providing, or using network-related data. The purpose of RailTopoModel is to define a general, standard model for railway infrastructure.

## History

The development of the RailTopoModel is a result of the ERIM project (abbreviation for European Rail Infrastructure Modelling, previously referred as European Rail Infrastructure Masterplan) within UIC that aimed at standardized data representation and exchange concerning railway networks.
In 2013, starting from the assessment of a small group of Railway infrastructure managers about limitation of current exchange formats for ETCS, RINF, Inspire, and European projects based on network topology, the UIC ERIM feasibility study was launched. The objective of this working group was to qualify the business needs, analyze the existing solutions and experiences, and propose a project plan to build a universal "language" to improve the railway data exchange, and support the design of an infrastructure data exchange format based on topology. Based on this study a topology model, the ‘UIC RailTopoModel’, was developed. In April 2015 RTM V1.0 was released. ‘UIC RailTopoModel’ was released as an UIC recommendation called International Railway Standard (IRS 30100) in spring 2016.
Version 1.2, re-branded RailSystemModel 1.2, was released in 2021 and published online in January 2022.
railML.org, a European open source initiative providing a standard for data exchange in railway networks since 2001, has offered the first use case for RailTopoModel through a new version of its infrastructure schema, railML3.
Under the leadership of railML.org the RailTopoModel was continued to be developed leading to the publishing of RailTopoModel 1.2 in 2018 and RailTopoModel 1.4 in 2022.

## Structure

RailTopoModel is based on connexity graph theory and it is defined in terms of UML.
Its emphasis lies on:
* Core elements — identification of all network components;
* Referencing — defining standards for addressing locations e.g. via geographical coordinates. The backbone of referencing in RailTopoModel is a linear referencing system;
* Topology — expressing the relations between the elements;
* Business – allowing to project objects and events onto the topology. These can be spots (e.g. a signal), linear entities ( e.g. a tunnel) or areas (e.g. a train station);
* Aggregation – allowing for the standardized and reversible aggregation e.g. to visualize the network in a broader scale. There are four predefined aggregation levels:
** nano: very large scale, depicting e.g. the interior of a switch
** micro: large scale, depicting e.g. switches and buffer stops connected by tracks
** meso: intermediate scale, depicting e.g. operation points and the number of tracks connecting them
** macro: small scale, depicting main operation points and the corridors between them
    The model allows defining as many levels as is deemed useful, while ensuring consistency of data between levels.
Ideally, standardisation should grant for references and switches between aggregation levels being bijective and different applications being able to exchange data.

## Applications

Current applications are:
* railML: the topology core of railML's scheme version 3 will be defined on the basis of RailTopoModel.
* Ariane model as foundation of all SNCF Réseau IT projects: the definition of Ariane model at SNCF Réseau employs the same concept: it combines a connexity graph (for the topology of the network) with an object approach to define a systemic model of the railway system. The principal benefit of this approach is to distinguish between the business object of the system and the processes that manage them. Moreover, it allows for an evolutive and understanding model. This type of modeling is needed to build a virtual railway system to simulate all processes.
* Eulynx, a European initiative in the area of signalling, uses RailSystemModel to provide its Data Preparation model with quantities, units, and general patterns for observations and measurements, as well as network topology, geographic positioning, localisation of entities on the network.