The ProB Animator and Model Checker: Difference between revisions

No edit summary
No edit summary
Line 1: Line 1:
{| cellpadding="5"
{| cellpadding="5"
|-valign="top"
|-valign="top"
|width="60%"|ProB is an animator and model checker for the B-Method (see the [http://www-lsr.imag.fr/B/Bsite-pages.html B Site Pages] and the [http://www.bmethod.com/ B-Method site of Clearsy]). It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. In addition to B, ProB now also supports CSP-M and Z. Part of the research and development was conducted within the [http://www.epsrc.ac.uk/default.htm EPSRC] funded projects [http://users.ecs.soton.ac.uk/phh/abcd/ ABCD] and [http://users.ecs.soton.ac.uk/mal/ISM.html iMoc], and within the EU funded project [http://rodin.cs.ncl.ac.uk/ Rodin]. Development is continued under the EU funded project [http://www.deploy-project.eu/ Deploy]  and the [http://www.dfg.de/ DFG] project [http://www.gepavas.de/ Gepavas]. ProB has been successfully used on various industrial specifications and is now being used within Siemens.
|width="60%"|ProB is an animator and model checker for the [http://en.wikipedia.org/wiki/B-Method B-Method] (see the [http://www-lsr.imag.fr/B/Bsite-pages.html B Site Pages] and the [http://www.bmethod.com/ B-Method site of Clearsy]). It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. In addition to B, ProB now also supports CSP-M and Z. Part of the research and development was conducted within the [http://www.epsrc.ac.uk/default.htm EPSRC] funded projects [http://users.ecs.soton.ac.uk/phh/abcd/ ABCD] and [http://users.ecs.soton.ac.uk/mal/ISM.html iMoc], and within the EU funded project [http://rodin.cs.ncl.ac.uk/ Rodin]. Development is continued under the EU funded project [http://www.deploy-project.eu/ Deploy]  and the [http://www.dfg.de/ DFG] project [http://www.gepavas.de/ Gepavas]. ProB has been successfully used on various industrial specifications and is now being used within Siemens.
|width="40%" style="background:#EDF2F2;" | '''News'''
|width="40%" style="background:#EDF2F2;" | '''News'''
'''07.12.2009'''
'''07.12.2009'''

Revision as of 13:40, 8 July 2010

ProB is an animator and model checker for the B-Method (see the B Site Pages and the B-Method site of Clearsy). It allows fully automatic animation of many B specifications, and can be used to systematically check a specification for errors. In addition to B, ProB now also supports CSP-M and Z. Part of the research and development was conducted within the EPSRC funded projects ABCD and iMoc, and within the EU funded project Rodin. Development is continued under the EU funded project Deploy and the DFG project Gepavas. ProB has been successfully used on various industrial specifications and is now being used within Siemens. News

07.12.2009 ProB 1.3.1 is available. Highlights: new datastructure for large sets and relations (see FM 2009), multi-level validation for Event-B, improved constraint propagation for boolean connectives, and many more.

20.03.2009 ProB 1.3.0-Final is available for download. Highlights: New parser and integrated typechecker, install as AtelierB plugin, improved kernel with support for large sets/relations, improved CSP support, faster LTL model checker, Undo/Redo in text editor, graphical formula viewer, user definable custom animations with gifs.

Implementation

The core of ProB is implemented in SICStus Prolog (but can be run without a SICStus Prolog license). It uses co-routining and finite domain constraint solving to make animation of B machines possible. The ProB Licence can be found here.

Features

ProB covers a large part of B, and we are striving towards full coverage of Atelier B and B4Free constructs. ProB supports B features such as non-deterministic operations, ANY statements, operations with complex arguments, sets, sequences, functions, lambda abstractions, set comprehensions, records, constants and properties, and many more. Not supported are the Atelier B tree operations and there are restrictions on DEFINITIONS. ProB does support multiple machines, refinements, and implementations. ProB can also be used for automated refinement checking and LTL model checking. It also supports almost full CSP-M process descriptions (as of version 1.2.7), to be used on their own or to guide B machines for specification and property validation. The state space of the specifications can be graphically visualised.