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.
Similar content being viewed by others
References
E. Best and C. Fernández, “Nonsequential processes-A Petri net view,” EATCS Monographs on Theoretical Computer Science, Vol. 13, 1988.
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.
V. Diekert, Combinatorics on Traces, LNCS, Vol. 454, 1990.
J. Engelfriet, “Branching processes of Petri nets,” Acta Informatica, Vol. 28, pp. 575-591, 1991.
J. Esparza, “Model checking using net unfoldings,” Science of Computer Programming, Vol. 23, pp. 151-195, 1994.
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.
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.
M. Kishinevsky, A. Kondratyev, A. Taubin, and V. Varshavsky, Concurrent Hardware: The Theory and Practice of Self-Timed Design, Wiley, New York, 1993.
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.
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.
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.
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.
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.
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.
M. Nielsen, G. Plotkin, and G. Winskel, “Petri nets, event structures and domains,” Theoretical Computer Science, Vol. 13, No. 1, pp. 85-108, 1980.
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.
S. Römer, “Entwicklung und Implementierung von Verifikationstechniken auf der Basis von Netzentfaltungen,” Dissertation (in German). Technische Universität München, 2000.
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.
W. Vogler, “Executions: A new partial-order semantics of Petri nets,” Theoretical Computer Science, Vol. 91, pp. 205-238, 1991.
Author information
Authors and Affiliations
Rights 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
Issue Date:
DOI: https://doi.org/10.1023/A:1014746130920