Abstract

B is a method for specifying, designing and coding software systems. It is based on Zermelo-Fraenkel set theory with the axiom of choice, the concept of generalized substitution and on structuring mechanisms (machine, refinement, implementation). The concept of refinement is the key notion for developing B models of (software) systems in an incremental way. B models are accompanied by mathematical proofs that justify them. Proofs of B models convince the user (designer or specifier) that the (software) system is effectively correct. We provide a survey of the underlying logic of the B method and the semantic concepts related to the B method; we detail the B development process partially supported by the mechanical engine of the prover.

Keywords

Cite this article

@article{cai-1315,
  author  = {Dominique Cansell and Dominique Mery},
  title   = {Foundations of the B method},
  journal = {Computing and Informatics},
  volume  = {22},
  number  = {3-4},
  pages   = {221--256},
  year    = {2003},
  issn    = {1335-9150},
  url     = {https://cai.type.sk/content/2003/3-4/foundations-of-the-b-method/}
}
Download .bib