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.
Similar content being viewed by others
References
Barrett, W.A., Couch, J.D.: Compiler Construction: Theory and Practice. Science Research Associates (1979)
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
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)
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)
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
Cassandras, C.G., Lafortune, S.: Introduction to Discrete Event Systems. Kluwer Academic Publishers (1999)
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/
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)
Clarke, E., Grumberg, O., Peled, D.: Model Checking. The MIT Press (2000)
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)
Design/CPN Online: http://www.daimi.au.dk/designCPN/
FSM Library, AT&T Research Labs: http://www.research. att.com/sw/tools/fsm/
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)
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/
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/
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)
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)
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
Holzmann G.J. (2003). The SPIN Model Checker: Primer and Reference Manual. Addison-Wesley, Reading
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
ITU-T. Recommendation X.214, Information Technology—Open Systems Interconnection—Transport Service Definition. International Telecommunications Union, November 1995
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)
Kohler, E., Handley, M., Floyd, S.: Datagram Congestion Control Protocol, RFC 4340. Available via http://www. rfc-editor.org/rfc/rfc4340.txt, March 2006
Kozen D.C. (1997). Automata and Computability. Springer, Heidelberg
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
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)
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)
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)
Kupferman O. and Vardi M.Y. (2001). Model checking of safety properties. Formal Methods Syst. Des. 19: 291–314
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)
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)
Mailund, T.: Sweeping the state space—a sweep-line state space exploration method. PhD thesis, Department of Computer Science, University of Aarhus, February 2003
On-The-Fly, LTL Model Checking with SPIN. http:// spinroot.com
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
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)
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)
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
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)
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)
Author information
Authors and Affiliations
Corresponding author
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
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
Published:
Issue Date:
DOI: https://doi.org/10.1007/s10009-007-0031-4