Skip to main content
Log in

Checking safety properties on-the-fly with the sweep-line method

  • Special Section CPN 04/05
  • Published:
International Journal on Software Tools for Technology Transfer Aims and scope Submit manuscript

Abstract

The sweep-line state space method allows states to be deleted from memory during state exploration, thus alleviating the state explosion problem. Properties of the system (such as the absence of deadlocks) can then be verified on-the-fly. This paper presents an extension to the sweep-line method that allows on-the-fly checking of safety properties expressed as sequences of actions of the modelled system. This has been implemented in a prototype sweep-line library for Coloured Petri nets. We evaluate the prototype by applying it to the connection management procedures of the Datagram Congestion Control Protocol, a new Internet transport protocol.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Similar content being viewed by others

References

  1. Barrett, W.A., Couch, J.D.: Compiler Construction: Theory and Practice. Science Research Associates (1979)

  2. Bérard B., Bidoit M., Finkel A., Laroussinie F., Petit A., Petrucci L. and Schnoebelen Ph. (2001). Systems and Software Verification—Model-Checking Techniques and Tools. Springer, Heidelberg

    MATH  Google Scholar 

  3. Billington, J.: Abstract Specification of the ISO Transport Service Definition using Labelled Numerical Petri Nets. Protocol Specification, Testing, and Verification, vol. III. Elsevier, Amsterdam, pp. 173–185 (1983)

  4. Billington, J., Gallasch, G.E., Han, B.: A coloured petri net approach to protocol verification. In: Lectures on Concurrency and Petri Nets, Advances in Petri Nets. Lecture Notes in Computer Science, vol. 3098. Springer, Heidelberg, pp. 210–290 (2004)

  5. Billington J., Gallasch G.E., Kristensen L.M. and Mailund T. (2004). Exploiting equivalence reduction and the sweep-line method for detecting terminal states. IEEE Trans. Syst. Man and Cybernet. Part A: Syst. Humans 34(1): 23–37

    Article  Google Scholar 

  6. Cassandras, C.G., Lafortune, S.: Introduction to Discrete Event Systems. Kluwer Academic Publishers (1999)

  7. Christensen, S., Jensen, K., Kristensen, L.M.: Design/CPN Occurrence Graph Manual. Department of Computer Science, University of Aarhus, Denmark. On-line version: http://www.daimi.au.dk/designCPN/

  8. Christensen, S., Kristensen, L.M., Mailund, T.: A sweep-line method for state space exploration. In: Proceedings of TACAS 2001. Lecture Notes in Computer Science, vol. 2031. Springer, Heidelberg, pp 450–464 (2001)

  9. Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press (2000)

  10. Couvreur, J.-M.: On-the-fly verification of linear temporal logic. In: Proceedings of Formal Methods’99, Toulouse, France. Lecture Notes in Computer Science, vol. 1708. Springer, Heidelberg, pp. 253–271 (1999)

  11. CPN Tools: http://wiki.daimi.au.dk/cpntools/cpntools.wiki

  12. Design/CPN Online: http://www.daimi.au.dk/designCPN/

  13. FSM Library, AT&T Research Labs: http://www.research. att.com/sw/tools/fsm/

  14. Gallasch, G.E., Han, B., Billington, J.: Sweep-line analysis of TCP connection management. In: Proceedings of the International Conference on Formal Engineering Methods (ICFEM’05). Lecture Notes in Computer Science, vol. 3785. Springer, Heidelberg, pp. 156–172 (2005)

  15. Gallasch, G.E., Ouyang, C., Billington, J., Kristensen, L.M.: Experimenting with progress mappings for the sweep-line analysis of the internet open trading protocol. In: Fifth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools. Department of Computer Science, University of Aarhus (2004). Available via http://www. daimi.au.dk/CPnets/workshop04/cpn/papers/

  16. Gallasch, G.E., Vanit-Anunchai, S., Billington, J., Kristensen, L.M.: Checking language inclusion on-the-fly with the sweep-line method. In: Sixth Workshop and Tutorial on Practical Use of Coloured Petri Nets and the CPN Tools. Department of Computer Science, University of Aarhus (2005). Available via http://www.daimi.au.dk/CPnets/workshop05/cpn/papers/

  17. Gerth, R., Peled, D., Vardi, M.Y., Wolper, P.: Simple on-the-fly automatic verification of linear temporal logic. In: Protocol Specification, Testing and Verification, XV. Chapman & Hall, UK, pp. 3–18 (1996)

  18. Gordon, S., Kristensen, L.M., Billington, J.: Verification of a revised WAP wireless transaction protocol. In: Proceedings of 23rd International Conference on Application and Theory of Petri Nets. Lecture Notes in Computer Science, vol. 2360. Springer, Heidelberg, pp 182–202 (2002)

  19. Han, B.: Formal specification of the TCP service and verification of TCP connection management. PhD thesis, Computer Systems Engineering Centre, School of Electrical and Information Engineering, University of South Australia, Adelaide, Australia, December 2004

  20. Holzmann G.J. (2003). The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading

    Google Scholar 

  21. ITU-T. Recommendation X.210, Information Technology—Open Systems Interconnection—Basic Reference Model: Conventions for the Definition of OSI Services. International Telecommunications Union, November 1993

  22. ITU-T. Recommendation X.214, Information Technology—Open Systems Interconnection—Transport Service Definition. International Telecommunications Union, November 1995

  23. Jensen, K.: Coloured Petri Nets: Basic Concepts, Analysis Methods and Practical Use. Vol. 1, Basic Concepts, 2nd edn. Monographs in Theoretical Computer Science. Springer, Heidelberg (1997)

  24. Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol, RFC 4340. Available via http://www. rfc-editor.org/rfc/rfc4340.txt, March 2006

  25. Kozen D.C. (1997). Automata and Computability. Springer, Heidelberg

    MATH  Google Scholar 

  26. Kristensen L.M., Christensen S. and Jensen K. (1998). The Practitioner’s Guide to Coloured Petri Nets. Int. J. Softw. Tools Technol. Transf. 2(2): 98–132

    Article  MATH  Google Scholar 

  27. Kristensen, L.M., Mailund, T.: A compositional sweep-line state space exploration method. In: Proceedings of FORTE’02. Lecture Notes in Computer Science, vol. 2529. Springer, Heidelberg, pp. 327–343 (2002)

  28. Kristensen, L.M., Mailund, T.: A Generalised sweep-line method for safety properties. In: Proceedings of FME’02. Lecture Notes in Computer Science, vol. 2391. Springer, Heidelberg, pp. 549–567 (2002)

  29. Kristensen, L.M., Mailund, T.: Efficient path finding with the sweep-line method using external storage. In: Proceedings of the International Conference on Formal Engineering Methods (ICFEM’03). Lecture Notes in Computer Science, vol. 2885. Springer, Heidelberg, pp 319–337 (2003)

  30. Kupferman O. and Vardi M.Y. (2001). Model checking of safety properties. Formal Methods Syst. Des. 19: 291–314

    Article  MATH  Google Scholar 

  31. Lichtenstein, O., Pnueli, A.: Checking that finite state concurrent programs satisfy their linear specification. In: Proceedings of 12th ACM Symposium on Principles of Programming Languages, pp. 97–107 (1985)

  32. Mailund, T.: Analysing infinite-state systems by combining equivalence reduction and the sweep-line method. In: Proceedings of ICATPN’02. Lecture Notes in Computer Science, vol. 2360. Springer, Heidelberg, pp. 314–334 (2002)

  33. Mailund, T.: Sweeping the state space—a sweep-line state space exploration method. PhD thesis, Department of Computer Science, University of Aarhus, February 2003

  34. On-The-Fly, LTL Model Checking with SPIN. http:// spinroot.com

  35. Ouyang, C.: Formal specification and verification of the internet open trading protocol using coloured petri nets. PhD thesis, Computer Systems Engineering Centre, School of Electrical and Information Engineering, University of South Australia, Adelaide, Australia, June 2004

  36. Schmidt, K.: Automated generation of a progress measure for the sweep-line method. In: Proceedings of TACAS’04. Lecture Notes in Computer Science, vol. 2988. Springer, Heidelberg, pp 192–204 (2004)

  37. Valmari, A.: The State Explosion Problem. In: Lectures on Petri Nets I: Basic Models. Lecture Notes in Computer Science, vol. 1491. Springer, Heidelberg, pp. 429–528 (1998)

  38. Vanit-Anunchai, S., Billington, J.: Initial result of a formal analysis of dccp connection management. In: Proceedings of INC 2004, Plymouth, UK, pp. 63–70, July 2004

  39. Vanit-Anunchai, S., Billington, J., Kongprakaiwoot, T.: Discovering chatter and incompleteness in the datagram congestion control protocol. In: Proceedings of FORTE’05. Lecture Notes in Computer Science, vol. 3731. Springer, Heidelberg, pp. 143–158 (2005)

  40. Vardi, M.Y., Wolper, P.: An automata-theoretic approach to automatic program verification. In: Proceedings of 1st Symposium on Logic in Computer Science, Cambridge, USA. IEEE Computer Society Press, pp. 332–344 (1986)

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Guy Edward Gallasch.

Additional information

This paper was supported by Australian Research Council Discovery Grants DP0210524 and DP0559927.

L. M. Kristensen was supported by the Carlsberg Foundation and the Danish Research Council for Technology and Production.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Gallasch, G.E., Billington, J., Vanit-Anunchai, S. et al. Checking safety properties on-the-fly with the sweep-line method. Int J Softw Tools Technol Transfer 9, 371–391 (2007). https://doi.org/10.1007/s10009-007-0031-4

Download citation

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10009-007-0031-4

Keywords

Navigation