Developing railway interlocking systems with session types and Event-B
Tibor Kiss, Katalin Tünde Jánosi-Rancz · 2016
Choosing the Event-B formal method to model and develop distributed railway interlocking systems can give us a great advantage over the general purpose programming languages, especially in case of the safety analysis of these systems. Despite its many benefits, Event-B suffers from an efficient reuse mechanism, which is highly disadvantageous in the development of large interlocking systems. In this paper we propose a structured approach to modelling and developing large geographical interlocking systems, combining the communication models of session types with the railway entity models of Event-B. This work combines Event-B with a component-based reuse strategy realized with session types and consists of an Event-B extension with communication primitives to enable communication between the railway entities, a projection of session type specifications and a verification mechanism for these specifications to ensure global safety by the local verification of entities.