Towards An Integrated Formal Method for Verification of Liveness Properties in Distributed Systems
Abstract
State-based Formal Methods (e.g Event-B/RODIN \cite{Abr:10,ABH:10})
for critical system development and verification are now
well-established, with track records including tool support and
industrial applications. The focus of proof-based verification in
particular, is on safety properties. Liveness properties, which
guarantee {\em eventual}, or converging computations of some
requirements, are less well dealt with. Inductive reasoning about liveness is not
explicitly supported. Liveness proofs are
often complex and expensive, requiring high skill levels on the part
of the verification engineer. Fairness-based temporal logic approaches have been
proposed to address this, e.g. TLA \cite{lamport94a} and that of
Manna \& Pnueli~\cite{DBLP:books/daglib/0080029}.
We contribute to this technology need by proposing a fairness-based method
integrating temporal and first order logic, proof and tools for
modelling and verification of safety and liveness properties.
The method is based on an integration of Event-B and TLA.
Building on our previous work~\cite{MP:13}, we present the method via three example population protocols \cite{AAD:06}.
These were proposed as a theoretical framework for computability reasoning about Wireless Sensor Network (WSN) and Mobile Ad-Hoc Network (MANET) algorithms.
Our examples present typical liveness
and convergence requirements. We prove convergence results for the
examples by integrated modelling and proof with Event-B/RODIN and TLA.
We exploit existing proof rules, define and apply three new proof rules; soundness proofs are also provided.
During the process we observe certain repeating patterns in the proofs. These are easily identified and reused because of the explicit nature of the reasoning.