Performance Analysis and Functional Verification of the Stop-and-Wait Protocol in HOL

Real-time systems usually involve a subtle interaction of a number of distributed components and have a high degree of parallelism, which makes their performance analysis quite complex. Thus, traditional techniques, such as simulation, or the state-based formal methods usually fail to produce reasonable results. In this paper, we propose to use higher-order-logic (HOL) theorem proving for the performance analysis of real-time systems. The idea is to formalize the real-time system as a logical conjunction of HOL predicates, whereas each one of these predicates define an autonomous component or process of the given real-time system. The random or unpredictable behavior found in these components is modeled as random variables. This formal specification can then be used in a HOL theorem prover to reason about both functional and performance related properties of the given real-time system. In order to illustrate the practical effectiveness of our approach, we present the analysis of the Stop-and-Wait protocol, which is a classical example of real-time systems. The functional correctness of the protocol is verified by proving that the protocol ensures reliable data transfers. Whereas, the average message delay relation is verified in HOL for the sake of performance analysis. The paper includes the protocol’s formalization details along with the HOL proof sketches for the major theorems.

[1]  Rachel Cardell-Oliver The formal verification of hard real-time systems , 1992 .

[2]  Walter L. Smith Probability and Statistics , 1959, Nature.

[3]  Stephan Merz,et al.  Model Checking , 2000 .

[4]  Andrew S. Tanenbaum,et al.  Computer Networks , 1981 .

[5]  Michael J. C. Gordon,et al.  Mechanizing programming logics in higher order logic , 1989 .

[6]  Wang Yi,et al.  UPPAAL - Now, Next, and Future , 2000, MOVEP.

[7]  Freek Wiedijk,et al.  The Seventeen Provers of the World , 2006 .

[8]  R. Segala,et al.  Automatic Verification of Real-Time Systems with Discrete Probability Distributions , 1999, ARTS.

[9]  Enrico Vicario,et al.  Correctness verification and performance analysis of real-time systems using stochastic preemptive time Petri nets , 2005, IEEE Transactions on Software Engineering.

[10]  Sofiène Tahar,et al.  Verification of Tail Distribution Bounds in a Theorem Prover , 2007 .

[11]  Tecnica aeronautica e spaziale Mars Climate Orbiter , 2010 .

[12]  Marco Ajmone Marsan,et al.  A LOTOS extension for the performance analysis of distributed systems , 1994, TNET.

[13]  Lisa Wells,et al.  Performance Analysis using Coloured Petri Nets , 2002 .

[14]  Alberto Leon-Garcia,et al.  Communication Networks: Fundamental Concepts and Key Architectures , 1999 .

[15]  Thomas Hérault,et al.  Probabilistic Model Checking of the CSMA/CD Protocol Using PRISM and APMC , 2005, AVoCS.

[16]  Laure Petrucci,et al.  Fast verification of the class of stop-and-wait protocols modelled by coloured Petri nets , 2005 .

[17]  Ramakant Khazanie Basic probability theory and applications , 1976 .

[18]  Joe Hurd,et al.  Formal verification of probabilistic algorithms , 2003 .

[19]  Marta Z. Kwiatkowska,et al.  Quantitative Analysis With the Probabilistic Model Checker PRISM , 2006, QAPL.

[20]  Dirk Beyer,et al.  Rabbit: A Tool for BDD-Based Verification of Real-Time Systems , 2003, CAV.

[21]  Lawrence Charles Paulson,et al.  Isabelle: A Generic Theorem Prover , 1994 .

[22]  R. Alur Techniques for automatic verification of real-time systems , 1991 .

[23]  Vic Stenning,et al.  A Data Transfer Protocol , 1976, Comput. Networks.

[24]  Piotr Kosiuczenko,et al.  A timed rewriting logic semantics for SDL: A case study of alternating bit protocol , 1998, WRLA.

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

[26]  Sofiène Tahar,et al.  Verification of Expectation Properties for Discrete Random Variables in HOL , 2007, TPHOLs.

[27]  Dalton Serey Guerrero,et al.  Protocol Performance Analysis Using a Timed Extension for an Object Oriented Petri Net Language , 2005, Electron. Notes Theor. Comput. Sci..

[28]  MA John Harrison PhD Theorem Proving with the Real Numbers , 1998, Distinguished Dissertations.

[29]  Marta Z. Kwiatkowska,et al.  Stochastic Model Checking , 2007, SFM.

[30]  Ichiro Suzuki,et al.  Formal Analysis of the Alternating Bit Protocol by Temporal Petri Nets , 1990, IEEE Trans. Software Eng..

[31]  Freek Wiedijk,et al.  The Seventeen Provers of the World, Foreword by Dana S. Scott , 2006, The Seventeen Provers of the World.

[32]  Jonathan Billington,et al.  A Parametric State Space for the Analysis of the Infinite Class of Stop-and-Wait Protocols , 2006, SPIN.

[33]  Sofiène Tahar,et al.  Formalization of Continuous Probability Distributions , 2007, CADE.

[34]  Lawrence C. Paulson,et al.  Isabelle - A Generic Theorem Prover (with a contribution by T. Nipkow) , 1994, Lecture Notes in Computer Science.

[35]  Marta Z. Kwiatkowska,et al.  Automatic verification of real-time systems with discrete probability distributions , 1999, Theor. Comput. Sci..