Transducer-Based Algorithmic Verification of Retransmission Protocols over Noisy Channels

  • Jay Thakkar
  • Aditya Kanade
  • Rajeev Alur
Part of the Lecture Notes in Computer Science book series (LNCS, volume 7892)

Abstract

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.

References

  1. 1.
  2. 2.
  3. 3.
    Abdulla, P.A., Annichini, A., Bouajjani, A.: Symbolic Verification of Lossy Channel Systems: Application to the Bounded Retransmission Protocol. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 208–222. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  4. 4.
    Abdulla, P.A., Jonsson, B.: Verifying Programs with Unreliable Channels. Inf. Comput. 127(2), 91–101 (1996)MathSciNetMATHCrossRefGoogle Scholar
  5. 5.
    Alur, R., Cerný, P.: Expressiveness of streaming string transducers. In: FSTTCS, pp. 1–12 (2010)Google Scholar
  6. 6.
    Alur, R., Cerný, P.: Streaming Transducers for Algorithmic Verification of Single-pass List-processing Programs. In: POPL, pp. 599–610 (2011)Google Scholar
  7. 7.
    Alur, R., Deshmukh, J.V.: Nondeterministic Streaming String Transducers. In: Aceto, L., Henzinger, M., Sgall, J. (eds.) ICALP 2011, Part II. LNCS, vol. 6756, pp. 1–20. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  8. 8.
    Babich, F., Deotto, L.: Formal Methods for Specification and Analysis of Communication Protocols. IEEE Comm. Surveys and Tutorials 4(1), 2–20 (2002)CrossRefGoogle Scholar
  9. 9.
    Badban, B., Fokkink, W., Groote, J., Pang, J., Pol, J.: Verification of a Sliding Window Protocol in μCRL and PVS. Formal Asp. Comput. 17(3), 342–388 (2005)MATHCrossRefGoogle Scholar
  10. 10.
    Billington, J., Gallasch, G.E.: How Stop and Wait Protocols Can Fail over the Internet. In: König, H., Heiner, M., Wolisz, A. (eds.) FORTE 2003. LNCS, vol. 2767, pp. 209–223. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  11. 11.
    Bouajjani, A., Jonsson, B., Nilsson, M., Touili, T.: Regular Model Checking. In: Emerson, E.A., Sistla, A.P. (eds.) CAV 2000. LNCS, vol. 1855, pp. 403–418. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  12. 12.
    Brand, D., Zafiropulo, P.: On Communicating Finite-State Machines. J. ACM 30(2), 323–342 (1983)MathSciNetMATHCrossRefGoogle Scholar
  13. 13.
    Cao, Y.: Reliability of Mobile Processes with Noisy Channels. IEEE Trans. Computers 61(9), 1217–1230 (2012)CrossRefGoogle Scholar
  14. 14.
    Cerf, V., Kahn, R.: A Protocol for Packet Network Intercommunication. IEEE Transactions on Communications 22(5), 637–648 (1974)CrossRefGoogle Scholar
  15. 15.
    Chkliaev, D., Hooman, J., de Vink, E.P.: Verification and Improvement of the Sliding Window Protocol. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 113–127. Springer, Heidelberg (2003)CrossRefGoogle Scholar
  16. 16.
    Chytil, M., Jákl, V.: Serial composition of 2-way finite-state transducers and simple programs on strings. In: Salomaa, A., Steinby, M. (eds.) ICALP 1977. LNCS, vol. 52, pp. 135–147. Springer, Heidelberg (1977)CrossRefGoogle Scholar
  17. 17.
    D’Argenio, P.R., Katoen, J.P., Ruys, T.C., Tretmans, G.J.: The Bounded Retransmission Protocol must be on time! In: Brinksma, E. (ed.) TACAS 1997. LNCS, vol. 1217, pp. 416–431. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  18. 18.
    Delzanno, G., Sangnier, A., Zavattaro, G.: Verification of Ad Hoc Networks with Node and Communication Failures. In: Giese, H., Rosu, G. (eds.) FORTE 2012 and FMOODS 2012. LNCS, vol. 7273, pp. 235–250. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  19. 19.
    Finkel, A.: Decidability of the termination problem for completely specified protocols. Distrib. Comput. 7(3), 129–135 (1994)CrossRefGoogle Scholar
  20. 20.
    Forouzan, B.: Data Communications and Networking. McGraw-Hill Companies (2012)Google Scholar
  21. 21.
    Groote, J., Pol, J.: A Bounded Retransmission Protocol for Large Data Packets. In: Nivat, M., Wirsing, M. (eds.) AMAST 1996. LNCS, vol. 1101, pp. 536–550. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  22. 22.
    Gurari, E.: The equivalence problem for deterministic two-way sequential transducers is decidable. SIAM J. Comput. 11(3), 448–452 (1982)MathSciNetMATHCrossRefGoogle Scholar
  23. 23.
    Havelund, K., Shankar, N.: Experiments in Theorem Proving and Model Checking for Protocol Verification. In: Gaudel, M.-C., Wing, J.M. (eds.) FME 1996. LNCS, vol. 1051, pp. 662–681. Springer, Heidelberg (1996)CrossRefGoogle Scholar
  24. 24.
    Helmink, L., Sellink, M.P.A., Vaandrager, F.W.: Proof-Checking a Data Link Protocol. In: Barendregt, H., Nipkow, T. (eds.) TYPES 1993. LNCS, vol. 806, pp. 127–165. Springer, Heidelberg (1994)CrossRefGoogle Scholar
  25. 25.
    Holzmann, G.J.: The Model Checker SPIN. IEEE Trans. Software Eng. 23(5), 279–295 (1997)MathSciNetCrossRefGoogle Scholar
  26. 26.
    ISO. Data Communication - HDLC Procedures - Elements of Procedure. Technical Report ISO 4335, International Organization for Standardization (1979) Google Scholar
  27. 27.
    Kesten, Y., Maler, O., Marcus, M., Pnueli, A., Shahar, E.: Symbolic Model Checking with Rich Assertional Languages. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 424–435. Springer, Heidelberg (1997)CrossRefGoogle Scholar
  28. 28.
    Madelaine, E., Vergamini, D.: Specification and Verification of a Sliding Window Protocol in LOTOS. In: FORTE, pp. 495–510 (1991)Google Scholar
  29. 29.
    Peterson, W.W., Brown, D.T.: Cyclic Codes for Error Detection. In: IRE, pp. 228–235 (1961)Google Scholar
  30. 30.
    Podelski, A., Rybalchenko, A.: ARMC: The Logical Choice for Software Model Checking with Abstraction Refinement. In: Hanus, M. (ed.) PADL 2007. LNCS, vol. 4354, pp. 245–259. Springer, Heidelberg (2007)CrossRefGoogle Scholar
  31. 31.
    Rusu, V.: Verifying a Sliding Window Protocol using PVS. In: FORTE, pp. 251–268 (2001)Google Scholar
  32. 32.
    Sistla, A.P., Zuck, L.D.: Automatic Temporal Verification of Buffer Systems. In: Larsen, K.G., Skou, A. (eds.) CAV 1991. LNCS, vol. 575, pp. 59–69. Springer, Heidelberg (1992)CrossRefGoogle Scholar
  33. 33.
    Smith, M.A., Klarlund, N.: Verification of a Sliding Window Protocol Using IOA and MONA. In: FORTE, pp. 19–34 (2000)Google Scholar
  34. 34.
    Stenning, V.: A Data Transfer Protocol. Computer Networks 1, 99–110 (1976)Google Scholar
  35. 35.
    Tanenbaum, A.S., Wetherall, D.: Computer Networks. Pearson (2010)Google Scholar
  36. 36.
    Veanes, M., Hooimeijer, P., Livshits, B., Molnar, D., Bjørner, N.: Symbolic Finite State Transducers: Algorithms and Applications. In: POPL, pp. 137–150 (2012)Google Scholar
  37. 37.
    Wolper, P., Boigelot, B.: Verifying Systems with Infinite but Regular State Spaces. In: Vardi, M.Y. (ed.) CAV 1998. LNCS, vol. 1427, pp. 88–97. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  38. 38.
    Ying, M.: π-calculus with noisy channels. Acta Inf 41(9), 525–593 (2005)MATHCrossRefGoogle Scholar

Copyright information

© IFIP International Federation for Information Processing 2013

Authors and Affiliations

  • Jay Thakkar
    • 1
  • Aditya Kanade
    • 1
  • Rajeev Alur
    • 2
  1. 1.Indian Institute of ScienceIndia
  2. 2.University of PennsylvaniaUSA

Personalised recommendations