Skip to main content
Log in

An Improvement of McMillan's Unfolding Algorithm

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

Abstract

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.

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. E. Best and C. Fernández, “Nonsequential processes-A Petri net view,” EATCS Monographs on Theoretical Computer Science, Vol. 13, 1988.

  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. V. Diekert, Combinatorics on Traces, LNCS, Vol. 454, 1990.

  4. J. Engelfriet, “Branching processes of Petri nets,” Acta Informatica, Vol. 28, pp. 575-591, 1991.

    Google Scholar 

  5. J. Esparza, “Model checking using net unfoldings,” Science of Computer Programming, Vol. 23, pp. 151-195, 1994.

    Google Scholar 

  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.

  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. 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. 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.

  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.

  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.

  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. 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.

  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. 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. 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.

  17. S. Römer, “Entwicklung und Implementierung von Verifikationstechniken auf der Basis von Netzentfaltungen,” Dissertation (in German). Technische Universität München, 2000.

  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.

  19. W. Vogler, “Executions: A new partial-order semantics of Petri nets,” Theoretical Computer Science, Vol. 91, pp. 205-238, 1991.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Rights and permissions

Reprints and permissions

About this article

Cite this article

Esparza, J., Römer, S. & Vogler, W. An Improvement of McMillan's Unfolding Algorithm. Formal Methods in System Design 20, 285–310 (2002). https://doi.org/10.1023/A:1014746130920

Download citation

  • Issue Date:

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

Navigation