On the symmetry reduction method for Petri nets and similar formalisms
No Thumbnail Available
Doctoral thesis (monograph)
Unless otherwise stated, all rights belong to the author. You may download, display and print this publication for Your own personal use. Commercial use is prohibited.
Research reports / Helsinki University of Technology, Laboratory for Theoretical Computer Science. A, 80
AbstractThe symmetry reduction method is a technique for alleviating the combinatorial explosion problem arising in the state space analysis of concurrent systems. This thesis studies various issues involved in the method. The focus is on systems modeled with Petri nets and similar formalisms, such as the Murφ description language. For place/transition nets, the computational complexity of the sub-tasks involved in the method is established. The problems of finding the symmetries of a net, comparing whether two markings are equivalent under the symmetries, producing canonical representatives for markings, and deciding whether a marking symmetrically covers another are classified to well-known complexity classes. New algorithms for the central task of producing canonical representatives for markings are presented. The algorithms apply and combine techniques from computational group theory and from the algorithms for the graph isomorphism problem. The experimental results show that the new algorithms are competitive against the previous ones described in the literature. Data symmetries, i. e., state space symmetries produced by symmetric use of data values, of a class high-level Petri nets, algebraic system nets, are also studied. It is defined how the permutations of the data values produce corresponding permutations in the state space of the net. In addition, sufficient conditions for the annotations in the net are defined in order to ensure that the produced permutations are indeed symmetries. Because these conditions turn out to be computationally difficult to verify, an approximation rule is additionally given. The practical use of the developed theory is illustrated by defining a class of high-level Petri nets allowing the use of common data types such as lists, sets, and arrays. The data symmetries of such nets are produced in a way similar to well-formed nets and the Murφ system, i. e., by declaring some primitive data types to be permutable and restricting the set of applicable operations on such types. New algorithms for checking whether two states are equivalent and for producing representatives for states under data symmetries are also described. The proposed algorithms either directly use the existing algorithms for the graph isomorphism problem, or use a partition refinement process modified from such algorithms. The algorithms are not limited to high-level Petri nets but are also applicable to the Murφ description language. The experimental results show that the new algorithms are competitive against the previous ones implemented in the Murφ tool.
state space analysis, symmetry, Petri nets, place/transition nets, algebraic system nets, the Murφ system