Concepedia

TLDR

The B Method is a formal approach for specifying, designing, and coding software systems, and its definitive reference, The B‑Book, provides comprehensive coverage for both self‑study and professional use. The book is organized into four parts that cover mathematical foundations, the Generalised Substitution Language and Abstract Machine Notation, basic programming constructs such as sequencing and loops, and refinement, illustrating each with examples and showing how to build large systems through layered module architectures. The publication of The B‑Book equips formal methods practitioners, computer scientists, and systems developers with a definitive reference that will establish the B Method as a standard approach to software construction. Authored by J.-R.

Abstract

The B Method is a means for specifying, designing and coding software systems. The long-awaited B-Book is the standard reference for everything concerning this method. It contains the mathematical basis on which it is founded, the precise definitions of the notations used, and a large number of examples illustrating its use in practice. J.-R. Abrial, the inventor of B, has written the book in such a way that it can be used for self-study or for reference. It is in four parts, the first dealing with the mathematical foundations and the definition of the various mathematical structures that are needed to formalise software systems; special emphasis is placed on the notion of proof. The second part contains a presentation of the Generalised Substitution Language and of the Abstract Machine Notation; examples are given to show how large specifications can be constructed systematically. The next part introduces the two basic programming features of sequencing and loop. The last part covers the very important notion of refinement. It shows how to construct large software systems by means of layered architectures of modules. With the appearance of The B-Book, formal methods practitioners, computer scientists, and systems developers at last will have access to the definitive account of what will become one of the standard approaches to the construction of software systems.