The B method is a method of software development based on B, a tool-supported formal method based on an abstract machine notation, used in the development of computer software. It was originally developed by Jean-Raymond Abrial[1] in France and the UK. B is related to the Z notation (also originated by Abrial) and supports development of programming language code from specifications. B has been used in major safety-critical system applications in Europe (such as the Paris Métro Line 14). It has robust, commercially available tool support for specification, design, proof and code generation.

Compared to Z, B is slightly more low-level and more focused on refinement to code rather than just formal specification — hence it is easier to correctly implement a specification written in B than one in Z. In particular, there is good tool support for this.

Recently, another formal method called Event-B[2] has been developed. Event-B is considered an evolution of B (also known as classical B). It is a simpler notation, which is easier to learn and use. It comes with tool support in the form of the Rodin tool.

The main components

B notation depends on set theory and first order logic in order to specify different versions of software that covers the complete cycle of project development

Abstract machine

In the first and the most abstract version, which is called Abstract Machine, the designer should specify the goal of the design.



Some B method characteristics


The B-Toolkit,[3] developed by Ib Holm Sørensen et al., is a collection of programming tools designed to support the use of the B-Tool, a set theory based mathematical interpreter, for the purposes of a formal software engineering methodology known as the B method.

The toolkit uses a custom X Window Motif Interface[4] for GUI management and runs primarily on the Linux, Mac OS X and Solaris operating systems. It has been developed by the UK based company B-Core (UK) Limited.[5]

The B-Toolkit source code is now available.[6]

Atelier B

Developed by ClearSy, Atelier B [7] is an industrial tool that allows for the operational use of the B Method to develop defect-free proven software (formal software). Two versions are available: Community Edition available to anyone without any restriction, Maintenance Edition for maintenance contract holders only.

It is used to develop safety automatisms for the various subways installed throughout the world by Alstom and Siemens, and also for Common Criteria certification and the development of system models by ATMEL and STMicroelectronics.



See also


  1. Jean-Raymond Abrial (1988). "The B Tool (Abstract)" (PDF). In Robin E. Bloomfield and Lynn S. Marshall and Roger B. Jones. VDM The Way Ahead, Proc. 2nd VDM-Europe Symposium. Lecture Notes in Computer Science. 328. Springer. pp. 86–87. ISBN 3-540-50214-9.
  2. Event-B.org — Event-B and the Rodin Platform.
  3. "The B-Toolkit". B-Core (UK) Limited. Archive.org. 2004. Archived from the original on October 12, 2004. Retrieved February 22, 2012. External link in |work= (help)
  4. B-Toolkit Requirements
  5. "B-Core (UK) Limited". Company Data Rex. Retrieved February 22, 2012.
  6. B-Toolkit source code
  7. "AtelierB.eu".

External links

This article is based on material taken from the Free On-line Dictionary of Computing prior to 1 November 2008 and incorporated under the "relicensing" terms of the GFDL, version 1.3 or later.

This article is issued from Wikipedia - version of the 6/9/2016. The text is available under the Creative Commons Attribution/Share Alike but additional terms may apply for the media files.