Declarative distributed broadcast using three-valued modal logic and semitopologies
By: Murdoch J. Gabbay
We demonstrate how to formally specify distributed algorithms as declarative axiomatic theories in a modal logic. We exhibit the method on a simple voting protocol, a simple broadcast protocol, and a simple agreement protocol. The methods scale well and have been used to find errors in a proposed industrial protocol. The key novelty is to use modal logic to capture a declarative, high-level representation of essential system properties -- the logical essence of the algorithm -- while abstracting away from transitions of an abstract machine that implements it. It is like the difference between specifying code in a functional or logic programming language, versus specifying code in an imperative one. A logical axiomatisation in the style we propose provides a precise, compact, human-readable specification that abstractly captures essential system properties, while eliding low-level implementation details; it is more precise than a natural language description, yet more abstract than source code or a logical specification thereof. This creates new opportunities for reasoning about correctness, resilience, and failure, and could serve as a foundation for human- and machine verification efforts, design improvements, and even alternative protocol implementations.
Similar Papers
A General (Uniform) Relational Semantics for Sentential Logics
Logic in Computer Science
Makes many different logic systems work the same.
Group Knowledge of Hypothetical Values
Logic in Computer Science
Lets computers share and know secret group information.
From Knowledge to Conjectures: A Modal Framework for Reasoning about Hypotheses
Logic in Computer Science
Lets computers explore "what if" ideas safely.