Professional Documents
Culture Documents
X2R2-WP6-D-BTS-051-01 - System Requirements Specification (SRS) For Integration Layer
X2R2-WP6-D-BTS-051-01 - System Requirements Specification (SRS) For Integration Layer
Deliverable D6.1
System Requirement Specification (SRS) for the
Integration Layer
Authors
1 EXECUTIVE SUMMARY
The overall aim of the X2Rail-2 project is to set the foundation for a resilient, cost-efficient, high
capacity and digitalised European rail network.
A key enabler for innovative solutions in TMS market is an evolutionary shift of the TMS
architecture from single vendor solutions with proprietary interfaces towards frameworks running
multivendor services according to micro-service architecture.
One main aspect for integration of multivendor services is standardized access to the data. The
Integration Layer providing a standardized high-performance communication platform for data
management and distribution covers this. In the evolution, process to multi-vendor TMS this
platform represents the inevitable component. A TMS setup with just several components can be
managed manually and deployed on separated hardware.
This document, Deliverable D6.1 System Requirement Specification (SRS) for the Integration
Layer is focused on the review of the functional and non-functional Requirements for Integration
Layer stated within the In2Rail project (http://www.In2Rail.eu/), and the identification of the
required data structures for allowing the integration of the real-time traffic management operations.
Deliverable D6.1 is the result of the activities performed in the Task 6.2 Integration Layer, led by
INDRA and with active participation of the following partners: STS, AZD, BTSE, CAF, DB, HC,
NR, SIE, TTS and TRV.
Task 6.2 comprises the works to specify and to start the development of the communication
backbone of the Rail Operations System - the Integration Layer (IL).
Based on the results of In2Rail WP8 the functional and non-functional requirement specification
addressing Data Structures, Data Management processes and Interfaces able to integrate real-
time status and forecast data from sub-systems and applications like the Railway Infrastructure,
trains, CCS, Systems for Passenger Information, Fleet Management, Staff Management and
Weather Monitoring were specified collaboratively by the partners.
Included in the scope of this document is the evaluation of state of the art “Middleware” to allow
the partners to start the design of their proposed complementing prototypes of constituents or
processes of the Integration Layer within X2Rail-2 project.
2 TABLE OF CONTENTS
1 EXECUTIVE SUMMARY ................................................................................................................................... 3
4 BACKGROUND ............................................................................................................................................... 9
AIM .............................................................................................................................................................. 10
DOCUMENT STRUCTURE ................................................................................................................................... 10
SCOPE ........................................................................................................................................................... 11
INFRASTRUCTURE............................................................................................................................................. 36
8.1.1 Topology ................................................................................................................................................. 37
8.1.2 Positioning .............................................................................................................................................. 39
8.1.3 Line / track section ................................................................................................................................. 39
8.1.4 Route body ............................................................................................................................................. 40
8.1.5 Point ....................................................................................................................................................... 41
8.1.6 Signal ...................................................................................................................................................... 42
8.1.7 Operational control point ....................................................................................................................... 43
8.1.8 Bridge ..................................................................................................................................................... 43
9 REFERENCES................................................................................................................................................193
TD Technical Demonstrator
TMS Traffic Management System
TP Train Position (169)
TSR Temporary Speed Restriction
UDP User Datagram Protocol
UIC Union Internationale des Chemins de Fer
UTC Universal Time Coordinated
UUID Universally Unique Identifier
VM Virtual Machine
VPC Virtual Private Cloud
4 BACKGROUND
The present document constitutes the first issue of Deliverable D6.1 “System Requirement
Specification (SRS) for the Integration Layer” in the framework of the Project titled “Enhancing
railway signaling systems based on train satellite positioning, on-board safe train integrity, formal
methods approach and standard interfaces, enhancing traffic management system functions”
(Project Acronym: X2Rail-2; Grant Agreement No 777465).
This document covers the Integration Layer requirements review and it is mainly focused in the
identification of the required information to be available on the Integration Layer for the Traffic
Management functionalities. This information is divided into data provided by the Traffic
Management functions and the rest of involved systems, the available requests and the generated
alarms.
The specified data structures have been identified and reviewed by all the partners in this task
with the goal of detecting all the information required, but also with the goal of covering the systems
or functions which shape the proofs of concepts and prototypes to be defined within this Work
Package WP6 of the X2Rail-2 project.
5 OBJECTIVE / AIM
Aim
The objective of this deliverable is to continue with the Integration Layer specification based on
the works previously performed in the In2Rail project.
After the first approach to the Integration Layer requirements, the selection of the In Memory Data
Grid principals and the first guidelines to the API required to be exposed by the Integration Layer,
the works performed in the Task 6.2 and included in this document aim at achieving the followings
goals:
• To review the initially identified Integration Layer requirements according to the technological
approach based on In Memory Data Grid principals.
• To detail the API requested for the Integration Layer in order to allow the integration of the
prototypes introduced in the project and to be continued and integrated during the X2Rail-4
project.
• To analyse the middleware software products available on the market in order to detect the
alignment of the market with the Integration Layer requirements.
• To identify the data to be exchanged through the Integration Layer for allowing the Traffic
Management functionalities. This topic constitutes a new step in the specification of the
Integration Layer, taking into account the needs of the business logics and setting the identified
required information to be included in the on-going Canonical Data Model from the point of
view of the Traffic Management.
Document Structure
This section describes the structure of the document, including a brief description of each chapter
for introducing the content along the deliverable.
Section Title Description
4 Background Background of the task and the alignment of the
deliverable with the goals of the project.
5 Objective / Aim Scope of the task and overview of the content of the
document.
6 Requirements for the Review and filtering of the Integration Layer
Integration Layer requirements for selecting the main requirements
aligned with the In Memory Data Grid principals and the
API specification.
7 Middleware State of the Evaluation of relevant middleware software products
Art Evaluation currently available on the market, based on the
Integration Layer requirements, including the
conclusions arisen from the exhaustive individual
analysis of each selected product and the comparison
and global evaluation among them.
Scope
Once analysed and defined the main functional and non-functional requirements and the
characteristics of the Integration Layer (by analysing the different middleware possibilities), the
main goal of the document is to provide a common set of data structures to be exchanged through
the Integration Layer between the different systems involved (Traffic Management, Possession
Management, Interlocking, RBC, ATO, Energy Grid, Fleet & Crew Management, Asset
Management, Driver Advisory System, Passenger Information System and Public Weather
Information) in the Traffic Management to be useful for:
• Using common data structures in the X2Rail-2 Proof of concepts to be performed individually by
each partner.
• Being the basis for the data required from the Traffic Management point of view in the Canonical
Data Model.
The identified data structures cover the exchanged data, but also the requests of commands and
the alarms notified through the Integration Layer.
• Definition of the Integration Layer API to be exposed to the systems to be connected. This API is
the basis for the future Integration Layer implementation to be used in the X2Rail-4 project and
it can be considered at the moment like a guideline for the design and testing of the systems to
be connected to the Integration Layer and for the Integration Layer itself.
Based on the identified information and outside the scope of this deliverable and task the following
topics are identified to be faced in the X2Rail-4 project and in the Canonical Data Model group:
• To split between static and dynamic data.
• To define the level of dynamism of the dynamic data, that is to say, for each dynamic data to
identify how often it is expected that this data could be modified.
• To define relations and to organise the identified data in a global schema or data tree.
• To define relations with the identified data in the framework of the Traffic Management with the
identified data in other railway frameworks.
• To unify the identification rules of the elements and the available data formats.
• To define the persistency of the data elements in the Integration Layer.
GA 777465 Page 11 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
In the context of In2Rail both approaches were analysed and a concept of a wrapper-API was
introduced, which shall cover specific technology and product from TMS applications [In2Rail
D8.4]. As a concept the term “In-Memory-Data-Grid” was taken as a methapher as it covers well
the assigned functionality. It is clearly stated, that any technology can be used for the
implementation of Integration Layer, as long as it fulfils the wrapper-API.
The other aspect of Integration Layer is the separation between data definition and data
management and distribution. The Wrapper-API covers only data management and distribution.
The definition of the data structures was separated into another responsibility and named
Canonical Data Model:
- Integration Layer manages data as blackboxes, without “understanding” the content of the data.
This allows usage of different products from the market for the IL-implementation.
- Canonical Data Model specifies the data structures (classes and their serialisation) managed by
the IL.
Non-Functional Requirements
6.2.1 Communication
1. Connect consumer and provider: The IL shall be able to take a service call and messages to the
end-point; i.e., to enable a service consumer to connect/interact with service providers. The
connection is by publish-subscribe pattern.
2. Support of Different Transport/Application Layer (OSI) Protocols: IL shall provide the same
interface to its users, but may use different protocols to deliver messages. IL users are unaware of
how data are moved inside the IL. There is full separation between data delivery method and data
representation formats in IL from client application.
3. HTTP oriented: The IL shall also provide HTTP Interface methods.
4. Routing: The routing of Information Items from sources to destinations in respect of envisioned
messaging patterns (i.e. Publish/Subscribe, Request/Respond). The IL-clients are fully separated
from each other - no direct communication is possible - only over IL. The concept allows for a
specific IL implementation for configuration of communication routes. It is transparent to the
clients and is not part of API.
5. Route to correct provider: The IL shall be able to route requests and messages to the correct
service provider. The IL shall dispatch the request to the right service provider. A data centric
approach is selected: the services connect to standardized "service-request-topics", so the
requests are automatically routed to the service providers.
6. Dynamic end-point handling: The IL shall provide 'virtualisation', i.e. dynamic handling of end-
points (change of location of consumer and/or provider). This means that IL is in charge of
reconnecting service provider. The IL separates client application from the data transport protocol.
7. Message queuing: The IL shall be able to use message queuing to store and forward messages. A
data centric approach is selected: all messages are managed inside of IL.
8. Service registration: The IL should provide a mechanism for Service Registration. A client
application intended to provide a service registers itself at IL.
9. Service discovery : the IL provides standardized Topics for service requests: services discover
client requests, and not clients discover services and send them requests :
- Fail over: The IL should provide a mechanism for Handling failover of service instances.
Requests are managed by IL in a reliable manner. Restarting of services is transparent to the
client.
- Handling of unreliable network: The IL should provide a mechanism for handling issues
arising due to unreliable network by session management.
10. Configuration Control: The IL communications infrastructure shall be kept under configuration
control. Specific to IL implementation, the IL-API manages access control to the topics by
configuration.
11. Message integrity: The IL shall provide measures to ensure that for data messages integrity is
maintained. It can be implemented in IL-product or as part of the API-wrapper.
6.2.2 Availability
12. Availability 24x7: The operating environment hosting the IL, and the middleware part of the IL
itself, shall be designed to enable operation 24 hours a day, 365 days per year.
13. Guaranteed performance: The operating environment shall ensure that any connection to
administrative tasks or tools outside the IL environment will not compromise the IL’s performance.
14. Transmission service: The transmission part of the IL shall be capable of running continuously.
15. Switchover: The IL architecture shall provide switchover functionality in case of failure.
16. Minimum unplanned unavailability [MTBF|MTTR]: The middleware part of the IL shall be capable
of running continuously.
6.2.4 IT Management
20. Configuration: Reliability and Integrity
- Network configuration monitoring: The configuration of all communications infrastructure
shall be monitored outside the IL.
21. Monitoring & Measurement: The IL shall provide tools for monitoring, analysing, debugging and
tracing of Interface and Network activities. The IL shall provide Monitoring Topics and related
canonical model items shall be available. The configuration of all communications infrastructure
should be monitored and controlled to ensure that no unauthorised connections are made. Any
communication on IL is observable.
22. Alarms:
- Informing: The administrator of the IL should be informed about each event.
- Alarm format requirements:
− Real-time: The monitoring process should be in real-time.
− Communication monitoring: The communication mechanism provided by the IL shall
provide monitoring and measurements facilities for faults and performances.
6.2.5 Implementation of IL
23. Compliance with existing standards (e.g. EN.50159, EN.50129).
24. Public specification of middleware part of the IL: The middleware part of the IL shall be based on
publicly available specification, allowing a complete development of compatible implementation
of the IL by an independent party.
25. Run the IL in a virtual environment: It shall be possible to run the IL in a virtual environment.
26. SIL2: Most of the TMS functionality is not safety relevant, but it shall be possible to develop small
SIL2 components implementing at least validation of specific safety relevant aspects. Restrictions
the IEC 50128 defines for the pre-existing software in SIL2 (in this case middleware of application
framework) are:
- Documentation of requirements to this component, interfaces to other parts
- It must be included into validation process of the whole system
- It shall provide sufficient documentation.
The application layer shall enable development of SIL2 components according to EN 50128. Some
IMDG products already have safety and security certification.
27. SIL Apportionment: The IL shall allow the combination of plug-in in order to obtain the requested
SIL level.
28. Requirements related to API-Type:
- Library and framework APIs: The IL middleware shall support APIs based on software
libraries and software frameworks.
Functional Requirements
6.3.1.1 Authentication
29. Authentication mechanism: The IL shall provide an authentication system.
30. Access control: The IL shall prevent unauthorised usage of the IL.
31. Authorisation model: All functionality in the IL shall use the same authorisation model to
determine permissions.
32. Roles in the system: The IL shall allow managing and defining roles in the IL.
33. Users and Roles should be password protected: The IL shall allow for password protection of
users and roles and shall follow state-of-the-art rules for password management like e.g., "C2-level
Security" standard."
37. Compliance with ISO27001: The IL shall not prevent to be compliant with ISO27001 standards
(Information security management).
38. Compliance with ISO27002: The IL shall not prevent to be compliant with ISO27002 standards
(Information technology – Security techniques – Code of practice for information security
management).
39. IDS- Checks against malicious software: Checks against malicious software: The IL should support
an intrusion detection system.
6.3.3 Messaging
51. Point-to-Point: The messaging system shall support the Point-to-Point Channel pattern by private
topic for information receiver. As a particular case of the publish-subscribe pattern.
Compatibility information: The message payload model shall provide rules for documenting and
communicating compatibility breaking model changes.
The analysis of each product is completed by one partner or by the collaboration of a pair of
partners attending to the acquired knowledge by the use of the product or by accessing the
available documentation.
The following table includes the analysed products, its associated technology and the partner or
partners in charge of the analysis.
Middleware Product Site Reference Technology Assigned
Partner
Apache Kafka kafka.apache.org/ ESB STS / CAF
Infinispan (Red Hat) infinispan.org/ IMDG STS / BTSE
Hazelcast hazelcast.com/products/ IMDG BTSE / HC
JBoss Fuse (Red Hat) redhat.com/es/technologies/jboss- ESB CAF
middleware/fuse
Redis redis.io/ IMDG STS
Tibco ActiveSpaces www.tibco.com/products/tibco-activespaces IMDG IND
Tibco Rendezvous www.tibco.com/products/tibco-rendezvous MOM IND
Vortex DDS (Adlink) www.prismtech.com/vortex IMDG AZD
GA 777465 Page 20 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
Table 7.1: Selected Middleware Products
Evaluation Results
7.3.2.1.1 Strengths
Related to the requirements for the integration layer, Apache Kafka is able to run in a virtual environment
and support APIs based on different frameworks as:
• Connect API: development of connectors that continually pull from some source data system
into Kafka or push from Kafka into some sink data system
• Producer/Consumer API
• Streams API: continuous computation on input coming from one or more input Kafka
Additionally, it is platform-independent, being available for Linux, UNIX/BSD and MS Windows; and
scalable, providing topics as a category or feed name to which records are published/subscribed to. For
each topic, the Kafka cluster maintains a log partitioned between cluster servers, which means that the
log is able to scale beyond a size that will fit on a single server. Each partition is also replicated across a
configurable number of servers for fault tolerance.
Between its qualities highlight low latency, loosely coupling and virtualisation, allowing a complete
development of compatible implementation of the IL by an independent party.
End-to-end block compression feature may be enabled, which means that data can be written in
compressed format on the server by the producer and then decompressed by the consumer. Compression
will improve the consumer throughput for some decompression cost, and it is especially useful when
mirroring data across data centres.
Finally, encryption and authentication are functionality options available, and manage access control
(permissions) at topic level are defined by a pluggable and an out-of-box authorizers. Configuration of the
amount of memory allocated to topics, the use of network resources and tracing information provision
are also capabilities of this software, as well as monitoring and administration tools, which also provide a
set of APIs to enable the administration of the cluster.
On the other hand, and focussing on the requirements of the interfaces, Kafka supports different APIs for
C, C++, Java and C# as well as configurable logs and content transparency, supporting both simple and
complex data types. Related to exchange and data access, Kafka allows applications and modules to access
(read or write) groups of Key/Value Pairs of the same type, being possible for modules to be notified of
values changes. Also, it is possible to remove data previously stored by expiring date or explicitly, which
means that access to the history of key-value pairs per topic is permitted.
To sum up, the control access to data is possible by application or by person via topic, being all failed access
trials due to insufficient permissions logged, and the subscription to topics can be permanent or periodical,
allowing filtering of subscribed data.
7.3.2.1.2 Weakness
The main disadvantage to overcome using Kafka is being an Enterprise Service Bus (ESB) and not IMDG
software, as it was agreed in the IN2RAIL project.
Kafka is not message-oriented, it can be configured as a MOM without providing measures to maintain
messages integrity, so it needs to be implemented on the top of the middleware. Also, despite of the IL
shall be able to route messages based on their content, topic records may be routed to another topic via
the transformation mechanism, which are being evaluated.
It is available under Apache Software License 2.0: a permissive free software license written by the Apache
Software Foundation.
7.3.2.2.1 Strengths
Related to the requirements for the integration layer, Infinispan (Red Hat Data Grid) runs in a Java Virtual
Machine and allows execution both in a virtual environment and in containers. It supports both the built-
in library and the Java Application Server solution, and it is scalable, supporting the duplication and
fragmentation of key-value elements.
Additionally, it is platform-independent with a Java based implementation, Linux as preferred host system
and supporting MS Windows in its server implementation. It is also scalable and fault-tolerant with a high
availability, which means that supports duplication and sharding of key-value elements. Between its
qualities highlight low latency, loosely coupling and virtualisation, allowing a complete development of
compatible implementation of the IL by an independent party.
7.3.2.2.2 Weakness
Although Infinispan (Red Hat Data Grid) is not message-oriented, some message patterns can be emulated
using the Notification mechanism. The impossibility of using message queuing to store and forward
messages or the lack of support for message expiration as well as not dealing with message priority or
message compression are some of the problems that this middleware has to deal with.
Also, Infinispan (Red Hat Data Grid) does not provide measures to ensure data messages integrity is
maintained, and does not provide encryption functionality or route messages based on their content, so
these features need to be implemented on top of the middleware.
7.3.2.3 Redis
Redis is an open source, In Memory Data Grid (IMDG) structure store, used as a database, cache and
message broker. It is free for community edition, although there are other types of licenses like Cloud, VPC
(database as a service, managed), company, community, etc.
7.3.2.3.1 Strengths
Related to the requirements for the integration layer, Redis runs in C language and allows execution both
in a virtual environment and in containers. It supports the built-in library and it is scalable, supporting
scalability via Sharding and zero-latency proxy.
Additionally, Redis is platform independent, fault tolerant, and enterprises editions enable high availability
systems. . Also, Redis provides high throughput via different mechanisms command pipelining or multi-
core execution, highlighting low latency, loose coupling and virtualisation, allowing a complete
development of compatible implementation of the IL by an independent party.
Related to message transactions, they allow the execution of group of Redis commands in a single step,
not in the sense of the Transactional Client EIP. Either all the commands of a transaction or none of them
are processed, so Redis transaction are atomic. In addition, this software supports self-describing and
structured data formats such as XML or JSON and deals with message compression via additional plug-in.
Finally, access control (permissions) at topics level are available on a per database basis, which stores sets
of key-value pair, and port and network settings are available to configure the use of network resources,
but multicast is not provided. Redis also include both monitoring and administration tools (SLI natively
available).
On the other hand, and focussing on the requirements of the interfaces, Redis supports different APIs for
C, C++, Java and C# implementing Redis command set protocol towards brokers, as well as configurable
logs and content transparency (binary safe strings), supporting both simple and complex data types and
supporting the publish/subscribe pattern by the implementation via Notification/Listener mechanism.
Regarding the exchange and data access, Redis allows applications and modules to access (read or write)
both individual Key/Value Pair content in their binary serialised form and groups of Key/Value Pairs of the
same type, allowing modules to be notified of values changes (change of the serialised data) of given
Key/Value Pairs through pipeline commands. In addition, it allows the possibility to remove data by expiry
date or explicitly, being the modules notified of apparition and suppression of given Key/Value Pairs, and
it is possible to control access to data by application or by person via topics, so access control is limited to
authorization and failed access trials due to insufficient permission are logged.
To sum up, the topics can be static or dynamic, and new topics can be added simply by creating a new
element with a key that represents the new name of the topic, and subscriptions can be either permanent
or periodical, just unsubscribe the notification mechanism for K/V elements.
7.3.2.3.2 Weakness
Although it is not message-oriented, Redis can emulate some message patterns using the Notification
mechanism. The impossibility of using message queuing to store and forward as well as not dealing with
message priority or the lack of support for identification of message source are some of the problems that
this middleware has to deal with.
Also, Redis does not provide measures to ensure data messages integrity is maintained, and does not
provide encryption functionality or route messages based on their content, being unable to handle errors
from faulty messages, so these features need to be implemented on top of the middleware.
Finally, Redis does not configure the amount of memory allocated to topics and it does not allow access
to the history (with a configurable depth) of key-value pairs per topic, including not filtering the subscribed
data.
7.3.2.4.1 Strengths
Related to the requirements for the integration layer, IMDG Hazelcast is able to run in a virtual
environment and it supports the built-in library and software frameworks. It is also scalable and platform-
independent, working on a Java Virtual Machine, providing high throughput, low latency and loosely
coupling by providing APIs and mechanism to use. Additionally it provides virtualisation, allowing a
complete development of compatible implementation of the IL by an independent party.
In the context of messaging, it uses message queuing to store and forward messages, supporting the point-
to-point exchange pattern by using queues and the publish-subscribe exchange pattern by using topics,
but the request-reply exchange pattern can be only emulated by pair of queues. In addition, Hazelcast
offers support for message expiration and selector (filtering) by using predicate pattern, allowing
transactions and dealing with message compression (with default java serialization) and QoS, supporting
the identification of message source.
In addition, encryption and authentication are functionality options available, which guarantee data
message integrity is maintained and errors from faulty messages are handle. Related to data management,
access control (permissions) at topic level can be granted, allowing the configuration of network resources
(port, multicast ...) and providing monitoring and administration tools.
On the other hand, and focussing on the requirements of the interfaces, although Hazelcast is written in
java, it supports different APIs for C, C++, Python and C#, allowing the possibility to develop an IL-Wrapper
for the implementation of the data warehouse. Also, it supports configurable logs and content
transparency, allowing applications and modules to access (read or write) both individual Key/Value Pair
content in their binary serialised form and groups of Key/Value Pairs of the same type by implementing
extension of permission. Notifications of values changes and the apparition and suppression of given
Key/Value pairs can be achieved by listeners events, and the possibility to remove data by expiry date or
explicitly is also possible.
Control access to data by application or by person via topic is also a possibility with an implementation via
software, and dynamic and static topics can be created programmatically and configured in the same way.
7.3.2.4.2 Weakness
Although IMDG Hazelcast is not message-oriented, it is a classical Data Grid, so message communication
via queues and topics is possible, as well as a publish-subscribe mechanism. In addition, it does not support
request-response operation although a couple of queues can emulate it, and there is no message priority
or persistence.
Finally, the other problems this software presents are that it does not support for self-describing and
structured data formats such as XML, not allowing memory allocation for topics or maintain historical data.
7.3.2.5.1 Strengths
Related to the requirements for the integration layer, JBoss Fuse (Red Hat) is message oriented, with the
abilities of being run in a virtual environment and supporting APIs based on software libraries and
frameworks. Also, it is platform independent, scalable, and fault-tolerant (with high availability), providing
high throughput, low latency and loosely coupling, and allowing virtualisation and a complete
development of compatible implementation of the IL by an independent party.
In the context of messaging, it uses message queuing to store and forward messages, supporting the point-
to-point, the publish-subscribe and request-reply exchange patterns, as well as message expiration and
selector (filtering). JBoss Fuse (Red Hat) also deals with message priority, giving support for message
persistence and transactions and allowing self-describing and structured data formats such as XLM. It also
deals with message compression and QoS, providing encryption functionality and routing messages based
on their content.
In addition, and in terms of management, it is both configurable in terms of memory allocated to topics
and network resources as port or multicast, providing tracing information for specific topics or log files
and including monitoring and administration tools.
On the other hand, and focussing on the requirements of the interfaces, JBoss Fuse (Red Hat) supports
different APIs for C, C++, Python and C#, supporting configurable logs, content-transparency and the
publish-subscribe pattern. It is also loosely coupled, and supports both simple and complex data types. In
addition, the software allows the possibility to remove data by expiry date or explicitly, being possible to
control access to data by application or by person via topics. Also, it allows applications and modules to
access (read or write) individual Key/Value Pair content in groups of Key/Value Pairs of the same type,
notifying the apparition and suppression of given Key/Value Pairs.
To sum up, the topics can be static or dynamic, and subscriptions can be either permanent or periodical,
allowing the filter of subscribed data for current and previous values of data that has changed and the
access to the history with a configurable depth of key-value pairs per topic.
7.3.2.5.2 Weakness
The main disadvantage to overcome using JBoss Fuse (Red Hat) is being an Enterprise Service Bus (ESB)
and not IMDG software, as it was agreed in the IN2RAIL project. Between the weaknesses points of JBoss
Fuse (Red Hat) highlights the lack of capacity to provide measures to ensure that the integrity of the data
messages is maintained, neither supporting the identification of message source.
Also, there is no access control management (permissions) at topic level, and it does not allow applications
and modules to access (read or write) individual Key/Value Pair content in their binary serialised form, so
developing an IL-Wrapper for the implementation of the data warehouse is not possible.
7.3.2.6.1 Strengths
Related to the requirements for the integration layer, Vortex DDS supports the built-in library and software
frameworks, being platform independent and available in different platforms as Windows or Linux. It
provides low latency when exceeded, and loosely coupling by publish-subscribe, restricted by topic
definition.
In the context of messaging, it uses message queuing to store and forward messages, supporting the point-
to-point exchange pattern in a special case of publish subscribe, supporting message expiration as part of
QoS and message selectors (filtering) as complex expressions. Also, the software can deal with message
priority and supports message persistence as part of QoS. Additionally, Vortex provide measures to ensure
that data message integrity is maintained, providing encryption functionality and handling errors from
faulty messages by implementing additional services. Related to data management, the configuration of
the use of network resources as port or multicast is done automatically, including monitoring and
administration tools.
On the other hand, and focussing on the requirements of the interfaces, Vortex supports different APIs for
C, C++, Python and C#, allowing the possibility to develop an IL-Wrapper for the implementation of the
data warehouse. Also, it allows applications and modules to access (read or write) individual Key/Value
Pair content in groups of Key/Value Pairs of the same type, notifying the apparition and suppression of
given Key/Value Pairs. Removing data by expiry data or explicitly is also possible by removing it from cache,
so it is possible to set up history depth and to query the received data, allowing to subscribe to topics and
filter.
7.3.2.6.2 Weakness
Not allowing message-orientation and the inability of being run in a virtual environment, added to not
providing virtualisation not allowing a complete development of compatible implementation of the IL by
an independent party are some of the disadvantages of Vortex DDS.
Related to messaging capacity, it does not support the request-reply exchange pattern or the load-
balancing/distributed delivery, not supporting structured data formats as XML and not supporting
identification of data sources and, therefore, not being able to route messages based on their content.
Finally, the software does not provide a mechanism to manage access control (permissions) at topic level,
not supporting configurable logs and not logging all failed access trials due to insufficient permissions.
7.3.2.7.1 Strengths
Related to the requirements for the integration layer, Tibco ActiveSpaces is message-oriented and can be
run in a virtual environment, supporting APIs based on software libraries and software frameworks. It is
also independent of the platform (Apple Mac OS X, Microsoft Windows, Microsoft Windows Server and all
Linux distributions equivalent to RHEL), scalable with nodes that can be dynamically added or dropped,
and fault-tolerant through synchronous replication, storing data backups and status information on
several nodes. Additionally, Tibco ActiveSpaces provides high-throughput, maintaining several servers in
an active-active configuration, and provides loosely coupling and low latency by caching for fast data
access, providing virtualisation as well.
In the context of messaging, it supports the publish-subscribe exchange pattern, as well as message
expiration and selection (filtering), allowing persistence of messages by database or files and supporting
load-balancing messages thanks to a distributed dynamic architecture for transactions, storing complex
data types in its serialized from using simple types as XML. Related to data management, the configuration
of the use of network resources as port or multicast is possible, including monitoring and administration
tools.
On the other hand, and focussing on the requirements of the interfaces, Tibco ActiveSpace supports
different APIs for C, and java, allowing the possibility to develop an IL-Wrapper for the implementation of
the data warehouse. It allows applications and modules to access (read or write) both individual Key/Value
Pair content in their binary serialised form and groups of Key/Value Pairs of the same type, allowing
modules to be notified of values changes (change of the serialised data) of given Key/Value Pairs. In
addition, it allows the possibility to remove data by expiry date or explicitly (data purging is also
configurable), being the modules notified of apparition and suppression of given Key/Value Pairs, and it is
possible to control access to data at data grid level.
To sum up, the topics can be static or dynamic, and subscriptions can be either permanent or periodical,
allowing the filter of subscribed data for current and previous values of data that has changed.
7.3.2.7.2 Weakness
Between the disadvantages that Tibco ActiveSpace presents highlight these related to messaging, not
using a message queue to store and forward messages and not supporting the point-to-point or request-
reply exchange patterns. Also, it does not deal with message priority as well as message compression
(messages can be compressed, but this product does not deal with compression), neither dealing with Qos
or supporting the identification of message sources.
In addition, this software does not provide measures to ensure data messages integrity is maintained, and
does not provide encryption functionality or route messages based on their content, being unable to
handle errors from faulty messages, so an additional processing layer is required for this requirement.
Finally, Tibco ActiveSpace does not manage access control (permissions) at topic level (it can be managed
at data grid level). It does not configure the amount of memory allocated to topics and it does not allow
access to the history (with a configurable depth) of key-value pairs per topic, both characteristics
important to the correct functionality of the data management.
7.3.2.8.1 Strengths
Related to the requirements for the integration layer, Rendezvous is message-oriented and can be run in
a virtual environment, supporting APIs based on software libraries and software frameworks. It is also
independent of the platform (Apple Mac OS X, Microsoft Windows, Microsoft Windows Server and all
Linux distributions equivalent to RHEL), scalable and fault-tolerant. Additionally, Tibco Rendezvous
provides high-throughput, loosely coupling and low latency, providing virtualisation and allowing a
complete development of compatible implementation of the IL by an independent party.
In the context of messaging, it allows exchange pattern in different ways as point-to-point, publication-
subscription and request-response, offering support for message expiration and persistence in certified
delivery mode (reliable delivery mode offers persistence in memory and time limited). It also supports
load-balancing/distributed delivery and structured data format as XML, dealing with QoS in reliable and
certified delivery modes and supporting source identification.
Related to data management, access control (permissions) at topic level can be granted by another TIBCO
product, and the configuration of the use of network resources as port or multicast is possible, including
monitoring and administration tools, and providing tracing information as specific topics or log files.
On the other hand, and focussing on the requirements of the interfaces, Tibco Rendezvous supports
different APIs for C, Cobol, COM, C++, .NET and Java, supporting the publish-subscribe pattern,
configurable logs (file size, file number) and content transparency, and allowing both simple and complex
data types. In addition, it is possible to control data by application or by person via topics, being the
subscription to topics permanent or periodical.
7.3.2.8.2 Weakness
The main disadvantage to overcome using Tibco Rendezvous is being a Message Oriented Middleware and
not IMDG software, as it was agreed in the IN2RAIL project.
Also, other disadvantages added to this software are related to messaging, not using a message queue to
store and forward messages and not supporting for filter selectors or message priority, both of them can
only be done by topic. Also, it does not support transactions or message compression (messages must be
de/compressed at both ends).
In addition, Tibco ActiveSpace does not provide measures to ensure data messages integrity is maintained,
and does not provide encryption functionality or route messages based on their content, being unable to
handle errors from faulty messages, so an additional processing layer is required for this requirement. It
does not configure the amount of memory allocated for topics, and does not support configurable logs.
Finally, it does not allow applications and modules to access (red/write) the contents or history of the
Key/Value pair, not permitting filtering of subscribed data.
Evaluation Conclusions
After having studied and analysed the main characteristics that the different available middleware
solutions offer, it can be concluded that although none of the products covers all aspects 100%,
most of them cover a high number of the main requirements requested, so they can be employed
to check the different prototypes. Additionally, the IL allows different middleware to manage data,
so even though some of the analysed middlewares might have functionality lacks, these lacks can
be covered by other middleware specialised in these functionalities.
According to the requirements for middleware products defined for X2Rail-2 project, the main
aspect to be addressed by the different possible software is to present a platform compling with
In Memory Data Grid principals. This requirement belongs to the metadata management, which
encompasses the aspects to be considered for a successful data traffic management [In2Rail D8.2
& D8.3].
Due to this, the middleware software products that are based on an IMDG platform are (is possible
other):
Infinispan (Red Hat).
Redis.
Vortex (DDS).
IMDG (Hazelcast).
Tibco ActiveSpaces.
As it has been explained from section 7.1 to section 7.3, conclusions can be grouped as If the
middleware functionalities cover the main requirements (see Appendix A:) or not, which can be
summarised as:
Requirements for integration layer:
- General requirements for integration layer as the ability to run in a virtual environment
or the capability to support APIs based on software libraries/frameworks are successfully
covered by most of the proposed middleware; but other as being message-oriented or
the characteristic of being platform-independent, which are not completely covered by
the software, can be completed with the implementation of additional middleware.
- Related to messaging, the main characteristic covered by the middleware are the
support for message expiration, persistence, transactions and selector (filtering). On the
other hand, some common fields as the use of message queuing to store and forward
messages or dealing with message compression or priority cannot be fully covered by
the middleware, but they can be supported by other software as well.
- In terms of mediation with the IL, this is the weakest point for every middleware
proposed, only highlighting the encryption functionality and the ability to handle with
errors from faulty message in some software. To overcome these aspects, an additional
processing layer would be required.
- Finally, while some of the data management requirements are successfully achieved due
to the importance of this field as can be the incorporation of the monitoring and
administration tools, other important aspects like the configuration of the amount of
memory or the management of access control (permissions) at topic level are not fully
covered, but can be addressed by using different middleware.
Requirements for interfaces:
- General requirements for interfaces as the availability of using APIs for different
programming languages as C, C++ or java, or capability of supporting configurable logs
and support both simple and complex data types are successfully achieved by most of
the middleware. However, others as the possibility of the development of an IL-Wrapper
for the implementation of the data warehouse are hardly covered.
- On the other hand, most of the middleware have the tools to permit applications and
modules access and notify changes on groups of Key/Value Pairs of the same type.
Otherwise, control access to data via topics or history (with a configurable depth) are
some characteristics that are not reached by most of the middleware.
As result of all the characteristics explained above, it can be concluded that although not every
requirement is covered by each of the proposed middleware, the final goals of the middleware are
allowing the storage and exchange of information using unified formats between the applications
involved in the traffic management, stablishing different options related to message
communication and management, which are successfully reached.
Based on the analysis performed which provides an overview of the market, it can be concluded
that some of the In Memory Data Grid products comply partially with most of the main Integration
Layer requirement. The complete compliance would imply additional modules or adapters
covering specific requirements.
In the framework of the X2Rail-2 WP6 proofs of concept and prototyping activities, these products
can be used by the partners for implementing its own Integration Layer concepts. In order to align
the next prototyping activities in the X2Rail-4, in addition to use a common or a set of a reduced
common APIs, it would useful to use a common Integration Layer provided by an independent
partner.
The following table displays the results of testing the commercial products againts 57 criterial
explained in 7.1 Middleware Assessment Criteria:
Analysis Results
Product Partner Fully Partially Non Empty
Compliant Compliant Compliant
Apache Kafka STS - CAF 86,79 3,77 1,89 7,55
Infinispan (Red Hat) ASTS 62,26 7,55 24,53 5,66
Infinispan (Red Hat) BT 33,96 15,09 45,28 5,66
Redis STS 66,04 11,32 18,87 3,77
Vortex Dds (Adlink) AZD 33,96 22,64 30,19 13,21
Imdg Hazelcast BT 73,58 18,87 5,66 1,89
Jboss Fuse (Red Hat) CAF 90,57 0,00 0,00 9,43
Tibco Activespaces INDRA 64,15 5,66 28,30 1,89
Tibco Rendezvous INDRA 58,49 3,77 37,74 0,00
8 DATA STRUCTURES
The aim of this section is to collect the definition of data structures required for the operation of an
advanced Traffic Management System. This advanced TMS will be a distributed system based on
data formed by a set of business logic using data through Integration Layer according to a defined
Canonical Data Model (CDM). The IL will be in charge of the management of the required rights
to write and/or read data for each application.
The data structures for Integration layer, as defined on this document, only take into account the
data definition as structures for exchange of information between the integrated systems involved
in Traffic Management.
As a first approach to data structure definition, the following areas of information were explored
as sources of data:
• Infrastructure.
• Traffic Management System (TMS):
o Trains.
o Routing.
o Conflicts.
• Temporary Speed Restrictions (TSR).
• Possessions.
• Interlocking (ILX).
• Radio Block Centre (RBC).
• Trackside Automatic Train Operation (ATO).
• Energy Grid.
• Asset Management.
• Fleet & Crew.
• Driver Advisory System (DAS).
• Passenger Information System (PIS).
• Public Weather Information Service.
The main logical entitles managed such as trains, routing and conflicts have been considered as
sources of data within the TMS. Additionally, a common definition of the information related to the
static data of the topological network is intended to be analysed within the infrastructure area.
As indicated before, the purpose of this document is to define the dynamic data required for the
information exchange between the business logic involved in traffic management. Thus, the
purpose of this document is not the static definition of the infrastructure but the first attempt to
describe and standardize the dynamic data as part of a common language required for integration.
Only as a knowledge repository to obtain initial data. Never with the aim to substitute the use of
internal databases, inasmuch as any involved business logic requires to implement its own rules.
The main intention of this approach is to know and to perform the following aspects:
• What kind of data are able to be written into the IL and what is the system (or business logic)
source of the data.
• What kind of information is required to be consumed by other business logic in order to manage
the traffic
• Cover the exchanges of information within the systems involved in the prototypes of X2Rail-2
WP6.
• Carry out the data definition adapted as well for signalling under moving block as under fixed
block signalling.
During the process of data structures definition for an advanced TMS based on the IL it is required
to take into account the following principles with the aim to guarantee an easy and proper system
integration:
• The different functionalities of Traffic Management require different levels of data granularity.
• In order to provide place for new traffic features it is required that the Traffic Management
modules have available the usual managed data, but also additional information as boarding or
prognosis information useful for advanced functionalities.
• The modules in charge of the Traffic Management require information provided by external
systems, but also generate information to be consumed by them. Therefore, both aspects, the
information provided and the information required from other systems are relevant.
• The Integration Layer is the basis for allowing the exchanges of information between the
involved modules or systems.
• The exchanged of information is performed during the operation in real time, by means of
dynamic data. Most of the Traffic Management functions require to answer quickly after any
disturbance in the operation. Because of that, the complexity of the data structures should be
avoided in order to include all the required information, but not additional useless information
for the traffic management.
• The degraded situations during the operation should be taken into account.
With the aim to reflect the process of discovering data carried out along this task the structure of
the document is as follows:
• One chapter for each of the above mentioned areas, as sources of information.
• For each source of information the data have been identified according the following criteria:
o Data: Data that the business logic representing the area provides to the external systems
through the IL.
o Requests: Commands exposed by the business logic owner of the area to the external
systems to be invoked through the IL.
o Alarms: Type of alarms that the business logic owner of the data are able to generate.
o Data Received from External Systems: Data required from other areas that the business
logic owner of the area requires to use in order to provide their functions.
For covering the identification of the data structures, the identified areas have been distributed
among the involved partners according the following table.
GA 777465 Page 35 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
As first approach of identification of data, it has been agreed to postpone the unification of the
following aspect to later stages of definition of the Canonical Data Model:
• Rules of identification of attributes: The attributes of each source of information are expressed
in the most appropriate format according to the provider.
• Data formats: Several data formats are identified along the different areas.
• Inclusion of detailed units for each numeric attributes: The units can be indicated or left open
until later model specification.
In this sense, it has to be noted that the goal of this task is to identify the concepts and the data
to be exchanged between the several involved actors for supporting advanced functionalities of
traffic management. For each of them the list of attributes and possible admitted values are
provided in order to clarify the content of each identified structure, but without the goal of defining
completely a data model.
Infrastructure
The infrastructure section has been elaborated based on topology and positioning concepts from
RailTopoModel v1.0. The object “Route body” is based on the work of the EULYNX Data
Preparation (DP) cluster which is itself based on RailTopoModel. Both RailTopoModel and
EULYNX DP are initiatives with the participation of several European infrastructure managers.
Data produced by infrastructure should be defined at least with the following data:
• Switch.
• Crossing.
• Track.
• Bridge.
• Tunnel.
• Embankments.
• Line sections.
• Stations.
• Level crossing.
• Depots/yards.
• Access points/nodes.
8.1.1 Topology
Net elements are the basic elements that make up the infrastructure. Net elements can have
relations with other net elements.
Element constituted by more than one partial or complete constituent net elements in a given
order. If a constituent element is associated with intrinsic coordinates 0 and 1, as beginning and
end, then the whole linear element is part of the ordered association of net elements.
Ordered association of net elements
Attribute Attribute description Admitted values
ID Universal identifier UUID of ordered 128-bit code
association of net elements
Constituent net UUID of linear elements which UUID of net element
elements constitute the ordered association
Intrinsic coordinate Intrinsic coordinate indicating how Number between 0 and 1
beginning much of each constituent element is
relevant to the ordered associated net
element
Intrinsic coordinate Intrinsic coordinate indicating how Number between 0 and 1
end much of each constituent element is (greater than the
relevant to the ordered associated net corresponding intrinsic
element coordinate beginning)
Keeps orientation Whether orientation of constituent Boolean
element is relevant for ordered
association of net elements
Sequence Number which indicates sequence of Integer
constituent element in the ordered
association
8.1.2 Positioning
slope expressed as a
percentage
Max curve radius Curvature of the section Positive number
ID Identification for section Alphanumeric value
Access Type of restriction and
restrictions (TSR, Changes from designed limits associated reduced value
etc.) within permitted values
Siding possibilities Availability and access to sidings Boolean
Resilience to maximum permissible speeds and/or Conditions and associated
natural hazards axle loads under different conditions ranges of numbers
8.1.5 Point
Point includes points and other moveable elements allowing a train to move from one track to
another. For Germany, location of a point is measured with reference to the beginning of the points,
where they are welded to the rest of the track.
Point
Attribute Attribute description Admitted values
ID Universal identifier UUID of point 128-bit code
Point mechanism Indicates the type of mechanism string
used for its operation (manual,
electro-mechanical, etc)
Point type Indicates the type of point - simple points,
- double slip points,
- single slip points,
- moveable switch diamond
crossings,
- moveable crossing noses,
- derailers.
Trailing detection Indicates whether point is Boolean
equipped with trailing detection
Normal Position Position of the point blades for Left, right, straight
most frequent traffic and with the
highest speed
Reversed position Position of the point for the least Left, right, straight
frequently used route, which may
8.1.6 Signal
Track
Attribute Attribute description Admitted values
ID Universal identifier UUID of signal 128-bit code
Type Defines the type of information the Alphanumeric
signal conveys (advance, main,
shunting, composed…)
Functional type e.g. tunnel signal Alphanumeric
Geometric coordinates Coordinates in a chosen schematic, X, y, z coordinates
geographic or geodetic reference
system. Z coordinate is optional.
Associated net UUID of linear net elements to which UUID of net element
element the operational control point is
topologically related
Linear coordinate Intrinsic coordinate along the Tuple (intrinsic
associated net element. Optional: coordinate; vertical offset;
lateral and vertical (height) offset horizontal offset)
Application direction Whether the signal is used in the same Normal, reverse, both
direction of the net element to which it
is associated.
Aspect Aspect being displayed Alphanumeric
8.1.8 Bridge
Bridge
Attribute Attribute description Admitted values
Design life Expected life time at the design phase Positive number in years
Span length Length of the bridge between the two Positive number in
ends meters
Max design traffic load Maximal planned tonnage supported by Positive number in million
the bridge during its lifetime at design gross tons
phase
Max axle load Maximal load for one axle running on Positive number in tons
the bridge
Resilience to natural Maximum permissible speeds and/or Conditions and
hazards: max loading axle loads under different conditions associated ranges of
for lateral wind, snow, numbers
seism, hot
temperature
Associated net UUID of linear net element to which the UUID of net element
element bridge is topologically related
Linear coordinate of Intrinsic coordinate of the bridge start Tuple (intrinsic
start and end position and end on the associated net coordinate; vertical offset;
element’s curvilinear abcissa horizontal offset)
8.1.9 Tunnel
Tunnel
Attribute Attribute description Admitted values
Total length Length of the tunnel between the two Positive number in meters
ends
Associated net UUID of linear net element to which UUID of net element
element the tunnel is topologically related
Portal 1 geometric Coordinates in a chosen schematic, X, y, z coordinates
coordinates geographic or geodetic reference
system. Z coordinate is optional.
Portal 1 linear Intrinsic coordinate of the tunnel’s Tuple (intrinsic coordinate;
coordinate portal 1 along the associated net vertical offset; horizontal
element. Optional: lateral and offset)
vertical (height) offset
Portal 2 geometric Coordinates in a chosen schematic, X, y, z coordinates
coordinates geographic or geodetic reference
system. Z coordinate is optional.
Portal 2 linear Intrinsic coordinate of the tunnel’s Tuple (intrinsic coordinate;
coordinate portal 2 along the associated net vertical offset; horizontal
element. Optional: lateral and offset)
vertical (height) offset
Max loading gauge Max admissible vehicle gauge Listed [GC, GB+,GB, GA,
Universal] According with
UIC Loading gauge values
(EN15273)
Effective height Distance between the rail head and Positive number in meters
the OLE structure
8.1.10 Embankment
Embankment
Attribute Attribute description Admitted values
Geometric coordinates Coordinates in a chosen schematic,
of start and end geographic or geodetic reference X, y, z coordinates
position system. Z coordinate is optional.
Associated net UUID of linear net element to which
UUID of net element
element the tunnel is topologically related
Intrinsic coordinate of start and end
Tuple (intrinsic coordinate;
Linear coordinate of of embankment in relation to
vertical offset; horizontal
start and end position associated net element. Optional:
offset)
lateral and vertical (height) offset
GA 777465 Page 44 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
8.1.12 Station
Station
Attribute Attribute description Admitted values
ID Universal identifier UUID of station 128-bit code
Superstation ID Refers to the superstation in case this UUID of net element
macroscopic node is only part of what is
commercially refered to as one station
(e.g. "Frankfurt (M) Hbf lower level" as
part of "Frankfurt (M) Hbf)")
UUID of linear locations which
Linear location UUID of net elements
constitute the station
Halt A halt is similar to a normal station but Boolean
without any points
8.1.12.2 Platform
A platform is a section at a track where passengers can board trains. It is not intended as physical
platform: the physical platform can be longer than the usable section or there might not be a
physical platform at all.
Platform
Attribute Attribute description Admitted values
ID Universal identifier UUID of platform 128-bit code
Name Public name of platform (e.g. "9b") Alphanumerical
8.2.1 Data
Data related to trains have been conceptually classified according with the following items.
• Train Identification: It includes the General Data and the additional information regarding the
numbering and the service of the train.
• Train Timetable: Scheduled, target, forecasted and audited timetable data, and planned and
audited boarding and landing information.
• Rolling Stock: Scheduled, target and audited formation data, including details of vehicles and
containers.
• Train Staff: Scheduled, target and audited crew data.
• Train Path: Audited train path based on current location list data, expected detailed train path,
affections of TSRs to the train and Movement Authorities.
• Train Operation: Planned and energy consumption data, incidents and audited operation modes.
The attributes could be different for each Type of Additional Feature defined:
GA 777465 Page 49 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
• Type Numbering: Information of the several numbers or identifiers assigned to the train during
its life cycle.
• Type Stabled: Time lapses when the train is stabled, excluding the stops for boarding and landing
of passengers or goods.
• Type Moving: Time lapses when the train is providing commercial service, moving without
commercial service or shunting.
A timetable for a train running on D-day, will be formed by an ordered set of control points with
information related to the datetime when each event is scheduled/targeted/audited/forecasted and
information related to the event (start, end, stop or pass of a train).
In order to define data related to a train timetable the following data and attributes have been
identified.
The level of detail for the train data related to timetable is based on the required exchange of
information between the TMS and the external systems.
Established times and their related parameters for a train at each control point of the route.
According with the lifecycle of the train, usually the trains are scheduled in advance and its related
information is published on TMS. Train scheduling establishes the arrival and departure times that
needs to be fulfilled during operation in order to assure an optimal traffic management across the
networks. At this stage, the “Control Point” used to establish the arrival and departure times are
related to a macroscopic level of infrastructure, where the control point represents an entire node
of the network such as a station, a siding, a depot, etc. The list of control points used for this
purpose are defined by each IM as a set of control points where the time has been fixed and other
business services like ticketing or passenger information are aware of the same.
During operation, the arrival/departure times on these “control points” need to be respected and
the purpose of the TMS during operation is to evaluate deviations at this level of information, in
order to detect when to modify the scheduled movements is required.
For other purposes, like routing, it is required to use the microscopic level of infrastructure in order
to know the precise path used by the train. Times on microscopic level are not fixed, and are able
to be modified by the user during operation, in order to better fulfil the required.
Timetable information is defined to be exchanged between the systems in charge to monitor and
control the time and to improve the service quality.
Timetable Control Point
Attribute Attribute description Admitted values
Control Point Reference to an identified
String
location where is allowed to
define a datetime value for a
train movement (stop or pass).
Arrival DateTime DateTime when is planned that Timestamp
the train arrive to the control
point.
Commercial Departure DateTime defined officially for Timestamp
DateTime the departure time of the train
from a control point.
Technical Departure DateTime contemplating the Timestamp
DateTime reserved time for the departure
of a train in case it is required
additional dwell time for
technical purposes (such as
extra time for passenger
exchange in rush hour). This
time is reserved during the train
scheduling but may not be
necessarily respected during
the train operation.
Movement Type Defines if the train stops or Listed [Stop, Pass, Start, End]
passes at the control point.
Arrival Track Identification of the track within String
the node where is defined the
arrival of the train. In case of a
• Target data: During the train running, due to unscheduled events or traffic needs, the scheduled
rolling stock requires to be modified or completed with the identifiers of the specific vehicle.
• Audited data: It indicates the specific rolling stock that has been used. The intention here is to
collect or confirm that the rolling stock used is the informed on the target.
Scheduled Formation
Attribute Attribute description Admitted values
N x Scheduled Formation Ordered set of data related to Array [Complex [Scheduled
Control Point the formation of a train Formation Control Point]]
scheduled for each section of
the train route where the
formation does not changes.
8.2.1.3.7 Vehicle
Definition of the rolling stock used for a train formation. This data structure may be used to indicate
just the rolling stock type of a theoretical formation or the nominated rolling stock of a real-time
formation when available. The identification of the type of vehicle is used in order to obtain the
characteristics of each type of vehicle such as the physical and dynamic characteristics, the
features, the on-board equipment’s…
Vehicle
Attribute Attribute description Admitted values
Vehicle Identifier Identification of the specific String
vehicle (UIC)
Vehicle Type Identifier of the type of vehicle Listed [Vehicle Types]
Traction If the vehicle is pulling or not Boolean
during the section.
Loaded If the vehicle is loaded or not, in Boolean
case of wagons.
Goods Code Code related to the type of load Listed [Type of goods]
transported by the vehicle, in
case of wagons.
Goods Weight Total weight related to the load Numeric
transported by the vehicle, in
case of wagons.
Seals Number Number of seals closing used to Numeric
close the wagon during the
section.
Dangerous Goods If is included dangerous goods Boolean
in the vehicle, in case of
wagons.
Dangerous Goods Code Code related to the dangerous Listed [Type of dangerous
goods transported by the goods]
wagon.
Passengers Number of passenger on-board Array [Complex [Class,
by category Number of passengers]]
Line Permit Holder Lines allowed for the circulation Array [String]
of the specific vehicle.
Status Alarm Active affected Alarm to Listed [Alarm Status]
Vehicle. It is included only in the
Vehicle in the Audited
Formation in Section.
N x Container Ordered set of containers Array [Complex [Container]]
included over a vehicle, in case
of wagons.
8.2.1.3.8 Container
Data related to the load included over the wagons in case of trains related to transport goods.
Container
Attribute Attribute description Admitted values
Container Identifier Identification of the specific String
container (UIC)
Container Type Identifier of the type of Listed [Container Type]
container.
Loaded If the container is loaded or not, Boolean
in case of wagons.
Goods Code Code related to the type of load Listed [Type of goods]
included on the container.
Goods Weight Total weight related to the load Numeric
transported on the container.
Seals Number Number of seals used to close Numeric
the container.
Dangerous Goods If is included or not dangerous Boolean
goods in the container.
Dangerous Goods Code Code related to the dangerous Listed [Type of dangerous
goods included on the goods]
container.
• Target crew: During the train running, due to unscheduled events or traffic needs, the scheduled
staff may require to be modified or completed with the identifiers of the staff.
• Audited crew: It indicates the specific staff that has been involved. The intention here is to
collect or confirm that the staff really involved is the same as informed on the target staff.
The Movement Authority information of a train collects the data of the authorities of movement
provided to the train. Several systems could provide this information, according to the signalling
and train protection systems. The data covers the maximum information that could be provided,
but according to the different systems, not all of them could be included.
Movement Authority
Attribute Attribute description Admitted values
Movement Authority Identifier of the Movement String
Identifier Authority when it is managed by
other system.
Movement Authority System provider of the Listed [ERTMS1, ERTMS2,
Source Movement Authority to the train. CTC, Signaller, Shunter,
PICOP, Driver]
Reception Point Location element where the Complex [Location]
train is notified of the MA.
Reception DateTime DateTime when the train is Timestamp
notified of the MA.
Start Point Location element where the MA Complex [Location]
starts.
End Point Location element where the MA Complex [Location]
ends.
Authorized Overtake Indication if overtake is Boolean
authorized.
Overtake Signal Identifier of the signal to be String
overtaken.
Section Length Length of the section of the MA. Numeric
Section Time Limit Time limit the MA is valid. Numeric
8.2.1.6.11 Incident
This information includes the incidents that affects the train during its running.
Incident
Attribute Attribute description Admitted values
Location Location element where the Complex [Location]
incident occurs.
Incident Type Type of Incident. Listed [Delay, Cancellation,
Reverse, Detention]
KP – Line Section Kilometric Point at Line Section Complex [Numeric, String]
where the incident occurs.
8.2.2 Requests
8.2.3 Alarms
Target Formation in The system show the target Complex [Target Formation in
Section information, full or section. Section]
Audited Formation in The system show the received Complex [Audited Formation
Section information, full or section. in Section]
Planned Energy The system shows the planned Complex [Planned Energy
Consumption in Section information, full or section. Consumption in Section]
Audited Energy The system shows the received Complex [Audited Energy
Consumption in Section information, full or section. Consumption in Section]
8.3.1 Data
The aim of this chapter is to collect the information related to the routing of a train. It is possible to
find one or more routes in a sequence to describe the path managed by the Traffic Managed
System.
The attribute “Train ID” is optional.
8.3.1.1 Route
Route
Attribute Attribute description Admitted values
Route Entry Element The element to start a route, String
this point sets the entry. Usually
signal.
Route Exit Element The element to end a route, this String
point sets the finish.
Route Setting DateTime The datetime to start the route. Timestamp
Route Release DateTime The datetime to release the Timestamp
route.
Route Formation Timestamp
Route Formation Time
DateTime
Route Type Defined type of route in the Listed [Train, Shunting, …]
system.
Routing Mode Routing Mode. Listed [Automatic, Semi-
Automatic, Manual]
Static Route Identifier Route identifier in interlocking String
infrastructure
Automatic Succession Indication if the automatic Boolean
succession is provided.
TrainID Unique identifier of the train IDtype
8.3.1.2 Route-Programme
Route-Programme
Attribute Attribute description Admitted values
N x Route Sequence of routes assigned to Array [Complex [Route]]
the train.
8.3.2 Requests
8.3.3 Alarms
8.4.1 Data
8.4.1.1 TSR
Temporary Speed Restriction
Attribute Attribute description Admitted values
TSR ID Identification of the Temporary Speed Alphanumeric unique
Restriction identifier
Speed Value of the maximum allowed speed Numeric 0 - 600 km/h (1 km/h
for the TSR resolution)
Start location Kilometric Point of the start of the TSR Numeric (in cm)
Start track id Identifier of the track for the start of the Alphanumeric unique
TSR identifier
End location Kilometric Point of the end of the TSR Numeric (in cm)
End track id Identifier of the track for the end of the Alphanumeric unique
TSR identifier
List of track ID’s List of identifiers of all the tracks List alphanumeric unique
between start and end of the TSR identifiers
GA 777465 Page 82 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
Traction type Identifies traction type according to (see 7.5.1.86.1 of SRS 026
national specification NID_TRACTION)
Train category Identifies train category according to (see 7.5.1.84 of SRS 026
national specification NC_TRAIN)
Axle load category Identifies axle load category according (see 7.5.1.62 of SRS 026
to national specification M_AXLELOADCAT)
Cant deficiency Identifies cant deficiency according to (see 7.5.1.82.1 of SRS 026
national specification NC_CDIFF)
Loading gauge Identifies loading gauge according to (see 7.5.1.68 of SRS 026
national specification M_LOADINGGAUGE)
Hour of activation Hour when the TSR is activated Hour
Date of activation Date when the TSR is activated Date
Expected duration To be used for timetable forecasting Hours
Audited duration Time duration of the TSR to be audited Hours
Direction TSR applies to one or both directions Up / Down / both
Airtight TSR applies to train with/without not fitted / fitted / both
airtight system or both
Train length delay TSR is valid until front/rear end of train front / rear
passes the end of the TSR
Revocable Indicates if the TSR is revocable Yes / No
Text message Text message associated with the TSR text
Cause Cause for the TSR text
Text distance Distance in advance of the TSR to text
inform the driver
Responsible Person who activated the TSR text
8.4.2 Requests
Train category Identifies train category according (see 7.5.1.84 of SRS 026
to national specification NC_TRAIN)
Axle load category Identifies axle load category (see 7.5.1.62 of SRS 026
according to national specification M_AXLELOADCAT)
Cant deficiency Identifies cant deficiency according (see 7.5.1.82.1 of SRS 026
to national specification NC_CDIFF)
Loading gauge Identifies loading gauge according (see 7.5.1.68 of SRS 026
to national specification M_LOADINGGAUGE)
Hour of activation Hour when the TSR is activated Hour
Date of activation Date when the TSR is activated Date
Direction TSR applies to one or both Up / Down / both
directions
Airtight TSR applies to train with/without not fitted / fitted / both
airtight system or both
Train length delay TSR is valid until front/rear end of front / rear
train passes the end of the TSR
Revocable Indicates if the TSR is revocable Yes / No
Text message Text message associated with the text
TSR
Cause Cause for the TSR text
Responsible Person who stablished the TSR text
8.4.3 Alarms
• TSR establishment rejection
• TSR activation rejection
• TSR remove rejection
• TSR purge rejection
• Fail of an equipment related to TSR
Conflicts
8.5.1 Data
The aim of this chapter is to collect the information related to the conflicts which can occur in a
timetable.
The term conflict can be interpreted quite widely.
The objective of this section is to specify one class diagram able to define any type of warning,
error and conflict in a similar way, as a compiler produces its error and warning list:
• Invalid object link – the available reference points to a non-existing or invalid object in the
timetable, e.g. “NextTrip”-connection points to a cancelled trip.
• Invalid object value – an attribute of an object is not sufficient for the operation, e.g. available
TrainProtection-Attribute has value “ETCS-1” on the path including mandatory “ETCS-2” value.
• Limited resource – a set of objects require usage of a resource with limited capacity
concurrently, e.g. two trains plan to reserve the same track at the same time, or the same rolling
stock is allocated to several trips concurrently.
Trip
DirectedTrack
trackRef: string
dirUp: boolean
In this case the conflict is defined by using the same trackRef by two train at the same time. If the
collision is rear or crossing the client application can deduce from the dirUp-Attribute – if both are
true, it is a rear collision, if they are different, it is a crossing.
{
“Id”:”eea-e2”,
“conflictType”:”LimitedResource”,
..”object”:”/2/2[52]/2[t221]”, //reference to the track
“objectType”: “TP.Track”,
“severity”:”warning”, //the operation can continue if ARS works properly
“conflictingObjectLinks”: [
“/3/2[20180302]/2[2003]/3[#4]”, //Trip.Path.TrackIndex
SandboxManagement
Sandbox
Conflict ChangeSet
If a ChangeSet resolves some conflicts it can reference them by additional aggregation relation.
Conflict detection
module
Sandbox
Conflicts
Figure 8.3 – Possible setup for a conflict detection module with Integration Layer
Possessions
8.6.1 Data
Data related to possession are defined according with the life-cycle of the possession and its
management in relation within the traffic management. In this sense, we have identified the
following entities associated to the possessions as a sub-set of information provided by the system
in charge of maintenance.
In order to improve the scheduling of the amount of works required, the following approach uses
the capacity to define possessions associated to each scope of works to be carried out in a
delimited area with the aim to allow improve the use of the affected infrastructure facilities when
the works are finished regardless several possession belong to a same business reference.
In case a possession is authorized periodically (such as Mondays from 04:00h-06:00h), according
with the scope of the traffic management, into the IL this authorization needs to be modelled as
several possessions with the same business reference but with the authorized start/end datetimes
related to each Monday. In the same way, the amount of works for a single day associated to a
business reference can be scheduled independently and generate several possessions.
This structure is also useful for defining independently several works each of them in a possession
related all them to the same maintenance activity, and therefore all of them with a common
business reference.
In order to provide new business logic to traffic management, the following approach tries to
manage separately the data of the possession related to:
• General Data of the possession: Location, type and nature of works.
• Timetable and its evolution (scheduled, target and audited).
• Data related to the involved resources required for reparation (work team and rolling stock).
• Data related to the elements that needs to be repaired and the nature of the works required.
8.6.1.1 Possession
According with the life-cycle of the railway operations the works related to the possession are
scheduled temporally and several resources (staff or rolling stock) may be required for reparations.
These scheduled works are able to be modified if required by the operator of the traffic control,
establishing a new scheduled of works for the possession. These modification related to the time
where the works needs to be placed are collected as target data.
Scheduled data are based on the authorized time of the possession request, but target data
according with the status of the traffic and the availability of the resources may increase or reduce
the time window.
Despite this scheduling of works, the duration of the works may differ from the scheduled or target,
thus, audited data, register the real time where the works have taken place.
The works related to the possession usually involve in some way the use of other elements or
locations of the infrastructure during the time that the possession is in use. The following approach
defines the location of the possession through the identifiers of the signals protecting the entire
area (borders). As additional information for the TMS, the collection of the specific elements that
needs reparation and their main attributes may include as repairing elements.
Possession
Attribute Attribute description Admitted values
General Data Borders, status and Complex [General Data]
additional information.
Possession Scheduled Working times defined Complex [Scheduled Data]
Timetable Data originally, when the
possession is notified by the
maintenance system
(authorized).
Possession Target Working times to be used in Complex [Target Data]
Timetable Data case that a modification is
required according with the
traffic situation.
Possession Audited Working times when the Complex [Audited Data]
Timetable Data works has been take place.
Repairing Elements Identification of the Array [Complex [Repairing Element]]
elements that need to be
repaired and information of
the status of the reparation.
management system
associated to the
possession (if any).
Status of repairing work Indication if the work is in Listed [Not Started, Working,
progress or completed. Fixed, Cancelled]
Start Datetime Datetime when the element has Timestamp
been started to be repaired.
End Datetime Datetime when the element has Timestamp
been finished to be repaired.
Manager System System that controls the Listed [Signalling, Energy]
element.
Required Operation Description of the work nature to String
be solved in order to Required
operation about the refer
element
Protection Required Additional information related to Array [Complex [Protection
the safety measures required to Type, Location]]
accomplish the repairing works.
Ways of making sure that a line
is protected. This includes
keeping signals at danger,
placing detonators on the line,
using a track circuit operating
clip and showing a hand danger
signal.
8.6.2 Requests
The possessions are managed outside the TMS and its lifecycle is responsibility of the system
managing them. This system could be part of the maintenance system or be an intermediate entity
between the maintenance and the TMS. According to the situation of the works and the decision
of maintenance, the system in charge of managing the possession could receive from external
systems through the IL requests for creating, modifying, auditing or cancelling possessions.
8.6.3 Alarms
Interlocking
8.7.1 Data
8.7.1.3.1 Track
Track
Attribute Attribute description Admitted values Source
Unique identifier of the
ID IDtype assigned
track/line
DataValid Are the further data valid? Boolean interlocking
Is the given track/line
Occupance Boolean interlocking
occupied?
Trains being currently on
Trains TrainList interlocking
given track/line
Direction Currently assigned direction DirectionType interlocking
DirectionChange Status of direction assignment DirectionChangeType interlocking
could contain identifier of valid
AssignedRoute route or a special value for "no ExtendedRouteIdType interlocking
route set"
8.7.1.3.3 Signal
Signal
Attribute Attribute description Admitted values Source
SignalID Unique identifier of the signal IDtype assigned
DataValid Are the further data valid? Boolean interlocking
8.7.1.3.4 Switch/Point
Switch/Point
Attribute Attribute description Admitted Source
values
SwitchID Unique identifier of the IDtype assigned
point/switch
GeoPosition geographical position of the GeoCoordinates asset mgmt
point
LinearPosition linear position of the point LinearCoordinate asset mgmt
related to the beginning of
the route
PointVariant determines configuration of PointType asset mgmt
the point
MaxSpeedLeft maximal speed for passing integer asset mgmt
the object when set to left
MaxSpeedStraight maximal speed for passing integer asset mgmt
the object when set to
straight
MaxSpeedRight maximal speed for passing integer asset mgmt
the object when set to right
MaxAxleLoad maximal axle load for float asset mgmt
passing the object
DataValid Are the further data valid? Boolean interlocking
8.7.1.3.5 Train
Train
Attribute Attribute description Admitted values Source
TrainID Unique identifier of the IDtype assigned
train
DataValid Are the further data valid? Boolean interlocking
TrainNumber IM-related train number Integer interlocking
(the one displayed to
operators)
ShouldBeHeld should the train be Boolean interlocking
stopped and held? reflection of TMS
isARSallowed is automated route setting Boolean interlocking
allowed for this train?
isATOallowed is automated train Boolean interlocking
operation support allowed
for this train?
isATOcapable is the train able to use Boolean interlocking
ATO?
ETCSlevelSupported what levels of ETCS is ETCSlevelListType interlocking
the train capable?
ETCSlevelRunning what level of ETCS is the ETCSlevelType interlocking
train currently using?
8.7.1.3.12 Interlocking
Interlocking
Attribute Attribute description Admitted Source
values
InterlockingID Unique identifier of the IDtype assigned
interlocking
AvailableInterfaces What interfaces are available? InterfaceList asset mgmt
DataValid Are the further data valid? Boolean interlocking
ControlPlace From where it is controlled? IlxControlPlace interlocking
ControlMeans How it could be controlled? IlxControlTypes interlocking
ActiveInterfaces What interfaces are used? flags interlocking
8.7.2 Requests
The intents for changing behaviour or status of interlocking could be grouped into at least the
following levels:
1. clear changes that do not negatively influence safety situation.
2. changes that need to be done carefully (e.g. they do not mean safety issue but probably can later
cause other issues)
3. changes that weaken safety measures (i.e. they must be done on someone's explicit
responsibility)
• Safety measures could vary; some could be set by national legislative or could be infrastructure-
manager dependent.
• Data sent by TMS to ILX are generally of two possible natures:
1. request - TMS states what it needs and the ILX can reject the request immediately or try
to apply and then report the result. ILX can ask for acknowledgement of the request. The
importance of the acknowledgment and the means used for it could vary. The reporting
can be provided directly (by answering the request) or indirectly (by appropriate
changing of system status).
2. Information (not necessarily supported in all systems).
• Protocol schemata:
1. TMS sends a request, ILX acknowledges it or changes its state (can be recognized from
the state sent regularly form ILX to TMS)
2. TMS sends a request, ILX rejects it (in the case that the operation is not possible or safe
yet) TMS sends a request, ILX sends (optionally) some information and asks for
acknowledgment; TMS can reject it (and then the request is cancelled) or send the
acknowledgment and ILX will try to fulfil it. It is possible that the request could be still
rejected (e.g. something happened in the meantime so the request became more
dangerous than when sent first, something could get broken or locked).
3. The same in point 3 but ILX asks not for acknowledgment but for taking explicit
responsibility for something critical (usually requiring more complex acknowledgment
like special reply from the user).
• Sent data should be small and of some reasonable frequency only -- it should not be possible to
congest ILX with requests.
General Setting
• full item identification
• current item state
• desired item state
The current state could be in some settings optional -- it is for being sure that the requesting application
is aware of the current state (that the request is not outdated).
8.7.3 Alarms
Something needs priority handling; this communication is originated by ILX but the response from
TMS is expected.
• Something get broken
o alarm id
o full item identification
o error status
This alarm can require more time to resolve; it is therefore possible that some system could require
multiple acknowledgements: one for accepting the information, one for making the workabouts
and one for fixing the situation. The handling could also depend on the severity of the issue
• Acknowledgement of a request
o request id
o message
o acknowledgment type
• Something timed out
o alarm/request id
o notification message
o acknowledgment type
8.8.1 Data
8.8.2 Requests
8.8.3 Alarms
At least the following alarms have been detected related to RBC:
• Unconditional Emergency Stop sent
• Conditional emergency Stop Sent
• Unconditional Emergency Stop sent Acknowledged by the train
• Integrity Lost / Recovered
8.9.1 Data
1Stopping point refers to the Stop point described in Chapter 6 – Infrastructure. The naming should be
aligned with ATO WP and Subset-126 / Subset -125.
All location information is referred to a Segment Profile ID and given as a distance from the
beginning of that SP, unless otherwise specified.
The Journey Profile identifies, for each Stopping Point, if the ATO-OB must manage train doors
opening (including the sides for opening the doors) and train doors closing.
The identifier of a Timing Point is composed of a country/region identity number and a TP identity
number within the country/region.
The ASR includes any TSR defined by the ETCS and may include any operational speed
restriction requested by IM or RU.
The Journey Profile, sent from the ATO-TS, identifies Stopping Points for train from the list of
Timing Points included in the Segment Profile and if the train must align to a Stopping Point with
its front, its middle or its rear end.
ATO requires synchronization with UTC time.
Variables have one of the following prefixes:
Prefix Explanation
A_ Acceleration
D_ Distance
G_ Gradient
L_ Length
M_ Miscellaneous
N_ Number
NC_ Class Number
NID_ Identity Number
Q_ Qualifier
T_ Time/date
V_ Speed
X_ Text
[N_ITER] specifies the number of iterations of a variable or group of variables which follow.
If [N_ITER] is 0 then no variables follow.
The SP contains:
• For Balises:
o BG identifier;
o Position of the balise in the balise group;
o Balise location.
• For Timing Points:
o TP Identifier;
o TP Location;
o Stopping tolerance;
o Stopping Point Reached distance;
o TP Name.
• Information on:
o Platform areas;
GA 777465 Page 122 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
o Tunnels;
o Powerless sections;
o Axle Load Speed Profiles;
o Stopping points in rear of an unprotected level crossing;
o Permitted Braking Distance;
o Switch off Regenerative Brake areas;
o Switch off eddy current brake for service brake areas;
o Switch off eddy current brake for emergency brake areas;
o Switch off Magnetic Shoe Brake areas.
The identifier of a Segment Profile is composed of a country/region identity number and an identity
number within the country/region.
A SP may be used in nominal or reverse direction. The nominal direction of a SP is defined by the
direction from beginning to end. It is an engineering decision.
The Segment Profile definition shall ensure that two consecutive SPs are contiguous, i.e. there is
no location gap nor overlap between them.
All location information shall be given as a distance from the beginning (nominal direction) of the
Segment Profile, unless otherwise specified.
The distance to stop in rear of an EOA shall be given as a distance from the EOA.
Each SP shall have a unique identity number within an ETCS NID_C area.
The Segment Profile shall have a version number to detect if the Infrastructure Manager has
brought some changes i.e. if a Segment Profile stored in the ATO-OB has become obsolete.
For each data type, the list of items shall be included in increasing order of location starting from
the beginning of the Segment Profile.
Attribute Attribute Description Admitted values
Number SPs in the packet.
[N_ITER]
Identity of the SP’s country or Data to be available in SP
region Topic
[NID_C (k)]
SP identity Data to be available in SP 32 bits
[NID_SP (k)] Topic
Status of the SP Not necessary to be 0 = Invalid (SP not found in
[Q_SP_Status (k)] available as Data on IL, ATO-TS database.
TMS provides always the 1 = Valid (SP requested)
updated version, whilst the
“elder” versions may be
persistent on IL
STR content:
• Current ATO state in use
• Indicators for:
o Next Stopping Point Skip
o Low adhesion reported by the driver
o Slip/Slide indication detected by external system,
o Operational conditions fulfilment,
o Train is moving,
o Train is unable to stop at the next Stopping Point.
• Current Speed of the train when the STR is sent.
• Driver identifier number
• Identifiers of the SP and Position of the estimated front end of the train at the moment the STR
is sent, relatively from the beginning of the given SP.
• Identifiers of the previous TP's and indication whether the train
o has stopped
o has departed from
o has passed
o has stopped accurately or not at the stopping point
• Identifiers of the next TP's and indication on
o Arrival date
o Time to arrival (in sec)
Energy Grid
The state of the energy grid influences operations in TMS in several ways:
• Outages of power supply limit usage of electric locomotives in restricted areas,
• Rerouting of trains must consider current and future state of the energy grid,
• Limitations of available power supply (e.g. due to maintenance of power substation) limit
acceleration ability of the trains, especially for concurrently accelerating trains,
• Power consumption peaks on “old” energy supply systems could activate protection relays and
disturb train operations considerably.
Infrastructure
*
*
(dynamic) *
FeedingSection
NetElement
Figure 8.4 – Basis class diagram for static configuration of energy grid in TMS
8.10.1 Data
Feeding section “static” data
Parameters Parameter description Admitted values
ID Identifies the power section. 40 bytes alphanumeric
unique identifier
netElements A sequence of NetElements covered by Sequence of references to
the PowerSection. NetElements.
startPos Start position on the first NetElement Length in cm from the
covered by the power section. beginning of the first
NetElement.
startDirUp True, if the direction on the NetElement True, False
at the beginning covered by the Power
Section is in the same direction as
NetElement.
In addition to the seldom changing configuration of the FeedingSections their dynamic state shall
be published on the Integration Layer. The values can be published on different topics (e.g. voltage
separated from power consumption).
FeedingSection “online” data
Parameters Parameter description Admitted values
ID Identifies the power section. 40 bytes alphanumeric
unique identifier
voltageDrop Deviation of the current voltage Integer in [0.1 Volts], max
from the default value. 10kV
actualCurrent Current power consumption on the Integer in [Amper]
PowerSection.
catenaryTempReserve Remaining temperature capacity of Promille (Tmax – T)/Tmax
? the catenary until it gets too hot and
must be switched off.
On If false-the FeedingSection is not boolean
connected to power supply.
Substation 1 Substation N
PowerSupplyConfigurationLogic
FeedingSection
TMS-Logic
There are several active logics inside of the system (s. Figure 8.5):
• Power supply configuration logic dynamically reconfigures the power supply from the
substations to single Feeding Sections in dependence of many parameters (maintenance actions
in substations, penalties for power peaks, limits in equipment etc.).
• TMS logic assigns trains to FeedingSections by modification of the timetable.
• Automatic Train Operation (ATO) unit on board decides, when to apply which acceleration rates.
• Train driver defines acceleration rates.
“active” power station consume more power. In total the trains in conflict would increase their run
time by several seconds. If this “inherent” conflict resolution is not acceptable, the TMS could use
its degrees of freedom to rearrange the power consumption between trains according to some
other algorithm.
This topic is currently a subject of research. Hence the data structures on IL are not clear yet and
will be defined in the future projects.
8.11.1 Data
This section contains the data published to the Integration layer from the Crew and Rolling Stock
management systems.
This is split into 5 sections:
1. Common Data Structures
2. Crew related Data
3. Passenger allocation and consist Data
4. Freight allocation and consist Data
5. Vehicle Characteristics
In the following sections, some of the attributes within a data structure are themselves formed of
data structures defined within the chapter. To indicate this, the data structure forming the attribute
will be surrounded by curly braces ‘{}’ within the Admitted Values column. E.g. {Vehicle}.
At the beginning of sections 8.11.1.2, 8.11.1.3 and 8.11.1.4 is a diagram to show the hierarchy of
the data structures.
8.11.1.1.1 Location
This data structure holds the information needed to identify locations.
Location
Attribute Attribute description Admitted values
CountryCodeISO Country Code (eg: GB) Country Codes
LocationPrimaryCode UIC Location Code UIC Location Code
PrimaryLocationName Location Name Alphanumeric
LocationSubsidiaryIdentific Enables use of Local Country {LocationSubsidiaryIdentificat
ation Location ion}
8.11.1.1.2 LocationSubsidiaryIdentification
GA 777465 Page 144 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
This is required for Railways where a local system for identifying locations is also required.
LocationSubsidiaryIdentification
Attribute Attribute description Admitted values
LocationSubsidiaryCode Local Country Location ID Alphanumeric
LocationSubsidiaryTypeC Local Country Location ID Type Defined by country
ode
AllocationCompany UIC Company Code for IM UIC Company Code
(Infrastructure Maintainer)
8.11.1.1.3 OperationalTrainNumberIdentifier
This is the Operational Train Number for the running train service.
OperationalTrainNumberIdentifier
Attribute Attribute description Admitted values
OperationalTrainNumber Operational Train Number Alphanumeric
8.11.1.1.4 TransportOperationalIdentifiers
It’s crucial that the Train service related to the shift leg and consist allocations is uniquely
identifiable. This data in this structure ensures that is possible. In some cases the operational train
number is not enough to achieve this.
TransportOperationalIdentifiers
Attribute Attribute description Admitted values
ObjectType Planned Path (PA) in Schedule Train ‘PA’
ID Type
Company UIC Company Code for IM UIC Company Code
(Infrastructure Maintainer)
SecondaryTrainIdentifier Secondary attribute for uniquely Alphanumeric
identifying a train. May be country
specific.
TimetableYear Current System Year Numeric (Year)
StartDate Planned Departure Date of train Date (YYYY-MM-DD)
(YYYY-MM-DD)
8.11.1.2.1 CrewShiftAllocation
The ‘CrewShiftAllocation’, defines the overall shift for a crew member. This can be used to identify
the deployment plan for a crew member, showing their assignment to schedules. This includes
the identification of the Shift, the start and end times of the shift and the planned and allocated
resource for the shift
The ‘CrewShiftLeg’, is the repeatable structure that holds the data for each leg (activity) of the
shift.
CrewShiftAllocation
Attribute Attribute description Admitted values
CrewShiftAllocationType Defines if this is a Simulated plan or live 0 = Simulated (What
plan that has been implemented by the If) / 1 = Live
crew rostering system. (Implemented in the
Crew Rostering
System)
CrewShiftName Shift Description / Crew Diagram Name Alphanumeric
used by RU (Operator)
CrewShiftDateTimeOn Date & Time of shift START (UTC + Datetime
Offset)
CrewShiftDateTimeOff Date & Time of shift END (UTC + Datetime
Offset)
CrewShiftID Unique ID for Crew Shift - Guaranteed Alphanumeric
Uniqueness and non- traceability to the
person, compliant with the General
Data Protection Regulations
CrewShiftRoleRequired Agreed Terms for Crew eg: Driver, Alphanumeric e.g.
Guard etc. Driver, Guard
CrewShiftAllocationLastUpda Last Date Time at which Shift Allocation Datetime
teDateTime was last updated (UTC + Offset)
CrewShiftAllocation
Attribute Attribute description Admitted values
CrewShiftAllocationStatus Status of the allocation e.g. planned, Alphanumeric
assigned, in progress, complete
CrewShiftAllocatedResource Currently Allocated Resource {CrewShiftResource}
CrewShiftPlanedResource Originally Planned Resource {CrewShiftResource}
CrewShiftLeg Each activity of the crew member N x {CrewShiftLeg}
8.11.1.2.2 CrewShiftResource
This holds the id of the Crew Resource. This is used to identify the crew member related to the
shift.
CrewShiftResource
Attribute Attribute description Admitted values
CrewShiftAllocatedReso Anonymised and GDPR Compliant Alphanumeric
urceID Resource ID allocated - issued by the
Crew Rostering System to consuming
systems to prove allocation is ‘Real’
ResourceEmployerComp UIC Company Code for Resource Numeric
anyCode Employer
CrewShiftDetails Further details about the Crew member if [CrewShiftDetails]
required
8.11.1.2.3 CrewShiftDetails
This holds the details of the Crew Resource. This is used to for further information about the crew
member related to the shift.
CrewShiftResource
Attribute Attribute description Admitted values
CrewName Name of Crew Member String
ContactNumber Phone number to contact Crew Numeric
CrewRole Role of the Crew member String
CrewWorkStartTime DateTime that the resource begins work DateTime
CrewWorkEndTime DataTime that the resource ends work DateTime
CrewStatus List of the ‘’Attendance’’ status of duties: String
Spare, attendance, absence, etc.
8.11.1.2.4 CrewShiftLeg
Each activity of the crew member is a ‘leg’ of the overall shift. Each leg includes the identification
of the train service the activity is related to and the start and destination location and time of the
activity.
CrewShiftLeg
Attribute Attribute description Admitted values
ShiftLegIsOperational True = Operational (e.g. True/False
Driving, Conducting etc)
False = Non Operational (e.g.
Travelling as Passenger
ShiftLegType Details of the shift leg type. {ShiftLegType}
ShiftLegTrainIdentifiers Identification of the Train {ShiftLegTrainIdentifier}
Service to which the Shift Leg
is allocated.
ShiftLegOriginLocation Location for SHIFT LEG {Location}
ORIGIN
ShiftLegOriginDateTime Date & Time of SHIFT LEG Datetime
ORIGIN (UTC + Offset)
ShiftLegDestinationLocation Location for SHIFT LEG END / {Location}
FINISH
ShiftLegDestinationDateTime Date & Time of SHIFT LEG Datetime
END / FINISH (UTC + Offset)
ShiftLegAtRisk True = Activity will be True/False
undertaken
False = Risk that the Allocation
may Change
ShiftLegAtRiskDescription Description of Risk Alphanumeric
ShiftLegLastUpdateDateTime Last Time Publishing System Datetime
updated the Shift Leg
8.11.1.2.5 ShiftLegType
The ‘ShiftLegType’ contains the information of the type of activity involved in this shift leg. E.g.
Train Run, Shunting.
ShiftLegType
Attribute Attribute description Admitted values
ShiftLegTypeCode Eg: 01 = Train Run, 05 = Shunting, 99 = Numeric (0-99)
Other, etc..
ShiftLegTypeCode Human Friendly Description of Shift Leg Alphanumeric
Type Code
8.11.1.2.6 ShiftLegTrainIdentifiers
This includes the details of the train service the shift leg relates to.
ShiftLegTrainIdentifiers
Attribute Attribute description Admitted values
TrainOperationalIde In Mainland Europe, the below identifies {TransportOperationalIdentif
ntification the train service uniquely iers}
SecondaryTrainIdent Secondary attribute for uniquely Alphanumeric
ifier identifying a train. May be country
specific.
ReferenceOTN Originally Planned Operational Train {OperationalTrainNumberId
Number / TrainID entifier}
This caters for Change of Operational
Train Number / Train ID
ResponsibleRU UIC Company Code for RU (Train UIC Company Code
Operator) Responsible for that part of the
shift leg – may be different to the Crew
Member Employer – this allows for multi-
responsibilities
8.11.1.3.1 PassengerConsistAllocation
This is the identifier of the train service that will be allocated passenger consists that form the
physical journey of the service. Reference OTN is included incase the operational Train Number
changes along the journey.
PassengerConsistAllocation
Attribute Attribute description Admitted values
TrainOperationalIdentifi Identifies the Scheduled Train Path ID in {TransportOperationalId
cation which the Physical Vehicles Run entifiers}
8.11.1.3.2 PassengerConsist
This includes the Resource Groups (formations of vehicles) that form the train service between
two locations. If there is a join or split there may be multiple allocations for the overlapping parts
of a train journey.
PassengerConsist
Attribute Attribute description Admitted values
AllocationSequenceNu Sequential Position of an Allocation within Numeric
mber the Scheduled Train Journey “1” is the first
allocation (It may be the only allocation)
TrainOriginDateTime Origin Departure Date and Time of Train Datetime
(UTC Without Offset)
TrainOriginLocation Origin Location of Train. {Location}
ResourceGroupPosition Numeric position of resource group within Numeric
the train formation. The lead unit should
be ‘1’.
DiagramDate Start date of diagram. Date
DiagramNo Diagram ID alphanumeric
TrainDestLocation Destination location of train. {Location}
TrainDestDateTime Destination Arrival Date and Time of Train Datetime
(UTC Without Offset)
AllocationOriginLocatio Location at Which The allocation Starts Location
n
AllocationOriginDateTi Date and Time When the Allocation Datetime
me Begins (UTC Without Offset)
8.11.1.3.3 ResourceGroup
Resource groups are a collection of vehicles. This allows groups of vehicles that will stay formed
to be tracked as a group rather than individuals.
ResourceGroup
Attribute Attribute description Admitted values
ResourceGroupID ID of Locomotive, Unit or Set forming the Alphanumeric
Train
TypeOfResource Type of resource (i.e. U = unit, S = set, L = Single Character
loco set).
FleetID Rolling Stock Fleet Identifier – this is Alphanumeric
unique to the model / range / class of
vehicle. An example of this would be:
060/156 to mean vehicle number 60 of the
type Class 156. It is the Fleet ID used in
the country’s rolling stock register
ResourceGroupStatus Status of Resource Group – “N” = Normal Alphanumeric
EndOfDayDistance The expected Distance Travelled at the UnitOfMeasurement:
end of the current day Alphanumeric
Value: Numeric
8.11.1.3.4 PreAssignment
A pre-assignment is used when a resource group must arrive at a particular location by a particular
time, i.e. for maintenance work. This information can be used when creating the rolling stock plan.
PreAssignment
Attribute Attribute description Admitted values
PreAssignmentRequire Location Where the Resource Group must {Location}
dLocation Stop
PreAssignmentDueDat Date and Time When Resource Group Datetime
eTimeDateTime must Stop at Location
PreAssignmentReason Free Format Text with reason for Pre- Alphanumeric
Assignment
PreAssignmentDateTim Date and Time when Pre-Assignment was Datetime
e applied
8.11.1.3.5 Restriction
Any restrictions on the resource group.
Restriction
Attribute Attribute description Admitted values
Restriction Code Code to describe restriction Restriction Codes
Date Date the Restriction was applied Date
RestrictionComments Free format text comments Alphanumeric
Distance Distance from origin at which the UnitOfMeasurement:
restriction was applied Alphanumeric
Value: Numeric
Hours Hours from Origin at which the restriction Numeric
was applied
GA 777465 Page 152 of 197
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
Table 8-147 – Restriction
8.11.1.3.6 Vehicle
This structure defines an individual vehicle that forms a resource group. This includes all details
of the individual vehicles, such as maximum speed and weight.
Vehicle
Attribute Attribute description Admitted values
VehicleID Vehicle Number Numeric
TypeOfVehicle C = Coach / L = Locomotive Alphanumeric
SpecificType Design Code for Vehicle Alphanumeric
TractionType Electric Diesel Code
PowerSupply Source of Power e.g. Overhead Line Code
LoadingGauge Loading Gauge of Vehicle Numeric
TrackGauge Track Gauge of Vehicle Numeric
ResourcePosition Conditional Field - Position of Resource in Numeric
Resource Group – Not present for
Vehicles not in a Resource Group
PlannedResourceGrou Optional Field – Publishes a whole {ResourceGroup}
p Resource Group if the Originally Planned
Resource Group is different from the
Actual Resource Group Above (ie: This
Resource Group)
Control List of Control Systems and description List[Code:
e.g. LZB, ERTMS L1 Alphanumeric]
List[Description:
Alphanumeric]
Length Length of vehicle: UnitOfMeasure:
Alphanumeric
Value: Numeric
Speed: Numeric
OperatorCode Company code for Vehicle Operator UIC Company Code
OwnerCode Company Code for Vehicle Owner UIC Company Code
HirerCode Company Code of Operator Hiring the UIC Company Code
Vehicle – may be different to the Vehicle
Operator
SubHirerCode If there is a sub-hire – the company sub- UIC Company Code
hiring is here
Defect Defects as recorded {Defect}
8.11.1.3.7 VehicleRegistration
Data containing the registration details of each vehicle.
VehicleRegistration
Attribute Attribute description Admitted values
VehicleRegistrationSyst System that holds Vehicle Registration Alphanumeric
em Details
RegistrationDetails Registration Details Alphanumeric
DateRegistered Date vehicle was registered Date
DateRegistrationExpire Date the vehicle regeistration expires Date
s
8.11.1.3.8 Defects
Each individual vehicle can have related defect information.
Defects
Attribute Attribute description Admitted values
MaintenanceUID UID for Defects Record Alphanumeric
DefectCode Code to identify Defect Alphanumeric
MaintenanceDefectLoc Location of defect as stored in defect Alphanumeric
ation system
DefectDescription Defect Description Alphanumeric
DefectStatus Status of Defect Alphanumeric
MaintenanceRepairLoc Location of where the repair will take place Alphanumeric
ation as stored in defect system
RepairDescription Repair Description Alphanumeric
8.11.1.4.1 FreightTrainConsistAllocation
This describes the train service details that will be allocated a freight consist.
FreightTrainConsistAllocation
Attribute Attribute description Admitted values
TrainOperationalIdentifi Identifies the Scheduled Train Path ID in {TransportOperationalId
cation which the Physical Vehicles Run entifiers}
OperationalTrainNumb Current Train ID {OperationalTrainNumb
erIdentifier erIdentifier}
ReferenceOTN Originally Planned Train ID (if “Current” {OperationalTrainNumb
Train ID is Different) erIdentifier}
FreightTrainConsist Repeating Group – Identifies the {FreightConsist}
Allocation of Resource Groups (ie: Units or
Sets) To “Journey Legs” within the Path (A
“Journey Leg” is a portion of the Journey
along the Scheduled Train Path)
8.11.1.4.2 FreightConsist
This is the top level structure for the freight consist that forms the total train journey. It includes
the start and destination location and time for this train journey leg and some high level
information.
FreightConsist
Attribute Attribute description Admitted values
TrainConsistDateTime Time the consists data has been added Datetime
TrainOriginLocation Origin location of train {Location}
TrainDestinationLocatio Destination location of train {Location}
n
TrainLength Overall length of the train UnitOfMeasurement:
Alphanumeric
Value: Numeric
TrainLatestLocation Latest location of the train {Location}
TrainBrakeType Code for Train Brake Type Code e.g. A = Air Brake
PartialConsistFlag Identify consist with no locomotive or no 1 character
coaches/wagons
ExceptionalLoad Flag to indication special movement ExceptionalLoadFlag:
conditions are required. True/False
ExceptionalLoadDescri
ption: Alphanumeric
TrainLocomotives One or more locomotives for the train in N x {Locomotive}
the consist.
TrainWagons One or more Wagons for in the consist. N x {Wagon}
8.11.1.4.3 Locomotive
This describes the Locomotive that is part of the Freight Train Consist.Including details such as
Maximum Speed and Weight.
Locomotive
Attribute Attribute description Admitted values
LocomotiveNumber Identity number of vehicle Numeric
LocomotiveSpecialChar Special characteristics of the locomotive 2 1 character codes
acteristics
LocomotiveTrainPositio Sequence number of locomotive in train Numeric
n consist.
RouteAvailability Code used to match trains to routes they Numeric
can physically travel on
LocomotiveLength Length of the locomotive UnitOfMeasure:
Alphanumeric
Value: Numeric
MaximumSpeed Maximum Speed of Locomotive UnitOfMeasure:Alphanu
meric
Speed: Numeric
8.11.1.4.4 Wagon
This is used to describe that wagons that form the Freight Train.
Wagon
Attribute Attribute description Admitted values
WagonTrainPosition Identifies position of wagon within train Numeric
formation. Sequential numbers. Front of
train is 1.
WagonNumber Unique identifier for Wagon 12 character EVN
RouteAvailability Code used to match trains to routes they Numeric
can physically travel on
WagonLoadingGauge Loading Gauge of Vehicle Numeric
WagonTrackGauge Track Gauge of Vehicle Numeric
WagonLength Length of the Wagon UnitOfMeasure:
Alphanumeric
Value: Numeric
8.11.1.4.5 Customer
The customers can be Identified using a customer code, along with their address and contact
details.
Customer
Attribute Attribute description Admitted values
CustomerCodeISO Identifies Country or State by code Alphanumeric
PrimaryCode Primary customer code Code
8.11.1.4.6 DangerousGoods
Dangerous goods information can be applied to both the Wagons and the Containers.
DangerousGoods
Attribute Attribute description Admitted values
DangerousGoodsClass Class of dangerous goods Alphanumeric
DangerousGoodsExplo Code to identify if explosive Alphanumeric
siveCode
DangerousGoodsEmer Code related to type of dangerous goods Alphanumeric
gencyCode
ExplosivesEmergencyC Code related to type of explosives Alphanumeric
ode
8.11.1.4.7 Containers
Information related to the containers including dimensions and position on the wagon.
Containers
Attribute Attribute description Admitted values
ContainerNumber Container number Numeric
ContainerID Container international ID (ISO 6346) Alphanumeric Code
8.11.1.5 VehicleCharacteristics
Vehicle characteristics used to more accurately simulate train performance and can be used for
details that may not be required in higher level structures for scheduling.
VehicleCharacteristics
Attribute Attribute description Admitted values
VehicleUniqueID Rolling Stock Register Unique ID for Alphanumeric
Vehicle
VehicleType Locomotive / Multiple Unit / Carriage / Alphanumeric
Wagon
VehicleFamily Text Describing the Class / Type etc… Alphanumeric
MaximumVelocity Maximum Speed for the Vehicle Numeric
Length Length over the Couplers for the Vehicle UnitOfMeasurement:
Alphanumeric
Value: Numeric
UnladenMass Weight with fuel (if used) but not UnitOfMeasurement:
passengers or freight payload Alphanumeric
Value: Numeric
EnginePerformance Alphanumeric
Value assigned to the mechanical
performance of the engine of this
locomotive.
ConsumptionCurve In case of diesel and mixed engine Table[Power(kW), Fuel
locomotives, the fuel consumption will be Consumption(kg/h)]
characterized by the fuel consumption
curve. The curve must have at least three
pairs of values. The power will be
expressed in kW and fuel consumption in
kg / h
Uniform Acceleration Acceleration capacity of the vehicle. UnitOfMeasurement:
Alphanumeric
Value: Numeric
Uniform Deceleration Deceleration capacity of the vehicle UnitOfMeasurement:
Alphanumeric
Value: Numeric
8.11.2 Requests
It is not foreseen that any direct commands on the stock and crew management system will need
to be run from other systems.
• Train Timetables:
o Scheduled.
o Target.
o Forecasted.
o Audited.
• Rolling Stock Library.
Asset Management
8.12.1 Data
The aim of this chapter is to collect the information exchanged between a TMS and an Asset
Management System. The source of these information is the document [In2Rail D8.4] “Interface
Control Document for Integration Layer Interfaces, external/Web interfaces and Dynamic Demand
Service”. The following figure (courtesy of BT) depicts the relation between the TMS and the
advanced Asset Management System, and outlines the data flow between them.
The above figure refers to WP9, Intelligent Mobility Management (I2M) – ‘Nowcasting’ and
Forecasting, which is one of the sub-project of In2Rail.
From the In2Rail site: “WP9 focuses on the design and development of an advanced asset
information system with the ability to ‘nowcast’ and forecast network asset status with the
associated probabilities”.
The advanced asset information system could be used in real time by the TMS in order to
immediately have a measure of the impact of an asset failure to the railway traffic / operations.
Alternatively, it could be used in an offline, simulated fashion by the maintenance department in
order to prioritize maintenance interventions based on the real impact of a sudden asset failure to
the railway traffic / operations.
The final goal is not to replace the TMS-Decision-support-function but to improve it by including
another decision support system which can provide useful and actionable information for the TMS.
WP9 lays the foundation of the main building blocks for the next generation Railway Asset
Management framework, further developed in IN2SMART, one of Shift2Rail project.
8.12.1.2 Signal
Signal
Attribute Attribute description Admitted values
Decision Support New operational parameters Tbd – placeholder for
information for TMS suggested by the AMS outcomes of IN2SMART
Availability prognosis Indication on availability fore- 0..100 (or 0..1.0)
cast for the Object
Maintenance Object is under maintenance 0 => In maintenance
1 => In operation
8.12.1.5 Bridge
Level Crossing
Attribute Attribute description Admitted values
Decision Support New operational parameters Tbd – placeholder for
information for TMS suggested by the AMS outcomes of IN2SMART
Availability prognosis Indication on availability fore- 0..100 (or 0..1.0)
cast for the Object
Maintenance Object is under maintenance 0 => In maintenance
1 => In operation
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
8.12.1.6 Tunnel
Level Crossing
Attribute Attribute description Admitted values
Decision Support New operational parameters Tbd – placeholder for
information for TMS suggested by the AMS outcomes of IN2SMART
Availability prognosis Indication on availability fore- 0..100 (or 0..1.0)
cast for the Object
Maintenance Object is under maintenance 0 => In maintenance
1 => In operation
8.12.1.7 Embankment
Level Crossing
Attribute Attribute description Admitted values
Decision Support New operational parameters Tbd – placeholder for
information for TMS suggested by the AMS outcomes of IN2SMART
Availability prognosis Indication on availability fore- 0..100 (or 0..1.0)
cast for the Object
Maintenance Object is under maintenance 0 => In maintenance
1 => In operation
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
8.13.1 Data
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
Data transmitted from the DAS system to the TMS. These data have no counterparts in
UNISIG SUBSET-126 specification. Additional data not found in SUBSET-126 is marked by
the annotation (*).
TD – Train Data
Attribute Attribute description Admitted values
Train_Identifier (*) It is the running number of the String
train.
Consists on up to 8 digits which
are entered left adjusted into
the data field, the leftmost digit
is the digit to be entered first. In
case it is shorter than 8 digits,
the remaining space is to be
filled with special character “F”.
Train Category (*) Identifies the train category.
Category is related train
characteristics that identifies
different performances on same
tracks -
Train_Consist (*) Binary to numeric
(232-1) = undefined value
Vehicle (*) See table “TD Vehicledata” Indexed List of
below Vehicle Data
Locomotive / Wagon (*) See table “TD Locomotive / Indexed List of
Wagon data” below Locomotive / Wagon Data
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
administrative or political
boundaries.
ID_SP SP Identifier Binary to numeric.
SP_Status Status of the SP: 0 => Invalid,
"Valid": SP requested. 1 => Valid
"Invalid": SP not found in
database.
SP_Version Identifier of the SP version 1 byte for the major version and
1 byte for the minor one.
SP_Length Length of the segment of Binary to numeric (in
railway covered by the SP. centimetres)
EoA_Offset Distance to stop the train Binary to numeric (in
before an EoA. centimetres)
UTC_Offset Offset to add to the UTC time Binary to numeric.
in order to calculate the local 0..39 => UTC offsets
time.
SP_Altitude Altitude at the beginning of Binary to numeric (in
the SP. (ETRS 89 Reference) centimetres) starting at -1000m
SSP_Start_ Static Speed Profile Start - 0..120 =>
_Static_speed Basic Static Speed Profile SSPS_STATIC_speed.
Speed at the beginning of the One unit = 5 km/h
SP
SSP_Start_Front Static Speed Profile Start - 0 => Train length delay,
Indicates if the Static Speed 1 => No train length delay
Profile is to be applied to the
front of the train (no train
length
delay) or to the end of the
train (train length delay).
SSP_Start_Specific_ See table “Specific Speed Indexed List of
_Speed_Profile Profile” below Specific Speed Profile
SSP_Start_Static_Speed_ See table “SP Static Speed Indexed List of
_Profile_Change Profile Change” below Static Speed Profile Change
Gradient_Start_ Value of the new gradient at Binary to numeric (0-255) with
_New_Gradient the beginning of the Segment resolution 1‰
Profile
Gradient_Start_ Direction of the new gradient 0 => Downhill,
_New_Gradient_Direction 1 => Uphill
Gradients_Change See table “SP Gradients Indexed List of
Change” below Gradient Changes
Curve_Start_ Curve category at the 0 => R>7000m,
_Radius_Category beginning of the Segment 1 => 7000m≥R>4500m,
Profile 2 => 4500m≥R>2800m,
3 = 2800m≥R>2000m,
4 => 2000m≥R>1500m,
5 => 1500m≥R>1250m,
6 => 1250m≥R>1075m,
7 => 1075m≥R>925m,
8 => 925m≥R>825m,
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
9 => 825m≥R>725m,
10 => 725m≥R>625m,
11 => 625m≥R>525m,
12 => 525m≥R>475m,
13 => 475m≥R>425m,
14 => 425m≥R>375m,
15 => 375m≥R>325m,
16 => 325m≥R>300m,
17 => 300m≥R>275m,
18 => 275m≥R>250m,
19 => 250m≥R>225m,
20 => 225m≥R>200m,
21 => 200m≥R>175m,
22 => 175≥R>150m,
23 => R≤150m;
Curve_Start_ Side of the curve 0 => Left,
_Curve_Side 1 => Right
Curves_Changes See table “SP Curves Indexed List of
Change” below Curves Change
Power_Voltage_Start_ Voltage value at the 0 Line not fitted with any
_Voltage beginning of Segment Profile traction system
1 AC 25 kV 50 Hz
2 AC 15 kV 16.7 Hz
3 DC 3 kV
4 DC 1.5 kV
5 DC 600/750 V
Power_Voltage_Start_ Country identifier of the Binary to numeric
_C_Traction traction system.
Code used to identify the
country or region in which the
balise group, the RBC or the
RIU is situated. These need
not necessarily follow
administrative or political
boundaries.
Power_Voltages_Changes See table “SP Power Indexed List of
Volatage Changes” below Power Voltages Changes
Current_Limitation_Start Allowed current consumption 0..1000 => allowed current
at consumption to be used by the
the beginning of the Segment train. One unit = 10 A
Profile.
Current_Limitation_ See table “SP Current Indexed List of
_Changes Limitation Changes” below Current Limitation Changes
Balise_Group See table “SP Balises” below Indexed List of
Indexed List of
Balises
Platform_Areas See table “SP Platform Area” Indexed List of
below Platform Area
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
SP – Segment Profile – Static Speed Profile Start – Static Speed Profile Change
Attribute Attribute description Admitted values
Location Location of the Static Speed Binary to numeric (in
Profile change relatively to the centimetres)
beginning of the SP.
Static_Speed Basic Static Speed Profile 0..120 => Static speed. One unit
Speed when it changes = 5km/h
Front Indicate if the Static Speed 0 =>Train length delay,
Profile is to be applied to the 1 => No train length delay
front of the train (no train length
delay) or to the end of the train
(train length delay).
Specific_Static_Speed_ See table “SP Specific Static Indexed List of
_Profile_Change Speed Profile Change” below Specific Static Speed Profile
Change
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
SP – Segment Profile – Static Speed Profile Start – Static Speed Profile Change –
Specific Static Speed Profile Change
Attribute Attribute description Admitted values
Category Indicates the type of specific Binary to numeric
Static Speed Profile category.
Indicates the type of specific
SSP category
In case of “other specific” SSP,
it tells ERTMS/ETCS on-board
equipment whether it replaces
or not the Cant Deficiency SSP
as selected by on-board , when
the train belongs to an “other
international” train category to
which the “other specific” SSP
applies
Cant_Deficiency “Cant Deficiency” SSP category List of 0 to 1 elements of
for which a different value for Binary to decimal,
the static line speed exists 0 => Specific SSP applicable to
Cant Deficiency 80 mm
1 => Specific SSP applicable to
Cant Deficiency 100 mm
2 => Specific SSP applicable to
Cant Deficiency 130 mm
3 => Specific SSP applicable to
Cant Deficiency 150 mm
4 => Specific SSP applicable to
Cant Deficiency 165 mm
5 => Specific SSP applicable to
Cant Deficiency 180 mm
6 => Specific SSP applicable to
Cant Deficiency 210 mm
7 => Specific SSP applicable to
Cant Deficiency 225 mm
8 =>Specific SSP applicable to
Cant Deficiency 245 mm
9 =>Specific SSP applicable to
Cant Deficiency 275 mm
10 =>Specific SSP applicable to
Cant Deficiency 300 mm
Other_Specific List of 0 to 1 elements of
Binary to decimal,
0 => Specific SSP applicable to
Freight train braked in “P”
position
1 => Specific SSP applicable to
Freight train braked in “G”
position
2 => Specific SSP applicable to
Passenger train
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
Table 8.184 – SP Curves Changes
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
SP.
End_Location If Range = Ends or StartsEnds List of 0 to 1 element of
Location of the Switch off Binary to numeric (in
Magnetic Shoe Brake area end centimetres)
relatively to the beginning of the
SP.
8.14.1 Data
For the starting location the arrival time is given by the time of making the train available on the
platform track, i.e. the track occupancy begins.
For the destination location the departure time is given by the time the train is moved away from
the platform track, i.e. the track occupancy ends.
8.14.2 Alarms
At least the following alarms have been detected related to PIS:
• Disruption of communication towards PIS
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
8.15.1 Data
8.15.2 Alarms
At least the following alarms have been detected related to public weather services:
• Disruption of communication (information retrieval from weather services).
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer
9 REFERENCES
[ERTMS SRS 026] ERTMS/ETCS Class 1 System Requirement Specification –
SUBSET 026 Version 3.6.0, July 2017 ERA
GA 777465
X2Rail-2 Deliverable D6.1
System Requirement Specification (SRS) for the Integration Layer