Transducer-Based Algorithmic Verification of Retransmission Protocols over Noisy Channels

Unreliable communication channels are a practical reality. They add to the complexity of protocol design and verification. In this paper, we consider noisy channels which can corrupt messages. We present an approach to model and verify protocols which combine error detection and error control to provide reliable communication over noisy channels. We call these protocols retransmission protocols as they achieve reliable communication through repeated retransmissions of messages. These protocols typically use cyclic redundancy checks and sliding window protocols for error detection and control respectively. We propose models of these protocols as regular transducers operating on bit strings. Streaming string transducers provide a natural way of modeling these protocols and formalizing correctness requirements. The verification problem is posed as functional equivalence between the protocol transducer and the specification transducer. Functional equivalence checking is decidable for this class of transducers and this makes the transducer models amenable to algorithmic verification. We present case studies based on TinyOS serial communication and the HDLC retransmission protocol.

[1]  Rajeev Alur,et al.  A Temporal Logic of Nested Calls and Returns , 2004, TACAS.

[2]  Fulvio Babich,et al.  Formal methods for specification and analysis of communication protocols , 2002, IEEE Communications Surveys & Tutorials.

[3]  Frits W. Vaandrager,et al.  Proof-Checking a Data Link Protocol , 1994, TYPES.

[4]  David Lee,et al.  Formal Techniques for Distributed Systems, Joint 11th IFIP WG 6.1 International Conference FMOODS 2009 and 29th IFIP WG 6.1 International Conference FORTE 2009, Lisboa, Portugal, June 9-12, 2009. Proceedings , 2009, FMOODS/FORTE.

[5]  Jim Woodcock,et al.  FME'96: Industrial Benefit and Advances in Formal Methods , 1996, Lecture Notes in Computer Science.

[6]  Marcus Nilsson,et al.  Regular Model Checking , 2000, CAV.

[7]  Eric Madelaine,et al.  Specification and Verification of a Sliding Window Protocol in LOTOS , 1991, FORTE.

[8]  Jonathan Billington,et al.  How Stop and Wait Protocols Can Fail over the Internet , 2003, FORTE.

[9]  Pierre Wolper,et al.  Verifying Systems with Infinite but Regular State Spaces , 1998, CAV.

[10]  Adam Wolisz,et al.  Formal Techniques for Networked and Distributed Systems - FORTE 2003 , 2003, Lecture Notes in Computer Science.

[11]  Theo C. Ruys,et al.  The Bounded Retransmission Protocol Must Be on Time! , 1997, TACAS.

[12]  Giorgio Delzanno,et al.  Verification of Ad Hoc Networks with Node and Communication Failures , 2012, FMOODS/FORTE.

[13]  A. Prasa Automatic Temporal Verification of Buffer Systems , 2005 .

[14]  Pavol Cerný,et al.  Streaming transducers for algorithmic verification of single-pass list-processing programs , 2010, POPL '11.

[15]  W. W. PETERSONt,et al.  Cyclic Codes for Error Detection * , 2022 .

[16]  Giuseppe Di Battista,et al.  26 Computer Networks , 2004 .

[17]  Vinton G. Cerf,et al.  A protocol for packet network intercommunication , 1974, CCRV.

[18]  Pavol Cerný,et al.  Expressiveness of streaming string transducers , 2010, FSTTCS.

[19]  Rajeev Alur,et al.  Nondeterministic Streaming String Transducers , 2011, ICALP.

[20]  Jan Friso Groote,et al.  Verification of a sliding window protocol in μCRL and PVS , 2005, Formal Aspects of Computing.

[21]  Nikolaj Bjørner,et al.  Symbolic finite state transducers: algorithms and applications , 2012, POPL '12.

[22]  Vlad Rusu Verifying a Sliding Window Protocol using PVS , 2001, FORTE.

[23]  Erik P. de Vink,et al.  Verification and Improvement of the Sliding Window Protocol , 2003, TACAS.

[24]  Daniel Brand,et al.  On Communicating Finite-State Machines , 1983, JACM.

[25]  Eitan M. Gurari The equivalence problem for deterministic two-way sequential transducers is decidable , 1980, 21st Annual Symposium on Foundations of Computer Science (sfcs 1980).

[26]  Andreas Podelski,et al.  ARMC: The Logical Choice for Software Model Checking with Abstraction Refinement , 2007, PADL.

[27]  Amir Pnueli,et al.  Symbolic model checking with rich assertional languages , 2001, Theor. Comput. Sci..

[28]  Robin Milner,et al.  On Observing Nondeterminism and Concurrency , 1980, ICALP.

[29]  Nils Klarlund,et al.  Verification of a Sliding Window Protocol Using IOA and MONA , 2000, FORTE.

[30]  Parosh Aziz Abdulla,et al.  Verifying programs with unreliable channels , 1993, [1993] Proceedings Eighth Annual IEEE Symposium on Logic in Computer Science.

[31]  Gerard J. Holzmann,et al.  The Model Checker SPIN , 1997, IEEE Trans. Software Eng..

[32]  Parosh Aziz Abdulla,et al.  Symbolic Verification of Lossy Channel Systems: Application to the Bounded Retransmission Protocol , 1999, TACAS.

[33]  Alain Finkel,et al.  Decidability of the termination problem for completely specified protocols , 1994, Distributed Computing.

[34]  Mingsheng Ying,et al.  π-calculus with noisy channels , 2005, Acta Informatica.

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

[36]  Yongzhi Cao,et al.  Reliability of Mobile Processes with Noisy Channels , 2012, IEEE Transactions on Computers.

[37]  Amir Pnueli,et al.  Symbolic Model Checking with Rich ssertional Languages , 1997, CAV.

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

[39]  Maribel Fernández,et al.  Curry-Style Types for Nominal Terms , 2006, TYPES.

[40]  Michal Chytil,et al.  Serial Composition of 2-Way Finite-State Transducers and Simple Programs on Strings , 1977, ICALP.

[41]  Jan Friso Groote,et al.  A Bounded Retransmission Protocol for Large Data Packets , 1993, AMAST.

[42]  Behrouz A. Forouzan,et al.  Data Communications and Networking , 2000 .