Formal Methods in System Design

, Volume 20, Issue 3, pp 285–310 | Cite as

An Improvement of McMillan's Unfolding Algorithm

  • Javier Esparza
  • Stefan Römer
  • Walter Vogler


McMillan has recently proposed a new technique to avoid the state explosion problem in the verification of systems modelled with finite-state Petri nets. The technique requires to construct a finite initial part of the unfolding of the net. McMillan's algorithm for this task may yield initial parts that are larger than necessary (exponentially larger in the worst case). We present a refinement of the algorithm which overcomes this problem.

unfolding partial-order semantics Petri nets 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    E. Best and C. Fernández, “Nonsequential processes-A Petri net view,” EATCS Monographs on Theoretical Computer Science, Vol. 13, 1988.Google Scholar
  2. 2.
    J.C. Corbett, “Evaluating deadlock detection methods for concurrent software,” in Proceedings of the 1994 International Symposium on Software Testing and Analysis, ISSTA '94, ACM-Press, New York, 1994, pp. 204-215.Google Scholar
  3. 3.
    V. Diekert, Combinatorics on Traces, LNCS, Vol. 454, 1990.Google Scholar
  4. 4.
    J. Engelfriet, “Branching processes of Petri nets,” Acta Informatica, Vol. 28, pp. 575-591, 1991.Google Scholar
  5. 5.
    J. Esparza, “Model checking using net unfoldings,” Science of Computer Programming, Vol. 23, pp. 151-195, 1994.Google Scholar
  6. 6.
    J. Esparza, S. Römer, and W. Vogler, “An improvement of McMillan's unfolding algorithm,” in Proceedings of Tools and Algorithms for the Construction and Analysis of Systems, TACAS '96, LNCS, Vol. 1055, 1996, pp. 87-106.Google Scholar
  7. 7.
    S. Haar, “Branching processes of general S/T-systems. Workshop Concurrency, Specification and Programming,” Humboldt-Universität Berlin, Informatik-Bericht, Vol. 10, 1998, pp. 88-97.Google Scholar
  8. 8.
    M. Kishinevsky, A. Kondratyev, A. Taubin, and V. Varshavsky, Concurrent Hardware: The Theory and Practice of Self-Timed Design, Wiley, New York, 1993.Google Scholar
  9. 9.
    A. Kondratyev and A. Taubin, “Verification of speed-independent circuits by STG unfoldings,” in Proceedings of the Symposium on Advanced Research in Asynchronous Circuits and Systems, Utah, 1994.Google Scholar
  10. 10.
    A.J. Martin, “The design of a self-timed circuit of distributed mutual exclusion,” in Henry Fuchs (ed.), Chapel Hill Conference on VLSI, Computer Science Press, 1985, pp. 245-260.Google Scholar
  11. 11.
    K.L. McMillan, “Using unfoldings to avoid the state explosion problem in the verification of asynchronous circuits,” in Proceedings of the 4th Workshop on Computer Aided Verification, Montreal, LNCS, Vol. 663, 1992, pp. 164-174.Google Scholar
  12. 12.
    K.L. McMillan, “A technique of state space search based on unfolding,” Formal Methods in System Design, Vol. 6, No. 1, pp. 45-65, 1995.Google Scholar
  13. 13.
    K.L. McMillan, “Trace theoretic verification of asynchronous circuits using unfoldings,” in Proceedings of the 7th Workshop on Computer Aided Verification, Liege, LNCS, Vol. 939, 1995, pp. 180-195.Google Scholar
  14. 14.
    T. Miyamoto and S. Kumagai, “Calculating place capacity for Petri nets using unfoldings,” in Proceedings of the 1998 International Conference on Application of Concurrency to System Design, Japan, IEEE Computer Society, PR08350, 1998, pp. 143-151.Google Scholar
  15. 15.
    M. Nielsen, G. Plotkin, and G. Winskel, “Petri nets, event structures and domains,” Theoretical Computer Science, Vol. 13, No. 1, pp. 85-108, 1980.Google Scholar
  16. 16.
    E. Pastor, O. Roig, J. Cortadella, and R.M. Badia, “Petri net analysis using Boolean manipulation,” in Proceedings of Application and Theory of Petri Nets '94, LNCS, Vol. 815, 1994, pp. 416-435.Google Scholar
  17. 17.
    S. Römer, “Entwicklung und Implementierung von Verifikationstechniken auf der Basis von Netzentfaltungen,” Dissertation (in German). Technische Universität München, 2000.Google Scholar
  18. 18.
    G. Ullrich, “Der Entwurf von Steuerstrukturen für parallele Abläufe mit Hilfe von Petri-Netzen,” Universität Hamburg, Inst. für Informatik, IFI-HH-B-36/77, 1976.Google Scholar
  19. 19.
    W. Vogler, “Executions: A new partial-order semantics of Petri nets,” Theoretical Computer Science, Vol. 91, pp. 205-238, 1991.Google Scholar

Copyright information

© Kluwer Academic Publishers 2002

Authors and Affiliations

  • Javier Esparza
    • 1
  • Stefan Römer
    • 1
  • Walter Vogler
    • 2
  1. 1.Institut für InformatikTechnische Universität MünchenMünchenGermany
  2. 2.Institut für InformatikUniversität AugsburgAugsburgGermany

Personalised recommendations