Formal Aspects of Computing

, Volume 23, Issue 6, pp 683-709

First online:

Open Access This content is freely available online to anyone, anywhere at any time.

Automated property verification for large scale B models with ProB

  • Michael LeuschelAffiliated withLehrstuhl Softwaretechnik und Programmiersprachen, Universität Düsseldorf Email author 
  • , Jérôme FalampinAffiliated withSiemens Transportation Systems
  • , Fabian FritzAffiliated withLehrstuhl Softwaretechnik und Programmiersprachen, Universität Düsseldorf
  • , Daniel PlaggeAffiliated withLehrstuhl Softwaretechnik und Programmiersprachen, Universität Düsseldorf


In this paper we describe the successful application of the ProB tool for data validation in several industrial applications. The initial case study centred on the San Juan metro system installed by Siemens. The control software was developed and formally proven with B. However, the development contains certain assumptions about the actual rail network topology which have to be validated separately in order to ensure safe operation. For this task, Siemens has developed custom proof rules for Atelier B. Atelier B, however, was unable to deal with about 80 properties of the deployment (running out of memory). These properties thus had to be validated by hand at great expense, and they need to be revalidated whenever the rail network infrastructure changes. In this paper we show how we were able to use ProB to validate all of the about 300 properties of the San Juan deployment, detecting exactly the same faults automatically in a few minutes that were manually uncovered in about one man-month. We have repeated this task for three ongoing projects at Siemens, notably the ongoing automatisation of the line 1 of the Paris Métro. Here again, about a man month of effort has been replaced by a few minutes of computation. This achievement required the extension of the ProB kernel for large sets as well as an improved constraint propagation algorithm. We also outline some of the effort and features that were required in moving from a tool capable of dealing with medium-sized examples towards a tool able to deal with actual industrial specifications. We also describe the issue of validating ProB, so that it can be integrated into the SIL4 development chain at Siemens.


B-method Model checking Constraint-solving Tools Industrial applications