Skip to main content
Log in

Verification of Safety Properties Using Integer Programming: Beyond the State Equation

  • Published:
Formal Methods in System Design Aims and scope Submit manuscript

Abstract

The state equation is a verification technique that has been applied—not always under this name—to numerous systems modelled as Petri nets or communicating automata. Given a safety property P, the state equation is used to derive a necessary condition for P to hold which can be mechanically checked. The necessary conditions derived from the state equation are known to be of little use for systems communicating by means of shared variables, in the sense that many of these systems satisfy the property but not the conditions. In this paper, we use traps, a well-known notion of net theory, to obtain stronger conditions that can still be efficiently checked. We show that the new conditions significantly extend the range of verifiable systems.

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. H. Alaiwan and J.F. Toudic, “Recherche des Semi-flots, des Verrous et des Trappes dans les Réseaux de Petri,” Technique et Science Informatique, Vol. 4, No. 1, pp. 103–112, 1985.

    Google Scholar 

  2. H.R. Andersen, “Model checking and boolean graphs,” Theoretical Computer Science, Vol. 126, pp. 3–30, 1994.

    Google Scholar 

  3. G.S. Avrunin, U.A. Buy, J.C. Corbett, L.K. Dillon, and J.C. Wileden, “Automated analysis of concurrent systems with the constrained expression toolset,” IEEE Transactions in Software Engineering, Vol. 17, No. 11, pp. 1204–1222, 1991.

    Google Scholar 

  4. G.S. Avrunin, J.C. Corbett, and U.A. Buy, “Integer programming in the analysis of concurrent systems,” in K.G. Larsen and A. Skou (Eds.), CAV '91, Lecture Notes in Computer Science, Vol. 575, pp. 92–102, 1991.

  5. P. Barth and A. Bockmayr, “Modelling mixed-integer optimisation problems in constraint logic programming,” Technical Report MPI-I-95-2-011, Max-Planck-Institut für Informatik, Saarbrücken, 1995.

    Google Scholar 

  6. E. Best and H. Fleischhack (Eds.), PEP: Programming Environment based on Petri Nets, Hildesheimer Informatikbericht 14/95, University of Hildesheim, Germany, 1995.

    Google Scholar 

  7. E. Best and R.P. Hopkins, B(PN)2–A Basic Petri Net Programming Notation, in Proceedings of PARLE '93, Springer-Verlag, 1993. Lecture Notes in Computer Science, Vol. 694, pp. 379–390. Also: Hildesheimer Informatikbericht 27/92, University of Hildesheim, Germany, 1992.

  8. G.V. Brams, Réseaux de Petri: Theorie et Practique, Vols.I and II, Masson, 1982.

  9. CCITT Recommendations Q.1200, “Intelligent networks,” final version, Technical report, 1992.

  10. A. Cheng, J. Esparza, and J. Palsberg, “complexity results for 1-safe Petri nets,” Theoretical Computer Science, Vol. 147, pp. 117–136, 1995.

    Google Scholar 

  11. J.C. Corbett, “Evaluating deadlock detection methods for concurrent software,” in T. Ostrand, (Ed.), Proceedings of the 1994 International Symposium on Software Testing and Analysis, New York, 1994, pp. 204–215.

  12. J.C. Corbett and G.S. Avrunin, “Using integer programming to verify general safety and liveness properties,” Formal Methods in System Design, Vol. 61, No. 1, pp. 97–123, 1995.

    Google Scholar 

  13. J. Cortadella, M. Kishinevsky, A. Kondratyev, L. Lavagno, and A. Yakovlev, “Petrify: a tool for manipulating concurrent specifications and synthesis of asynchronous controllers,” IEICE Transactions on Information and Systems, E80-D(3), pp. 315–325, 1997. Technical report version available at http://www.lsi.upc.es/ jordic/ petrify/refs/.

  14. P. Cousot and N. Halbwachs, “Automatic discovery of linear restraints among variables of a program,” in 5th ACM Symposium on Principles of Programming Languages, ACM-Press, 1978.

  15. CPLEX Optimization Inc, Using the CPLEXTM Callable Library and CPLEXTM Mixed Integer Library.

  16. J. Desel, Petrinetze, lineare Algebra und lineare Programmierung, Teubner-Texte zur Informatik 26, 1998.

  17. J. Desel and J. Esparza, Free-choice Petri Nets, volume 40 of Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, 1995.

  18. W.F. Dowling and J.H. Gallier, “linear-time algorithms for testing the satisfiability of propositional horn formulae,” journal of Logic Programming, Vol. 1, pp. 267–284, 1984.

    Google Scholar 

  19. J. Ezpeleta, J.M. Couvreur, and M. Silva, “A new technique for finding a generating family of siphons, traps and ST-components. Application to colored Petri nets,” in G. Rozenberg (Ed.), Advances in Petri Nets, Springer Verlag, 1993. Lecture Notes in Computer Science, Vol. 674, pp. 126–147.

  20. M.R. Garey and D.S. Johnson, Computers and Intractability. Freeman and Company, 1979.

  21. B. Grahlmann, “Verifying telecommunication protocols with PEP,” in Proceedings of RELECTRONIC '95, 9th Symposium on Quality and Reliability in Electronics, Scientific Society for Telecommunications, pp. 251–256, 1995.

  22. M. Grötschel, M. Jünger, and G. Reinelt, “A cutting plane algorithm for the linear ordering problem,” Operations Research, Vol. 32, pp. 1195–1220, 1984.

    Google Scholar 

  23. N. Halbwachs, “About synchronous programming and abstract interpretation,” in B. Le Charlier (Ed.), SAS '94: Static Analysis Symposium, Springer-Verlag, 1994. Lecture Notes in Computer Science, Vol. 864, pp. 179–192.

  24. M. Heiner and P. Deussen, “Petri net based qualitative analysis–a case study,” Technical Report BTU Cottbus, I-08/1995, 1996. A short version appeared in: Petri Net Based Design and Analysis of Reactive Systems, in the Proc. of WODES'96, Workshop on Discrete Event Systems, Edinburgh, 1996.

  25. C. Holzbaur, “A specialized, incremental solved form algorithm for systems of linear inequalities,” Technical Report Austrian Research Institute for Artificial Intelligence, Vienna, TR-94-07, 1994.

  26. L. Jenner, “Ein Prozedurkonzept für die parallele Hochsprache B(PN)2,” Master Thesis. University of Hildesheim, 1994.

  27. S. Kleuker, “A gentle introduction to specification engineering using a case study in telecommunications,” in P.D. Mosses, M. Nielsen, and M.I. Schwartzbach (Eds.), TAPSOFT '95, Springer-Verlag, 1995. Lecture Notes in Computer Science, Vol. 915, pp.636–650.

  28. K. Lautenbach, “Linear algebraic calculation of deadlocks and traps,” in H.J. Genrich, K. Voss, and G. Rozenberg (Eds.) Concurrency and Nets. Springer-Verlag, pp. 315–336, 1987.

  29. C. Lewerentz and T. Lindner, “Formal development of reactive systems–case study production cell,” Springer-Verlag, 1995. Lecture Notes in Computer Science, Vol. 254.

  30. S. Melzer and J. Esparza, “Checking system properties via integer programming,” in H.R. Nielson (Ed.), Springer-Verlag, 1996. Lecture Notes in Computer Science, Vol. 1058, pp. 250–264.

  31. S. Melzer and S. Römer, Deadlock Checking using Net Unfoldings. in O. Grumberg (Ed.), CAV '97, Springer-Verlag, 1997. Lecture Notes in Computer Science, Vol. 1254, pp. 352–363.

  32. G. Memmi and G. Roucairol, Linear Algebra in Net Theory. in W. Brauer (Ed.), Net Theory and Applications, Springer-Verlag, 1980. Lecture Notes in Computer Science, Vol. 84, pp. 213–223.

  33. M. Minoux, “LTUR: a simplified linear-time unit resolution algorithm for Horn formulae and computer implementation,” Information Processing Letters, Vol. 29, pp. 1–12, 1988.

    Google Scholar 

  34. M. Minoux and K. Barkaoui, “Deadlocks and traps in Petri nets as horn-satisfiability solutions and some related polynomially solvable problems,” Discrete Applied Mathematics, Vol. 29, pp. 195–210, 1990.

    Google Scholar 

  35. T. Murata, “Petri nets: properties, analysis and applications,” Proceedings of the IEEE, Vol. 77, No. 4, pp. 541–580, 1989.

    Google Scholar 

  36. E. Pastor, O. Roig, J. Cortadella, and R.M. Badia, “Petri net analysis using boolean manipulation,” in Robert Valette (Ed.), Application and Theory of Petri Nets 1994, Springer-Verlag, 1994. Lecture Notes in Computer Science, Vol. 815, pp. 16–435.

  37. M. Raynal, Algorithms for Mutual Exclusion, North Oxford Academic, 1986.

  38. W. Reisig, Petri Nets, volume 4 of EATCS Monographs on Theoretical Computer Science, Springer Verlag, 1985.

  39. A. Schrijver, Theory of Linear and Integer Programming, Series in Discrete Mathematics, Wiley, 1986.

  40. P. Starke, Analyse von Petri-Netz-Modellen, Teubner, 1990.

  41. S. Thienel, “ABACUS–A Branch And CUt System,” PhD thesis, University of Cologne, 1995.

  42. A. Valmari, “A stubborn attack on state explosion,” Formal Methods in System Design, Vol. 1, pp. 297–322, 1992.

    Google Scholar 

  43. K. Varpaaniemi, J. Halme, K. Hiekkanen, and T. Pyssysalo, “PROD reference manual,” Technical Report 13, B Series, Department of Computer Science, Helsinki University of Technology, 1995.

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Esparza, J., Melzer, S. Verification of Safety Properties Using Integer Programming: Beyond the State Equation. Formal Methods in System Design 16, 159–189 (2000). https://doi.org/10.1023/A:1008743212620

Download citation

  • Issue Date:

  • DOI: https://doi.org/10.1023/A:1008743212620

Navigation