Links: Difference between revisions

Line 60: Line 60:
* [https://github.com/leuschel/bbedit-prob BBedit Language modules for B, TLA+, CSP and Prolog]
* [https://github.com/leuschel/bbedit-prob BBedit Language modules for B, TLA+, CSP and Prolog]
* [https://en.wikipedia.org/wiki/List_of_model_checking_tools Model checking tools]
* [https://en.wikipedia.org/wiki/List_of_model_checking_tools Model checking tools]
* [https://accelconf.web.cern.ch/icalepcs2021/doi/JACoW-ICALEPCS2021-WEPV042.html PLCverif] (CERN)


== Testimonials ==
== Testimonials ==

Revision as of 15:47, 18 August 2022

Books

Papers

ProB

Tools using ProB

Related Tools

Testimonials

  • The 4SECURail Formal Methods Demonstrator, Franco Mazzanti and Dimitri Belli ""The second framework that has been chosen to support the formal analysis of the system is ProB [16]. Indeed, according to several surveys (see, e.g., [17,18,19]) B/EventB appears to be one of the most adopted formal methods in railways. Moreover, ProB has a very user-friendly interface requiring a small effort to be learnt and powerful verification methods. Last but not least, it is freely available as an open-source product."
  • Data validation at Siemens, Jérôme Falampin: ""The work done with ProB is a great success. Thanks to the automatization and ProB, the wayside data validation is quicker, easier and complete." More details and academic papers can be found on our page Siemens Data Validation with ProB.
  • Pacemaker model by Mery and Singh: "ProB was very useful in the development of the pacemaker specification, and was able to animate all of our models and able to prove the absence of error (no counterexample exist). The ProB model checker also discovered several invariant violations, e.g., related to incorrect responses or unordered pacing and sensing activities. It was also able to discover a deadlock in two of the models, which was due to the fact that “clock counter” were not properly recycled, meaning that after a while no pacing or sensing activities occur into the system. Such kind of errors would have been more difficult to uncover with the prover of RODIN tool."
  • Reverse engineering using ProB at ClearSy: "Data validation principles have been applied recently to a railways reverse-engineering project with great success. B and ProB have demonstrated again how efficient they are when used in combination."..."This problem was solved elegantly by using data validation principles: a B model representing the two graphs and their properties were elaborated, and ProB used for finding a solution."
  • Safecap tool paper by Iliasov, Lopatkin and Romanovsky: "One of the larger examples we have tackled is the Carlisle Citadel station with the North, South, and Caldew junctions. The modelled fragment is 2.6km long and comprises 70 train detection circuits, 63 points, 79 routes and 161 valid paths. The translation from a scanned PDF drawing and printed control tables took 45 man-hours. The verification of the topology theory constraints using ProB took just over 6 minutes on a PC with i7 3730 CPU and utilized just under 2GB of RAM. The Why3 verification of the same theory takes approximately 70 minutes. The control table theory is verified under 20 seconds by ProB and not verified completely, with the current translation of conditions, using Why3."
  • Innovative Approach for Requirements Verification of Closed Systems by Reis, Bicknell, Butler, Colley: "The Event-B model can be animated within Rodin using the BMotion Studio tool, which is part of ProB. Using the tool, it is possible to generate an animated front-end to the simulation of the model in the form of a user-friendly graphical interface, which corresponds to the system’s GUI (see Figure 4). The user can interact directly with this animated front-end, while the tool continues to run the formal analysis in the background, reacting to user choices and checking the model and invariants at each step. This was utilised during the case study, to produce a representation of the GIU provided as part of the end-user system. As this graphical representation is tied to the underlying Event-B model, it can not only be used to run through the model and confirm that the model is the correct representation of the system, but can also be used to explore further scenarios. This graphical representation of the system can be used without necessarily requiring any experience with the Event-B language or the toolset."
  • ProZ for Modelling Safety Properties of Interactive Medical Systems by Bowen and Reeves: "In this paper we have shown how temporal logic and invariants describing safety properties of interactive medical devices can be investigated within the ProZ tool. We have given examples of checking for such properties against a model of the T34 syringe pump and discussed some of the results and challenges we have encountered using this approach. We believe that using techniques such as these, and other model-checking functionalities, contributes to supporting safer use of interactive medical devices. That is we can use such techniques not just to help develop better and safer systems (where such techniques are most typically used) but also, as we have shown here, to investigate existing devices to ensure they can be safely used within the clinical setting."
  • ProB has been used “out-of-the-box” for Rodin theories by Thales for railway interlocking models, building ProB BMotionStudio visualizations on top. According to the Thales slides of the Advance Industry Day 2014 ProB has a high technology readiness level (TRL).
  • ProB wins the NIA (non-linear integer arithmetic) division of the 2016 SMT competition (this is ProB out-of-the-box, without tuning and where SMT formulas are translated to B)
  • Analysis and formal specification of relay-based railway interlocking systems: "In this work, the formal specification of the ITCS case study was verified with the use of ProB by model checking. Besides, we verified the same formal specification a second time with the Atelier B by theorem proving. Both tools were able to automatically prove the system without any human intervention. The result of this verification states that no error or inconsistencieshave been found. Thus, one may conclude that the system will not lead to a dangerous state."
  • Generating and Verifying Configuration Data with OVADO: "The second chain first produces a B abstract machine gathering data values and rules modeled as B properties and then calls the B model-checker ProB to evaluate the rules."

Other Links

Translating to Logic

General