Master Project 2024/2025: Building a Portable Railway Interlocking Software

Prof. Dr. Andreas Polze
Betreuung HPI
Robert Schmid

Railway interlockings are safety-critical systems that control the movement of trains over a railway network. Modern software-based interlocking systems are faced with a trend of centralization and virtualization ('cloud' datacenters) and the use of commercial-off-the-shelf (COTS) hardware.

The railway safety logic for an interlocking can be developed largely independently of the eventual execution platform. Performance constraints regarding the execution speed do not play a significant role since the safety logic is not computationally demanding and no embedded CPUs must be used in centralized datacenters.

This project therefore aims to establish a portable code generation and compiler toolchain for digital railway interlocking software. As inputs, a formalized specification of an interlocking safety logic and model-based protocol definitions for the field element interfaces1 exist. The hardware platform that should be used for the initial deployment of the interlocking safety logic is based on an ARINC 653 safe segregating operating system from the avionics domain.

Possible project tasks include:

  • Automating the translation of a deterministically specified interlocking safety logic into an IBM Rhapsody-compliant UML representation. IBM Rhapsody subsequently generates certifiable C code.
  • Integration of the generated interlocking code with a field element interface layer on an ARINC 653-compliant operating system (Aviotech SCORPOS).
  • Deployment of the compiled application to a 2-out-of-2 redundant compute module in the HPI Rail Lab
  • Investigating a WebAssembly-based virtualization of safe program interpretation on the compute module platform.
  • Demonstration and presentation of the interlocking system in a real-life railway test field.

During the project, you can benefit from previous experiences with embedded and operating systems and systems programming languages.

Also, experience with model-based software engineering (MBSE) and higher-level programming languages is useful for the model transformation and safety analysis-related aspects of the project.

In any case, if you are open-minded to learn about the railway domain and embedded software engineering, we will give a helpful introduction.

This project is held in connection with railway operators SBB (Switzerland) and DB, avionics specialist Aviotech and Systems Lab 21.