Safecap is an Eclipse-based tool for entering and analysing railway junction schemas. The tool aims to be extensible and configurable and may be applied in a number of contexts such the analysis of control table for junction signals, assessment of capacity impact of signal positioning and train detection circuit boundaries, and also for conducting semi-automatic or automatic changes to schema topology or control tables.

The core of the tool are

  • an extensible DSL capturing railway schema topology and control logic
  • a visual schema editor, and
  • an extensible simulator

There is an infrastructure in place to hook in various extension, such as connection to external verification or processing tools, patterns scripted in the Epsilon language, etc. The notation used to define schemas may be extended with new attributes for the existing elements and also with new classes of connectors and nodes. For instance, one may define a new kind of track side equipment

Starting from the eponymous EPSRC/RSSB SafeCap project (2011-2013) we have been working on developing translations from the internal DSL language into formal models describing the concrete semantics of a given schema. This enables us to use third-party constraint-solving, model checking and theorem proving tools to reason about various aspects of a railway junction. The ongoing RSSB SafeCap+ project (2014-2016) is extending this work by adding features for modelling and evaluating energy consumption, supporting reasoning about multi-node systems and regional networks and designing a real-ime traffic management advisory system that can be enacted in the SafeCap platform.