Towards an Efficient Algorithm for Unfolding Petri Nets

  • Victor Khomenko
  • Maciej Koutny
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2154)


Model checking based on the causal partial order semantics of Petri nets is an approach widely applied to cope with the space explosion problem. One of the ways to exploit such a semantics is to consider (finite prefixes of) net unfoldings, which contain enough information to reason about the reachable markings of the original Petri nets. In this paper, we propose several improvements to the existing algorithms for generating finite complete prefixes of net unfoldings. Ex- perimental results demonstrate that one can achieve significant speedups when transition presets of a net being unfolded have overlapping parts.


Model checking Petri nets unfolding concurrency 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    A. Bystrov, D. J. Kinniment and A. Yakovlev: Priority Arbiters. Proc. ASYNC 2000, IEEE Computer Society Press (2000) 128–137.Google Scholar
  2. 2.
    E. M. Clarke, E. A. Emerson and A. P. Sistla: Automatic Verification of Finite-state Concurrent Systems Using Temporal Logic Specifications. ACM TOPLAS 8 (1986) 244–263.zbMATHCrossRefGoogle Scholar
  3. 3.
    J. C. Corbett: Evaluating Deadlock Detection Methods. Univ. of Hawaii at Manoa (1994).Google Scholar
  4. 4.
    J. Engelfriet: Branching processes of Petri Nets. Acta Inf. 28 (1991) 575–591.zbMATHCrossRefMathSciNetGoogle Scholar
  5. 5.
    J. Esparza: Decidability and Complexity of Petri Net Problems — An Introduction. Lectures on Petri Nets I: Basic Models Springer, LNCS 1491 (1998) 374–428.Google Scholar
  6. 6.
    J. Esparza and S. Römer: An Unfolding Algorithm for Synchronous Products of Transition Systems. Proc. CONCUR’99, Springer, LNCS 1664 (1999) 2–20.Google Scholar
  7. 7.
    J. Esparza, S. Römer and W. Vogler: An Improvement of McMillan’s Unfolding Algorithm. Proc. TACAS’96, Springer, LNCS 1055 (1996) 87–106.Google Scholar
  8. 8.
    J. Esparza, S. Römer and W. Vogler: An Improvement of McMillan’s Unfolding Algorithm. Formal Methods in System Design (2001) to appear.Google Scholar
  9. 9.
    K. Heljanko: Minimizing Finite Complete Prefixes. Proc. CS&P’99 (1999) 83–95.Google Scholar
  10. 10.
    K. Heljanko: Deadlock and Reachability Checking with Finite Complete Prefixes. Report A56, Laboratory for Theoretical Computer Science, HUT, Espoo (1999).Google Scholar
  11. 11.
    K. Heljanko: Using Logic Programs with Stable Model Semantics to Solve Deadlock and Reachability Problems for 1-Safe Petri Nets. Fund. Inf. 37 (1999) 247–268.zbMATHMathSciNetGoogle Scholar
  12. 12.
    V. Khomenko and M. Koutny: Verification of Bounded Petri Nets Using Integer Programming. CS-TR-711, Dept. of Computing Science, Univ. of Newcastle (2000).Google Scholar
  13. 13.
    V. Khomenko and M. Koutny: An Efficient Algorithm for Unfolding Petri Nets. CS-TR-726, Dept. of Computing Science, Univ. of Newcastle (2001).Google Scholar
  14. 14.
    K. L. McMillan: Using Unfoldings to Avoid State Explosion Problem in the Verification of Asynchronous Circuits. Proc. CAV’92, Springer, LNCS 663 (1992) 164–174.Google Scholar
  15. 15.
    K.L. McMillan: Symbolic Model Checking. PhD thesis, CMU-CS-92-131 (1992).Google Scholar
  16. 16.
    S. Melzer and S. Römer: Deadlock Checking Using Net Unfoldings. Proc. CAV’97, Springer, LNCS 1254 (1997) 352–363.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Victor Khomenko
    • 1
  • Maciej Koutny
    • 1
  1. 1.Department of Computing ScienceUniversity of NewcastleNewcastle upon TyneUK

Personalised recommendations