Skip to main content

Verifying a Sliding Window Protocol in μCRL

  • Conference paper

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 3116))

Abstract

We prove the correctness of a sliding window protocol with an arbitrary finite window size n and sequence numbers modulo 2n. We show that the sliding window protocol is branching bisimilar to a queue of capacity 2n. The proof is given entirely on the basis of an axiomatic theory, and was checked with the help of PVS.

This is a preview of subscription content, log in via an institution.

Buying options

Chapter
USD   29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD   39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD   54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Bergstra, J.A., Klop, J.W.: Process algebra for synchronous communication. Information and Control 60(1/3), 109–137 (1984)

    Article  MATH  MathSciNet  Google Scholar 

  2. Bezem, M.A., Groote, J.F.: Invariants in process algebra with data. In: Jonsson, B., Parrow, J. (eds.) CONCUR 1994. LNCS, vol. 836, pp. 401–416. Springer, Heidelberg (1994)

    Chapter  Google Scholar 

  3. Bezem, M.A., Groote, J.F.: A correctness proof of a one bit sliding window protocol in μCRL. The Computer Journal 37(4), 289–307 (1994)

    Article  Google Scholar 

  4. Brunekreef, J.J.: Sliding window protocols. In: Mauw, S., Veltink, G. (eds.) Algebraic Specification of Protocols. Cambridge Tracts in Theoretical Computer Science, vol. 36, pp. 71–112. Cambridge University Press, Cambridge (1993)

    Chapter  Google Scholar 

  5. Cardell-Oliver, R.: Using higher order logic for modelling real-time protocols. In: Abramsky, S. (ed.) TAPSOFT 1991, CCPSD 1991, and ADC-Talks 1991. LNCS, vol. 494, pp. 259–282. Springer, Heidelberg (1991)

    Google Scholar 

  6. Cerf, V.G., Kahn, R.E.: A protocol for packet network intercommunication. IEEE Transactions on Communications, COM 22, 637–648 (1974)

    Article  Google Scholar 

  7. Chkliaev, D., Hooman, J., de Vink, E.: 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)

    Chapter  Google Scholar 

  8. Fokkink, W.J., Groote, J.F., Pang, J., Badban, B., van de Pol, J.C.: Verifying a sliding window protocol in μCRL. Technical Report SEN-R0308, CWI (2003)

    Google Scholar 

  9. Fokkink, W.J., Pang, J.: Cones and foci for protocol verification revisited. In: Gordon, A.D. (ed.) FOSSACS 2003. LNCS, vol. 2620, pp. 267–281. Springer, Heidelberg (2003)

    Chapter  Google Scholar 

  10. van Glabbeek, R.J., Weijland, W.P.: Branching time and abstraction in bisimulation semantics. Journal of the ACM 43(3), 555–600 (1996)

    Article  MathSciNet  MATH  Google Scholar 

  11. Godefroid, P., Long, D.E.: Symbolic protocol verification with Queue BDDs. Formal Methods and System Design 14(3), 257–271 (1999)

    Article  Google Scholar 

  12. Groenveld, R.A.: Verification of a sliding window protocol by means of process algebra. Report P8701, University of Amsterdam (1987)

    Google Scholar 

  13. Groote, J.F.: Process Algebra and Structured Operational Semantics. PhD thesis, University of Amsterdam (1991)

    Google Scholar 

  14. Groote, J.F., Korver, H.P.: Correctness proof of the bakery protocol in μCRL. In: Proc. ACP 1994, Workshops in Computing, pp. 63–86. Springer, Heidelberg (1995)

    Google Scholar 

  15. Groote, J.F., Ponse, A.: Proof theory for μCRL: A language for processes with data. In: Proc. SoSL 1993, Workshops in Computing, pp. 232–251. Springer, Heidelberg (1994)

    Google Scholar 

  16. Groote, J.F., Ponse, A.: Syntax and semantics of μCRL. In: Proc. ACP 1994, Workshops in Computing, pp. 26–62. Springer, Heidelberg (1995)

    Google Scholar 

  17. Groote, J.F., Ponse, A., Usenko, Y.S.: Linearization of parallel pCRL. Journal of Logic and Algebraic Programming 48(1/2), 39–72 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  18. Groote, J.F., Reniers, M.: Algebraic process verification. Handbook of Process Algebra, pp. 1151–1208. Elsevier, Amsterdam (2001)

    Google Scholar 

  19. Groote, J.F., Springintveld, J.: Focus points and convergent process operators: A proof strategy for protocol verification. Journal of Logic and Algebraic Programming 49(1/2), 31–60 (2001)

    Article  MATH  MathSciNet  Google Scholar 

  20. Hailpern, B.T.: Verifying Concurrent Processes Using Temporal Logic. LNCS, vol. 129. Springer, Heidelberg (1982)

    MATH  Google Scholar 

  21. Holzmann, G.J.: Design and Validation of Computer Protocols. Prentice Hall, Englewood Cliffs (1991)

    Google Scholar 

  22. Holzmann, G.J.: The model checker Spin. IEEE Transactions on Software Engineering 23(5), 279–295 (1997)

    Article  MathSciNet  Google Scholar 

  23. Jonsson, B.: Compositional Verification of Distributed Systems. PhD thesis, Uppsala University (1987)

    Google Scholar 

  24. Jonsson, B., Nilsson, M.: Transitive closures of regular relations for verifying infinite-state systems. In: Schwartzbach, M.I., Graf, S. (eds.) TACAS 2000. LNCS, vol. 1785, pp. 220–234. Springer, Heidelberg (2000)

    Chapter  Google Scholar 

  25. Kaivola, R.: Using compositional preorders in the verification of sliding window protocol. In: Grumberg, O. (ed.) CAV 1997. LNCS, vol. 1254, pp. 48–59. Springer, Heidelberg (1997)

    Google Scholar 

  26. Knuth, D.E.: Verification of link-level protocols. BIT 21, 21–36 (1981)

    Article  MathSciNet  Google Scholar 

  27. Latvala, T.: Model checking LTL properties of high-level Petri nets with fairness constraints. In: Colom, J.-M., Koutny, M. (eds.) ICATPN 2001. LNCS, vol. 2075, pp. 242–262. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  28. Loeckx, J., Ehrich, H.-D., Wolf, M.: Specification of Abstract Data Types. Wiley/ Teubner (1996)

    Google Scholar 

  29. Madelaine, E., Vergamini, D.: Specification and verification of a sliding window protocol in Lotos. In: Proc. FORTE 1991, IFIP Transactions, pp. 495–510. North- Holland, Amsterdam (1991)

    Google Scholar 

  30. Mauw, S., Veltink, G.J.: A process specification formalism. Fundamenta Informaticae 13(2), 85–139 (1990)

    MATH  Google Scholar 

  31. Middeldorp, A.: Specification of a sliding window protocol within the framework of process algebra. Report FVI 86-19, University of Amsterdam (1986)

    Google Scholar 

  32. Paliwoda, K., Sanders, J.W.: An incremental specification of the sliding-window protocol. Distributed Computing 5, 83–94 (1991)

    Article  MATH  Google Scholar 

  33. Park, D.M.R.: Concurrency and automata on infinite sequences. In: Deussen, P. (ed.) GI-TCS 1981. LNCS, vol. 104, pp. 167–183. Springer, Heidelberg (1981)

    Chapter  Google Scholar 

  34. Richier, J.L., Rodriguez, C., Sifakis, J., Voiron, J.: Verification in Xesar of the sliding window protocol. In: Proc. PSTV 1987, pp. 235–248. North-Holland, Amsterdam (1987)

    Google Scholar 

  35. Röckl, C., Esparza, J.: Proof-checking protocols using bisimulations. In: Baeten, J.C.M., Mauw, S. (eds.) CONCUR 1999. LNCS, vol. 1664, pp. 525–540. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  36. Rusu, V.: Verifying a sliding-window protocol using PVS. In: Proc. FORTE 2001, Conference Proceedings, vol. 197, pp. 251–268. Kluwer, Dordrecht (2001)

    Google Scholar 

  37. Schoone, A.A.: Assertional Verification in Distributed Computing. PhD thesis, Utrecht University (1991)

    Google Scholar 

  38. Smith, M.A., Klarlund, N.: Verification of a sliding window protocol using IOA and MONA. In: Proc. FORTE/PSTV 2000, pp. 19–34. Kluwer, Dordrecht (2000)

    Google Scholar 

  39. van de Snepscheut, J.L.A.: The sliding window protocol revisited. Formal Aspects of Computing 7(1), 3–17 (1995)

    Article  MATH  Google Scholar 

  40. Stahl, K., Baukus, K., Lakhnech, Y., Steffen, M.: Divide, abstract, and modelcheck. In: Dams, D.R., Gerth, R., Leue, S., Massink, M. (eds.) SPIN 1999. LNCS, vol. 1680, pp. 57–76. Springer, Heidelberg (1999)

    Chapter  Google Scholar 

  41. Stenning, N.V.: A data transfer protocol. Computer Networks 1(2), 99–110 (1976)

    Google Scholar 

  42. Tanenbaum, A.S.: Computer Networks. Prentice Hall, Englewood Cliffs (1981)

    Google Scholar 

  43. Vaandrager, F.W.: Verification of two communication protocols by means of process algebra. Report CS-R8608, CWI, Amsterdam (1986)

    Google Scholar 

  44. van Wamel, J.J.: A study of a one bit sliding window protocol in ACP. Report P9212, University of Amsterdam (1992)

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Fokkink, W., Groote, J.F., Pang, J., Badban, B., van de Pol, J. (2004). Verifying a Sliding Window Protocol in μCRL. In: Rattray, C., Maharaj, S., Shankland, C. (eds) Algebraic Methodology and Software Technology. AMAST 2004. Lecture Notes in Computer Science, vol 3116. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-27815-3_15

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-27815-3_15

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-22381-8

  • Online ISBN: 978-3-540-27815-3

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics