A Compositional Protocol Verification Using Relativized Bisimulation

Abstract The purpose of this paper is to illustrate a compositional proof method for communicating systems; that is, a method in which a property P of a complete system is demonstrated by first decomposing the system, then demonstrating properties of the subsystems which are strong enough to entail property P for the complete system. In any compositional proof method, it is essential that one can abstract away the behavioural aspects of the subsystem which are irrelevant in the context of the complete system. Our method is an extension of the well established notion of bisimulation; it is called relative bisimulation, and was developed specifically to allow for such abstractions. We illustrate the method in a proof of correctness for a version of the Alternating Bit Protocol.

[1]  Jan A. Bergstra,et al.  Algebra of Communicating Processes with Abstraction , 1985, Theor. Comput. Sci..

[2]  Robin Milner,et al.  Calculi for Synchrony and Asynchrony , 1983, Theor. Comput. Sci..

[3]  Robin Milner,et al.  A Modal Characterisation of Observable Machine-Behaviour , 1981, CAAP.

[4]  Amir Pnueli,et al.  Now you may compose temporal logic specifications , 1984, STOC '84.

[5]  K. Larsen Context-dependent bisimulation between processes , 1986 .

[6]  Cliff B. Jones,et al.  Tentative steps toward a development method for interfering programs , 1983, TOPL.

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

[8]  Nancy A. Lynch,et al.  Hierarchical correctness proofs for distributed algorithms , 1987, PODC '87.

[9]  Kim G. Larsen,et al.  A Context Dependent Equivalence Between Processes , 1985, Theor. Comput. Sci..

[10]  Eugene W. Stark,et al.  A Proof Technique for Rely/Guarantee Properties , 1985, FSTTCS.

[11]  Nancy A. Lynch,et al.  Introduction to the Theory of Nested Transactions , 1986, Theor. Comput. Sci..

[12]  Jan A. Bergstra,et al.  Verification of an alternating bit protocol by means of process algebra , 1985, Mathematical Methods of Specification and Synthesis of Software Systems.

[13]  David Park,et al.  Concurrency and Automata on Infinite Sequences , 1981, Theoretical Computer Science.

[14]  C. A. R. HOARE,et al.  An axiomatic basis for computer programming , 1969, CACM.

[15]  Amir Pnueli,et al.  Linear and Branching Structures in the Semantics and Logics of Reactive Systems , 1985, ICALP.

[16]  J. C. Mulder,et al.  A modular approach to protocol verification using process algebra , 1986 .

[17]  J. van Leeuwen,et al.  Verification of balanced link-level protocols , 1985 .

[18]  Robin Milner,et al.  Communication and concurrency , 1989, PHI Series in computer science.

[19]  Pierre Wolper,et al.  Expressing interesting properties of programs in propositional temporal logic , 1986, POPL '86.

[20]  Robin Milner,et al.  A Calculus of Communicating Systems , 1980, Lecture Notes in Computer Science.

[21]  C. A. R. Hoare,et al.  Communicating Sequential Processes (Reprint) , 1983, Commun. ACM.

[22]  K. V. S. Prasad Specification and Proof of a Simple Fault Tolerant System in CCS , 1984 .

[23]  Pierre Wolper,et al.  Verifying Properties of Large Sets of Processes with Network Invariants , 1990, Automatic Verification Methods for Finite State Systems.

[24]  D. J. Walker,et al.  Bisimulation and Divergence , 1990, Inf. Comput..

[25]  Xinxin Liu,et al.  Compositionality through an Operational Semantics of Contexts , 1990, Journal of Logic and Computation.

[26]  C Sterling,et al.  A compositional reformulation of Owicki-Grier's partial correctness logic for a concurrent while language , 1986 .