ComputingComputer ScienceSystems EngineeringFormal MethodsSet TheorySoftware EngineeringAxiomatic Set TheoryModel-driven Software EngineeringSoftware ConstructionSoftware DesignSoftware ModelingTheorem ProvingB-methodDesign By RefinementModel RefinementZermelo-fraenkel Set Theory
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.
10
The B-book: assigning programs to meanings
Choice Reviews Online · 1997 · 2.1K citations
An axiomatic proof technique for parallel programs I
Susan Owicki, David Gries · Acta Informatica · 1976 · 1K citations
A calculus of refinements for program derivations
R. J. R. Back · Acta Informatica · 1988 · 247 citations
On correct refinement of programs
R. J. R. Back · Journal of Computer and System Sciences · 1981 · 140 citations