Professional Documents
Culture Documents
net/publication/272023499
CITATIONS READS
10 534
2 authors:
Some of the authors of this publication are also working on these related projects:
All content following this page was uploaded by Iwona Grobelna on 15 April 2015.
Abstract—Formal verification of specifications of digital devices, the Petri nets avoiding exploration of the whole state spaces of
such as logical controllers, is an important part of the design the analyzed systems. However, even in the reduced
process. Deadlock detection is one of the fundamental tasks of formal reachability graphs there often exist several paths leading to
verification. There exist classical methods of deadlock detection in the same deadlock. In this paper a method is proposed which
the concurrent discrete systems, which allow obtaining paths to every allows in some cases to get rid of additional paths leading to
reachable deadlock without complete state space exploration. In the the detected deadlocks.
paper a method is proposed allowing further reduction of the size of
explored state space during deadlock detection. The method is The remainder of the paper is structured as follows.
presented for the Petri nets. Section 2 provides some information on Petri nets and
deadlock detection. Section 3 introduces and describes the
Keywords—Petri nets; formal verifiaction; deadlock detection proposed method. Section 4 presents an example of deadlock
detection using the discussed method. Finally, section 5
I. INTRODUCTION contains the conclusion.
A large number of parallel and distributed discrete devices
and systems, such as logical control systems and systems II. PRELIMINARIES
belonging to such areas as concurrent programming and
workflow management, can be efficiently modeled by the A. Petri Nets
Petri nets [1-3,15-17]. Formal analysis of concurrent systems Petri nets [1,2] are a general usage mathematical model
is practically important and much more complicated than introduced in the early sixties of the last century. They
analysis of purely sequential systems, because of possibility of describe relations between conditions and events. Currently,
different interactions between concurrent branches. they are used in many domains of science, i.e. in computer
science, electronics, biology, biochemistry, medicine,
Various properties of Petri nets and hence properties of the
environment protection, and also in various industry domains,
modeled systems can be formally checked. Formal verification
such as planning and controlling of production flow, design
methods, including equivalence checking, model checking and
and implementation of logic controllers, system software
theorem proving, allow verifying user-defined
synthesis [2,3,8,9,15,16]. Graphic representation of Petri nets
requirements [4]. It is possible to verify behavioral and
is more clear and understandable for non-engineers than
structural properties of a Petri net describing a logic controller
a source code. Using basic elements it is possible to specify
using i.e. a rule-based logical model suitable both for
such aspects of a behavior as concurrency, choice,
verification with model checking technique and logical
synchronization or resources sharing [2,15].
synthesis [5].
One of the important tasks of formal analysis of parallel Definition 1. A Petri net can be formally defined [1] as an
systems is the deadlock detection, i.e. checking whether ordered triple PN = (P, T, F), where:
a system can attain a state in which no further changes are
possible. Some of such systems (e.g. part of control systems) P is a nonempty set of places;
are intended to act cyclically and must not have “dead” states T is a nonempty set of transitions;
at all; some others must have one or more reachable terminal F is a nonempty set of arcs: from a place to a transition
states. In both cases it is essential to be able to check whether or from a transition to a place.
and which deadlocks are reachable. Practically it is also
A marking of a net defines the state of the Petri net (the
important to obtain a sequence of states leading from the
state of the system). A marking is defined as a function
initial state to a deadlock.
M: P{0, 1, 2,…}. It can be considered as a number of tokens
There are numerous publications presenting methods of situated in the net places. A place containing a token is
deadlock detection in Petri nets (see for example [6,7,10]). a marked place. Number of tokens in a place p for marking M
The known methods allow to detect the reachable deadlocks in is denoted as M(p). Initial marking is denoted as M0.
3
Here we suppose that the SM-subnets we consider do not Fig. 7. Firing sequences correspondung to the transitions before and after
contain the places which are unreachable from the inputs or applying the reduction rules presented in Fig. 4: a) fusion of series places,
b) fusion of series transitions, c) fusion of parallel transitions
from which no output is unreachable.
REFERENCES
[1] T. Murata, “Petri nets: properties, analysis and applications,”
Proceedings of the IEEE, vol. 77, pp. 541-580, April 1989
[2] R. David and H. Alla, Petri Nets & Grafcet. Tools for modelling discrete
event systems. Prentice Hall, 1992.
[3] M. Silva, “Half a century after Carl Adam Petri's Ph.D. thesis: a
perspective of the field,” Annual reviews in control, vol. 37, pp. 191-
219, 2013
[4] Ch. Baier and J.-P. Katoen, Principles of model checking. The MIT
Press, 2008.
[5] I. Grobelna, “Formal verification of embedded logic controller
specification with computer deduction in temporal logic”, Przegląd
Elektrotechniczny, nr 12a, 2011, pp. 40-43.
[6] A. Valmari, “State of the art report: stubborn sets,” Petri net newsletter,
vol. 46, pp. 6-14, 1994
[7] A. Valmari, “The state explosion problem,” in Lectures on Petri nets I:
basic models, LNCS, vol. 1491, Springer-Verlag, 1998, pp. 429-528.
[8] A. Bukowiec, J. Tkacz, T. Gratkowski, and T. Gidlewicz,
„Implementation of algorithm of Petri nets distributed synthesis into
FPGA”, International Journal of Electronics and Telecommunications,
vol. 59, nr 4, 2013, pp. 317-324.
[9] M. Adamski and M. Chodań, Modeling of the discrete control devices
using SFC, Technical University of Zielona Góra: Zielona Góra, 2000
Fig. 8. The net from Fig. 2 after the reduction [Modelowanie układów sterowania dyskretnego z wykorzystaniem sieci
SFC, Wydawnictwo Politechniki Zielonogórskiej, 2000]
Reduced reachability graph of this net (obtained by means [10] P. Godefroid, Partial-order methods for the verification of concurrent
of the stubborn set method; step 3) is shown in Fig. 9. As it is systems: an approach to the state explosion problem, LNCS, vol. 1032,
easy to see, it contains only one trace and only one firing New York: Springer-Verlag, 1996.
sequence leading to each of reachable deadlocks (step 4). Only [11] A. Mazurkiewicz, “Trace theory,” in Advances in Petri nets, part II,
Proceedings of an advanced course, LNCS, vol. 255, New York:
11 markings have been explored in it. Springer-Verlag, 1986, pp. 279-324.
[12] R. Janicki and M. Koutny, “Optimal simulation, nets and reachability
graphs”, in Advances in Petri nets 1991, LNCS, vol. 524, Springer-
Verlag, 1991, pp. 205-226.
[13] A. Karatkevich, “Concurrent simulation of concurrent discrete systems”,
in Proc. of the Xth Intl. Conf. CADSM 2009, Lviv: Publishing House
Vezha&Co, 2009, pp. 218-222.
[14] G. Berthelot, “Checking properties of the nets using transformation”, in
Advances in Petri nets 1985, LNCS, vol. 222, Springer-Verlag, 1986,
pp. 19-40.
[15] C. Girault, R. Valk, “Petri Nets for Systems Engineering. A Guide to
Modeling, Verification, and Applications”, Springer Verlag, 2003.
[16] R. David, H. Alla, “Discrete, Continuous, and Hybrid Petri Nets”,
Springer Verlag, 2010.
[17] Z. Banaszak, J, Kuś and M. Adamski, Petri nets: modelling, control and
synthesis of discrete systems, Higher Technical School in Zielona Góra:
Zielona Góra, 1993 [Sieci Petriego: modelowanie, sterowanie i synteza
systemów dyskretnych, Wydawnictwo Wyższej Szkoły Inżynierskiej,
Zielona Góra, 1993]
[18] M. Adamski and M. Węgrzyn, „Field programmable implementation of
programmable state machine”, in Proc. of the 3rd Intl. Conf. CAD
Fig. 9. Reduced reachability graph of the net from Fig. 8 DD’99, Vol. 1, Minsk: NASB, Inst. of Eng. Cybernetics, 1999, pp. 4-12.
[19] Ł. Stefanowicz, M. Adamski, and R. Wiśniewski, “Application of an
exact transversal hypergraph in selection of SM-components,” in
V. CONCLUDING REMARKS Technological innovation for the internet of things. Heidelberg -
Dordrecht, Springer, 2013, pp. 250–257.
The proposed method of deadlock detection is oriented on
[20] A. Karatkevich, „Minimized representation of state machine subnets of
decreasing of the number of explored markings. In many cases Petri nets”, in Proc. of the 7th Intl. Conf. CAD DD 2010, Minsk: UIIP
– namely when the net contains the SM-subnets with multiple NASB, 2010, pp. 65-72.