Focus points and convergent process operators: a proof strategy for protocol verification

We present a strategy for finding algebraic correctness proofs for communication systems. It is described in the setting of μCRL [11], which is, roughly, ACP [2,3] extended with a formal treatment of the interaction between data and processes. The strategy has already been applied successfully in [4] and [10], but was not explicitly identified as such. Moreover, the protocols that were verified in these papers were rather complex, so that the general picture was obscured by the amount of details. In this paper, the proof strategy is materialised in the form of definitions and theorems. These results reduce a large part of protocol verification to a number of trivial facts concerning data parameters occurring in implementation and specification. This greatly simplifies protocol verifications and makes our approach amenable to mechanical assistance; experiments in this direction seem promising. The strategy is illustrated by several small examples and one larger example, the Concurrent Alternating Bit Protocol (CABP). Although simple, this protocol contains a large amount of internal parallelism. so that all relevant issues make their appearance.

[1]  Jan Friso Groote,et al.  The Syntax and Semantics of μCRL , 1995 .

[2]  Rob J. van Glabbeek,et al.  Branching Time and Abstraction in Bisimulation Semantics (Extended Abstract) , 1989, IFIP Congress.

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

[4]  Jan Friso Groote,et al.  Formal Verification of a Leader Election Protocol in Process Algebra , 1997, Theor. Comput. Sci..

[5]  Hugo Herbelin,et al.  The Coq proof assistant : reference manual, version 6.1 , 1997 .

[6]  Jan Friso Groote,et al.  Proof Theory for µCRL: A Language for Processes with Data , 1993, Semantics of Specification Languages.

[7]  Mark van der Zwaag,et al.  The cones and foci proof technique for timed transition systems , 2001, Inf. Process. Lett..

[8]  Jacob Brunekreef Process Specification in a UNITY Format , 1995 .

[9]  Alban Ponse,et al.  Translating a process algebra with symbolic data values to linear format , 1995 .

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

[11]  Jan Friso Groote,et al.  Algebraic Process Verification , 2001, Handbook of Process Algebra.

[12]  Jan Friso Groote,et al.  A Correctness Proof of a One-Bit Sliding Window Protocol in µCRL , 1993, Comput. J..

[13]  J. Bergstra,et al.  Handbook of Process Algebra , 2001 .

[14]  Paul Klint A Meta-Environment for Generating Programming Environments , 1989, Algebraic Methods.

[15]  Robin Milner,et al.  A Compositional Protocol Verification Using Relativized Bisimulation , 1992, Inf. Comput..

[16]  Jan A. Bergstra,et al.  The Algebra of Recursively Defined Processes and the Algebra of Regular Processes , 1984, ICALP.

[17]  F. Vaandrager Forward and Backward Simulations Part I : Untimed Systems , 1993 .

[18]  Frits W. Vaandrager,et al.  Some observations on redundancy in a context , 1992 .

[19]  Jan Friso Groote,et al.  Invariants in Process Algebra with Data , 1993, CONCUR.

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

[21]  Jan Friso Groote,et al.  Linearization in parallel pCRL , 2000, J. Log. Algebraic Methods Program..

[22]  Carron Shankland,et al.  The Tree Identify Protocol of IEEE 1394 in μCRL , 1998, Formal Aspects of Computing.

[23]  Nancy A. Lynch,et al.  Forward and Backward Simulations: I. Untimed Systems , 1995, Inf. Comput..

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