Avoiding Deadlocks in Synchronous Railway Simulations

A deadlock is a situation in which a number of trains cannot continue along their path at all because every train is blocked by another one. In practical railway operation, deadlocks are avoided by the timetable and, in case of delay, by dispatching decisions of human traffic controllers. Avoiding deadlocks is also an essential feature of software systems for railway simulation. In simulation systems that follow the asynchronous principle, deadlocks will not occur since all conflicts are solved by rescheduling. In synchronous simulation systems, a positive strategy against deadlocks does not yet exist. The control logic of existing systems can only avoid simple forms of deadlocks. However, traffic simulation on critical infrastructures with a high probability of deadlocks is still a problem. The paper describes two principles of how deadlock avoiding rules could be integrated in the control logic of synchronous simulation systems and discusses the pros and cons of these two approaches.