Verification of a Sliding Window Protocol Using IOA and MONA

We show how to use a decision procedure for WS1S (the MONA tool) to give automated correctness proofs of a sliding window protocol under assumptions of unbounded window sizes, buffer sizes, and channel capacities. We also verify a version of the protocol where the window size is fixed. Since our mechanized target logic is WS1S, not the finite structures of traditional model checking, our method employs only two easy reductions outside the decidable framework. Additionally, we formulate invariants that describe the reachable global states, but the bulk of the detailed reasoning is left to the decision procedure. Because the notation of WS1S is too low-level to describe complicated protocols at a reasonable level of abstraction, we use a higher level language for the protocol description, and then build a tool that automatically translates this language to the MONA syntax. The higher level language we use is IOA.

[1]  Keith A. Bartlett,et al.  A note on reliable full-duplex transmission over half-duplex links , 1969, Commun. ACM.

[2]  M. Gordon,et al.  Introduction to HOL: a theorem proving environment for higher order logic , 1993 .

[3]  Natarajan Shankar,et al.  Formal Verification for Fault-Tolerant Architectures: Prolegomena to the Design of PVS , 1995, IEEE Trans. Software Eng..

[4]  D. Brand,et al.  Verification of HDLC , 1982, IEEE Trans. Commun..

[5]  Randal E. Bryant,et al.  Symbolic Boolean manipulation with ordered binary-decision diagrams , 1992, CSUR.

[6]  Natarajan Shankar,et al.  Experiments in Theorem Proving and Model Checking for Protocol Verification , 1996, FME.

[7]  Donald E. Knuth Verification of link-level protocols , 1981, BIT Comput. Sci. Sect..

[8]  Patrick Cousot,et al.  Abstract interpretation: a unified lattice model for static analysis of programs by construction or approximation of fixpoints , 1977, POPL.

[9]  Patrice Godefroid,et al.  Symbolic Protocol Verification with Queue BDDs , 1999, Formal Methods Syst. Des..

[10]  Joseph Sifakis,et al.  Verification in XESAR of the Sliding Window Protocol , 1987, PSTV.

[11]  Parosh Aziz Abdulla,et al.  Verification of Infinite-State Systems by Combining Abstraction and Reachability Analysis , 1999, CAV.

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

[13]  Nils Klarlund,et al.  Mona: Monadic Second-Order Logic in Practice , 1995, TACAS.

[14]  A. Udaya Shankar,et al.  An HDLC protocol specification and its verification using image protocols , 1983, TOCS.

[15]  Kedar S. Namjoshi,et al.  Linking Theorem Proving and Model-Checking with Well-Founded Bisimulation , 1999, CAV.

[16]  Roope Kaivola Using Compositional Preorders in the Verification of Sliding Window Protocal , 1997, CAV.

[17]  Teruo Higashino,et al.  An Algebraic Specification of HDLC Procedures and Its Verification , 1984, IEEE Transactions on Software Engineering.

[18]  Krishan K. Sabnani An algorithmic technique for protocol verification , 1988, IEEE Trans. Commun..

[19]  Nancy A. Lynch,et al.  An introduction to input/output automata , 1989 .

[20]  Nils Klarlund,et al.  Mona & Fido: The Logic-Automaton Connection in Practice , 1997, CSL.