Directed Unfolding of Petri Nets

  • Blai Bonet
  • Patrik Haslum
  • Sarah Hickmott
  • Sylvie Thiébaux
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5100)


The key to efficient on-the-fly reachability analysis based on unfolding is to focus the expansion of the finite prefix towards the desired marking. However, current unfolding strategies typically equate to blind (breadth-first) search. They do not exploit the knowledge of the marking that is sought, merely entertaining the hope that the road to it will be short. This paper investigates directed unfolding, which exploits problem-specific information in the form of a heuristic function to guide the unfolding towards the desired marking. In the unfolding context, heuristic values are estimates of the distance between configurations. We show that suitable heuristics can be automatically extracted from the original net. We prove that unfolding can rely on heuristic search strategies while preserving the finiteness and completeness of the generated prefix, and in some cases, the optimality of the firing sequence produced. We also establish that the size of the prefix obtained with a useful class of heuristics is never worse than that obtained by blind unfolding. Experimental results demonstrate that directed unfolding scales up to problems that were previously out of reach of the unfolding technique.


Model Check Heuristic Search Heuristic Function Reachability Analysis Reachability Problem 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    McMillan, K.L.: Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits. In: Probst, D.K., von Bochmann, G. (eds.) CAV 1992. LNCS, vol. 663, pp. 164–177. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  2. 2.
    Esparza, J.: Model checking using net unfoldings. Science of Computer Programming 23(2-3), 151–195 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Benveniste, A., Fabre, E., Jard, C., Haar, S.: Diagnosis of asynchronous discrete event systems, a net unfolding approach. IEEE Trans. on Automatic Control 48(5), 714–727 (2003)MathSciNetCrossRefGoogle Scholar
  4. 4.
    Hickmott, S., Rintanen, J., Thiébaux, S., White, L.: Planning via Petri net unfolding. In: Proc. of 20th Int. Joint Conference on Artificial Intelligence, pp. 1904–1911. AAAI Press, Menlo Park (2007)Google Scholar
  5. 5.
    Esparza, J., Römer, S., Vogler, W.: An improvement of McMillan’s unfolding algorithm. Formal Methods in System Design 20(3), 285–310 (2002)CrossRefzbMATHGoogle Scholar
  6. 6.
    Esparza, J., Schröter, C.: Unfolding based algorithms for the reachability problem. Fundamentia Informatica 46, 1–17 (2001)MathSciNetzbMATHGoogle Scholar
  7. 7.
    Esparza, J., Kanade, P., Schwoon, S.: A negative result on depth first unfolding. Software Tools for Technology Transfer (2007)Google Scholar
  8. 8.
    Bonet, B., Geffner, H.: Planning as heuristic search. Artificial Intelligence 129(1-2), 5–33 (2001)MathSciNetCrossRefzbMATHGoogle Scholar
  9. 9.
    Hoffmann, J., Nebel, B.: The FF planning system: fast plan generation through heuristic search. Journal of Artificial Intelligence Research 14, 253–302 (2001)zbMATHGoogle Scholar
  10. 10.
    McDermott, D.: Using regression-match graphs to control search in planning. Artificial Intelligence 109(1-2), 111–159 (1999)CrossRefzbMATHGoogle Scholar
  11. 11.
    Murata, T.: Petri nets: properties, analysis and applications. Proceedings of the IEEE 77(4), 541–580 (1989)CrossRefGoogle Scholar
  12. 12.
    Chatain, T., Khomenko, V.: On the well-foundedness of adequate orders used for construction of complete unfolding prefixes. Information Processing Letters 104, 129–136 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  13. 13.
    Khomenko, V., Koutny, M.: Towards an efficient algorithm for unfolding Petri nets. In: Larsen, K.G., Nielsen, M. (eds.) CONCUR 2001. LNCS, vol. 2154, pp. 366–380. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  14. 14.
    Cheng, A., Esparza, J., Palsberg, J.: Complexity results for 1-safe nets. In: Shyamasundar, R.K. (ed.) FSTTCS 1993. LNCS, vol. 761, pp. 326–337. Springer, Heidelberg (1993)CrossRefGoogle Scholar
  15. 15.
    Melzer, S.: Verifikation Verteilter Systeme Mittels Linearer–und Constraint-Programmierung. PhD thesis, Technische Universität München (1998)Google Scholar
  16. 16.
    Heljanko, K.: Using Logic Programs with stable model semantics to solve deadlock and reachability problems for 1-safe Petri nets. In: Cleaveland, W.R. (ed.) TACAS 1999. LNCS, vol. 1579, pp. 240–254. Springer, Heidelberg (1999)CrossRefGoogle Scholar
  17. 17.
    Khomenko, V., Koutny, M.: LP deadlock checking using partial order dependencies. In: Palamidessi, C. (ed.) CONCUR 2000. LNCS, vol. 1877, pp. 410–425. Springer, Heidelberg (2000)CrossRefGoogle Scholar
  18. 18.
    Edelkamp, S., Lluch-Lafuente, A., Leue, S.: Directed explicit model checking with HSF-SPIN. In: Dwyer, M.B. (ed.) SPIN 2001. LNCS, vol. 2057, pp. 57–79. Springer, Heidelberg (2001)CrossRefGoogle Scholar
  19. 19.
    Khomenko, V., Koutny, M., Vogler, W.: Canonical prefixes of Petri net unfoldings. Acta Informatica 40(2), 95–118 (2003)MathSciNetCrossRefzbMATHGoogle Scholar
  20. 20.
    Edelkamp, S.: Planning with pattern databases. In: Proc. 6th European Conf. on Planning. LNCS, pp. 13–24. Springer, Heidelberg (2001)Google Scholar
  21. 21.
    Haslum, P., Bonet, B., Geffner, H.: New admissible heuristics for domain-independent planning. In: Proc. 20th National Conf. on Artificial Intelligence, pp. 1163–1168. AAAI Press / MIT Press (2005)Google Scholar
  22. 22.
    Pearl, J.: Heuristics: Intelligent Search Strategies for Computer Problem Solving. Addison-Wesley, Reading (1984)Google Scholar
  23. 23.
    Bylander, T.: The computational complexity of propositional STRIPS planning. Artificial Intelligence 69(1-2), 165–204 (1994)MathSciNetCrossRefzbMATHGoogle Scholar
  24. 24.
    Haslum, P., Geffner, H.: Admissible heuristic for optimal planning. In: Proc. 6th International Conf. on Artificial Intelligence Planning and Scheduling, Breckenridge, CO, pp. 140–149. AAAI Press, Menlo Park (2000)Google Scholar
  25. 25.
    Corbett, J.C.: Evaluating deadlock detection methods for concurrent software. IEEE Trans. on Software Engineering 22(3) (1996)Google Scholar
  26. 26.
    Linhares, A., Yanasse, H.H.: Connection between cutting-pattern sequencing, VLSI design and flexible machines. Computers & Operations Research 29, 1759–1772 (2002)CrossRefzbMATHGoogle Scholar
  27. 27.
    Edelkamp, S., Jabbar, S.: Action planning for directed model checking of Petri nets. Electronic Notes Theoretical Computer Science 149(2), 3–18 (2006)CrossRefzbMATHGoogle Scholar
  28. 28.
    Vogler, W., Semenov, A., Yakovlev, A.: Unfolding and finite prefix for nets with read arcs. In: Sangiorgi, D., de Simone, R. (eds.) CONCUR 1998. LNCS, vol. 1466, pp. 501–516. Springer, Heidelberg (1998)CrossRefGoogle Scholar
  29. 29.
    Khomenko, V., Koutny, M.: Branching processes of high-level Petri nets. In: Garavel, H., Hatcliff, J. (eds.) TACAS 2003. LNCS, vol. 2619, pp. 458–472. Springer, Heidelberg (2003)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2008

Authors and Affiliations

  • Blai Bonet
    • 1
  • Patrik Haslum
    • 2
  • Sarah Hickmott
    • 3
  • Sylvie Thiébaux
    • 2
  1. 1.Departamento de ComputaciónUniversidad Simón BolívarCaracasVenezuela
  2. 2.National ICT Australia & The Australian National UniversityCanberraAustralia
  3. 3.National ICT Australia & The University of AdelaideAdelaideAustralia

Personalised recommendations