Formal Specification and Compositional Verification of
an Atomic Broadcast Protocol
Ping Zhou and Jozef Hooman
Appeared in: Real-Time Systems, Volume 9, Number 2, pages 119-145, 1995.
An extended abstract appeared in:
Dependable Computing for Critical Applications 4,
Cristian, F.; Le Lann, G.; Lunt, T. (eds.),
Dependable Computing and Fault-Tolerant Systems Series,
Volume 9, Springer-Verlag,
pages 291-308, 1995.
We apply a formal method based on assertions to specify and verify
an atomic broadcast protocol. The protocol is implemented by replicating
a server process on all processors in a network. We show that the
verification of the protocol can be done compositionally by using
specifications in which timing is expressed by local clock values.
First the requirements of the protocol are formally described.
Next the underlying communication mechanism, the assumptions about
local clocks, and the failure assumptions are axiomatized. Also the
server process is represented by a formal specification. Then we verify
that parallel execution of the server processes leads to the desired
properties by proving that the conjunction of all server specifications
and the axioms about the system implies the requirements of the protocol.