EventB
Event-B is a formal method for modelling and reasoning about computer-based systems. It emphasizes correctness by construction through refinement and proof obligations. Models in Event-B are built in two layers: contexts and machines. Contexts declare carrier sets, constants, and axioms; machines declare variables, invariants, and events, which describe state transitions.
A machine's invariants constrain all reachable states, and events specify guarded updates to variables. An event
Refinement is the central mechanism for progressive detail. A refinement step replaces abstract variables and events
Proof obligations generated in Event-B verify that invariants are preserved by all events, that the refinement
Event-B was developed in the 1990s by Jean-Raymond Abrial as an extension of the B-Method. It has
Notable tools besides Rodin include Atelier B; these environments support modelling, proof orchestration, and model checking.