On Reasoning About Rings

Distributed protocols are often composed of similar processes connected in a unidirectional ring network. Processes communicate by passing a token in a fixed direction; the process that holds the token is allowed to perform certain actions. Usually, correctness properties are expected to hold irrespective of the size of the ring. We show that the question of checking many useful correctness properties for rings of all sizes can be reduced to checking them on ring of sizes up to a small cutoff size. We apply our results to the verification of a mutual exclusion protocol and Milner's scheduler protocol.

[1]  Edmund M. Clarke,et al.  Characterizing Finite Kripke Structures in Propositional Temporal Logic , 1988, Theor. Comput. Sci..

[2]  Kedar S. Namjoshi,et al.  Reasoning about rings , 1995, POPL '95.

[3]  Vineet Kahlon,et al.  Reducing Model Checking of the Many to the Few , 2000, CADE.

[4]  A. Prasad Sistla,et al.  Reasoning about systems with many processes , 1992, JACM.

[5]  Edmund M. Clarke,et al.  Reasoning about Networks with Many Identical Finite State Processes , 1989, Inf. Comput..

[6]  Fred Kröger,et al.  Temporal Logic of Programs , 1987, EATCS Monographs on Theoretical Computer Science.

[7]  Somesh Jha,et al.  Symmetry and Induction in Model Checking , 1995, Computer Science Today.

[8]  Somesh Jha,et al.  Verifying parameterized networks , 1997, TOPL.

[9]  Robert P. Kurshan,et al.  A structural induction theorem for processes , 1989, PODC.

[10]  A. Prasad Sistla,et al.  Parametrized Verification of Linear Networks Using Automata as Invariants , 1997, CAV.

[11]  Joseph Sifakis,et al.  Specification and verification of concurrent systems in CESAR , 1982, Symposium on Programming.

[12]  Masafumi Yamashita,et al.  A New Structural Induction Theorem for Rings of Temporal Petri Nets , 1994, IEEE Trans. Software Eng..

[13]  Robert M. Keller,et al.  Formal verification of parallel programs , 1976, CACM.

[14]  Joseph Y. Halpern,et al.  “Sometimes” and “not never” revisited: on branching versus linear time temporal logic , 1986, JACM.

[15]  Kenneth L. McMillan,et al.  Symbolic model checking: an approach to the state explosion problem , 1992 .

[16]  Egon Börger Specification and validation methods , 1995 .

[17]  Pierre Wolper,et al.  An Automata-Theoretic Approach to Automatic Program Verification (Preliminary Report) , 1986, LICS.

[18]  Zohar Manna,et al.  Verification of parameterized programs , 1995, Specification and validation methods.

[19]  Edmund M. Clarke,et al.  Avoiding the state explosion problem in temporal logic model checking , 1987, PODC '87.