1a2a. |
The phases of a B development
Specification: a formal definition of the required component or system expressed as an abstract machine. The definition may depend on other machines A B specification is a model of the required system.
Animation: a formal specification can be checked only for internal consistency; it cannot be checked for correctness, that is consistency with informal requirements for the system. The value of a specification ---formal or otherwise--- depends on how accurately it captures the requirements of the person who wants the system, the client. Animation is a technique for symbolically interpreting a specification so that the behaviour of the system can be checked against expectations.
Refinement: refinement is the name given to design in a formal setting. B supports a particular theory of refinement ---essentially that of the refinement calculus. In a refinement sequence a series of machines are produced. The machines contain more implementation detail, and in general have a different state, but the operations must have the same "effect". Refinements produce proof obligations, which should be discharged.
Implementation: an implement is a special, final refinement that produces an implementation machine. The implementation machine can be translated ---automatically by the B Tookit--- into code. |