Formal Verfication of a Protocol for Communications over Faulty Channels

This paper describes the formalization and the verification of a communication protocol over faulty channels, using the Larch prover LP. The chosen specification environment is UNITY, since the proposed model can be fruitfully applied to a wide variety of problems and modified or extended for special purposes. It provides a higher level of abstraction to express solutions to parallel programming problems. We show how the UNITY specifications can be mechanized in LP, how we can use the theorem proving methodology to prove safety and liveness of a communication protocol, and that a theorem prover can be actually used to detect flaws in a system specification.

[1]  Stephen J. Garland,et al.  Larch: Languages and Tools for Formal Specification , 1993, Texts and Monographs in Computer Science.

[2]  Leslie Lamport,et al.  Proving the Correctness of Multiprocess Programs , 1977, IEEE Transactions on Software Engineering.

[3]  K. Mani Chandy,et al.  Parallel program design - a foundation , 1988 .

[4]  Kim G. Larsen,et al.  Generality in design and compositional verification usingTav , 1992, Formal Methods Syst. Des..

[5]  Stephen J. Garland,et al.  Verification of VLSI Circuits Using LP , 1988 .

[6]  Stephen J. Garland,et al.  A Guide to LP, The Larch Prover , 1991 .

[7]  Edsger W. Dijkstra,et al.  Predicate Calculus and Program Semantics , 1989, Texts and Monographs in Computer Science.

[8]  Edsger W. Dijkstra,et al.  A Discipline of Programming , 1976 .

[9]  David M. Goldschlag,et al.  Mechanically Verifying Concurrent Programs with the Boyer-Moore Prover , 1990, IEEE Trans. Software Eng..

[10]  Stephen J. Garland,et al.  Localized Verification of Circuit Descriptions , 1989, Automatic Verification Methods for Finite State Systems.