Home

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.

consists
of
a
guard
(when
it
can
fire)
and
an
action
(how
variables
change).
The
combination
of
contexts
and
machines
allows
modular
development,
with
local
properties
expressed
in
invariants
and
global
properties
enforced
by
refinement.
with
more
concrete
ones,
while
proving
that
the
refined
machine
simulates
the
abstract
one.
New
events
or
state
variables
may
be
introduced,
provided
the
refinement
obligations
are
discharged.
preserves
behavior,
and
that
termination
or
variant
measures
decrease
as
required.
These
obligations
are
typically
discharged
with
automated
theorem
provers
integrated
in
development
tools.
been
implemented
in
the
Rodin
platform,
which
provides
editors,
proof
management,
and
a
library
of
reusable
models.
Event-B
is
used
in
safety-critical
domains,
such
as
avionics
and
rail.
Event-B
emphasizes
incremental
development
and
formal
verification,
complementing
traditional
testing.