Vous êtes sur la page 1sur 17

Special Issue Article

Advances in Mechanical Engineering


2017, Vol. 9(8) 117
The Author(s) 2017
A class of generalized Petri nets and its DOI: 10.1177/1687814017700354
journals.sagepub.com/home/ade
state equation

Rongming Zhu, Ya Zhang and Lan Yang

Abstract
By analyzing the evolution nature of a Petri net, this article reports a generalized state equation for Petri nets, including
Petri nets with inhibitor and enabling arcs. By proposing the generalized state equations, all enabled transitions meeting
the firing condition can fire concurrently. Conflicts can be found when any component of a resulting marking vector by
firing the enabled transitions at some marking becomes negative. We first formulate a novel state equation for regular
Petri nets. Then, it is extended to the nets with inhibitor and enabling arcs. A classical problem with conflicts and concur-
rency, that is, the dining philosophers problem, is taken as an example to validate the proposed state equations of Petri
nets.

Keywords
Petri net, state equation, concurrency, inhibitor arc, enabling arc

Date received: 3 December 2016; accepted: 16 February 2017

Academic Editor: ZhiWu Li

Introduction to set up state equations, algebraic equations, and other


mathematical models governing the behavior of sys-
Petri nets provide a powerful mathematical formalism tems.6 A mathematical approach is applicable to almost
for modeling concurrent systems and their behavior. every system, no matter it is complicated or simple.
Some researchers propose extensive application in mod- Due to the inherent properties, Petri nets with their var-
eling, control, and scheduling of a variety of industrial iations have received more and more attentions from
processes (Li and Zhou, 2006)1,2. Since they were pro- academic and industry communities.
posed by Petri,3 many researchers and engineers from In fact, Petri nets as well as digraphs are becoming a
different fields have been working on Petri nets and major mathematical tool to characterize, analyze, and
their applications to real-world systems.4 Petri nets are control various problems in resource allocation sys-
a graphical and mathematical modeling tool that is tems, including flexible manufacturing systems (FMS)
applicable to many contemporary technological sys- (Li and Zhou 2006).7 The graph-theoretic approaches
tems, such as communication protocols, computer net- are suitable for describing the interaction between jobs
works, traffic systems, distributed database, software, and resources even in complex resource allocation sys-
production systems, C3I (command, control, communi- tems.8 As a formalism, Petri nets are used to describe
cation, and intelligence), Internet web services, social
services, workflow management, and even logistics
security systems.5 As a graphical tool, Petri nets can be School of Electro-Mechanical Engineering, Xidian University, Xian, China
used as visual communication aid similar to flow charts,
Corresponding author:
block diagrams, and networks. In addition, tokens are Rongming Zhu, School of Electro-Mechanical Engineering, Xidian
used in a net to simulate the dynamic and concurrent University, No. 2 South Taibai Road, Xian 710071, China.
activities of systems. As a mathematic tool, it is possible Email: zhu.rm@163.com

Creative Commons CC-BY: This article is distributed under the terms of the Creative Commons Attribution 4.0 License
(http://www.creativecommons.org/licenses/by/4.0/) which permits any use, reproduction and distribution of the work without
further permission provided the original work is attributed as specified on the SAGE and Open Access pages (https://us.sagepub.com/en-us/nam/
open-access-at-sage).
2 Advances in Mechanical Engineering

the behavior of FMS and to develop appropriate dead- Specifically, in a Petri net, if all the enabled transi-
lock resolution methods (Li and Zhou, 2006).9 The tions at a marking do not have priority and there is no
major strategies using Petri net techniques to cope with conflict among the enabled transitions, we can fire
deadlocks in FMS are deadlock detection and recovery, them at the same time. This study proposes a novel
deadlock avoidance, and deadlock prevention.1013 In state equation for a variety of extended Petri nets.
FMS, deadlock prevention is usually achieved either by Furthermore, the transition firing vector is generated
effective system design or using an offline mechanism due to the novel state equation, which helps us to
to control the requests for resources to ensure that decide the enabled transitions, firing or not, depending
deadlocks never occur.14 Monitors or control places on the number of tokens of the subsequent markings.
and related arcs are often used to achieve such pur- If they meet the firing condition, the enabled transi-
poses.1517 tions can fire at the same time. Otherwise, conflicts can
In addition to the deadlock control problem,1820 be found immediately when any component of a mark-
Petri nets have found extensive application to many ing vector becomes negative.
problems in contemporary resource allocation sys- The rest of this article is organized as follows: section
tems,14,21,22 such as scheduling (Wu and Zhou, Preliminaries and notations introduces some preli-
2012),13,2325,6567 supervisory control,26,27 performance minaries and notations of general Petri nets. Section
evaluation, and fault diagnosis.2831 Some extensions to Basic Petri nets and their state equations presents a
the basic Petri net structure are developed to overcome state equation representation, enabling and firing rules,
this problem by introducing extended concepts, such as and a classical example illustrating concurrency effi-
enabling arcs and inhibitor arcs to control a transition ciently. We propose the state equation of Petri nets with
enabling. Petri nets with inhibitor and enabling arcs enabling arcs and then show its application in section
can improve the modeling ability and facilitate the Petri nets with enabling arcs and their state equa-
development of system control approaches. However, tions. Based on section Petri nets with enabling arcs
it is difficult for us to use state equations to compute and their state equations, section Extended Petri nets
large and complex systems. and their state equations proposes the generalized
The studies on the state equation of a variety of state equations of extended Petri nets, namely, the Petri
Petri nets are essential to their applications, leading to net with enabling and inhibitor arcs and then an appli-
a lot of results,3245since they can provide an algebraic cation is shown. Finally, section Conclusion con-
approach to the analysis of a Petri net. Burns and cludes this article.
Bidanda30 use the concept of transition variables to
translate a safe Petri net into sequential Boolean equa-
tions but not to formulate the state equation. Chamas Preliminaries and notations
and Singh33 extend the state equations for standard
Petri nets to continuous time systems. However, the
Basics of Petri nets
involved equations are differential equations rather A Petri net51 is defined as a five-tuple
than linear or algebraic equations.33 Lee and Lee34 gen- PN = (P, T , I, O, M0 ), where P = fp1 , p2 , . . . , pn g is a
erate a new state equation whose transition values are finite and non-empty set of places and
replaced with transition variables, and it is useful for T = ft1 , t2 , . . . , tn g is a finite and non-empty set of tran-
analyzing token flows in a Petri net. Baskocagil and sitions with P \ T = [. I : (P 3 T ) ! N is an input
Kurtulan35 propose a generalized state equation by function that defines directed arcs from places to tran-
taking into account both inhibitor and enabling arcs. sitions, where N is a set of non-negative integers.
Inhibitor arcs have been addressed in the works by O : (T 3 P) ! N is an output function that defines
Chen and Li,46 Chen et al.,47 Wu et al.,48 and Lorenz directed arcs from transitions to places. M0 : P ! N is
et al.,49 and enabling arcs in the work by Wu et al.50 the initial marking. A marking is a |P|-dimensional
Petri nets are used to model discrete event systems and non-negative integer column vector.

apply the matrix representation to make the analysis of tj = fpi j(pi , tj ) 2 Ig is called the preset of transition tj ,
controllability and reachability for Petri nets.37 Petri and tj = fpi j(pi , tj ) 2 Og is called the post-set of transi-
nets with inhibitor and enabling arcs can increase the tion tj . A marking in a Petri net is a mapping
modeling power and facilitate the development of sys- M : P ! N . M(pi ) denotes Pthe number of tokens in
tem control. But it is difficult for us to use those equa- places pi at a marking M. p2P M(p)p is used to denote
tions to compute large and complex systems. However, vector M for economy of space. The tokens in places
all enabled transitions meeting the firing condition can are used to define the execution of a Petri net. An input
fire concurrently in our equations. Furthermore, we arc denotes an arc from a place to a transition. An out-
can obtain the transition vector only by the equations put arc denotes an arc from a transition to a place. The
we proposed. weights of an input arc and of an output arc are,
Zhu et al. 3

respectively, denoted by I(pi , tj ) and O(tj , pi ), where


i = 1, 2, . . . , n, j = 1, 2, . . . , m.
In a Petri net, a transition t 2 T is enabled at a
marking M if 8p2 t, M(p)  I(p, t). This fact is denoted
by M[ti. Firing it yields a new marking M# such that
8p 2 P, M 0 (p) = M(p)  I(p, t) + O(t, p), as denoted by
M[tiM#. M# is called an immediately reachable mark-
ing from M. Marking M$ is said to be reachable from
M if there exists a sequence of transitions s = t0 t1    tn Figure 1. A Petri net representing a deterministic parallel
and markings M 1 , M2 , . . . , Mn such that activity.
Mt0 iM1 t1 iM2    Mn tn iM 00 holds. The set of markings Source: Adopted from Murata.6
reachable from M in the Petri net is called the reach-
ability set of the Petri net. The reachability set of a
Petri net can be expressed by a reachability graph. A We use hu to denote a unit firing vector, while h, as
reachability graph is a directed graph whose nodes are defined above, is to denote a firing vector in which there
markings in the reachability set and arcs are labeled by are multiple 1s. In the vector hu , all of the elements are
the transitions of the net. An arc from M1 to M2 is assumed to be zero except the jth element, implying that
labeled by t if M1 tiM2 . A Petri net is dead at M0 if only the jth transition is enabled.
= t 2 T , M0 ti.
9 In a state k, according to Definitions 1 and 2, the
state equation of a Petri net can be written as follows if
Definition 1. Let PN = (P, T , I, O, M0 ) be a Petri net, pi
a marking M(k + 1) is reachable from M(k) by firing a
be a place, and tj be a transition.51
transition t whose firing vector is hu (k + 1)
1. A transition tj is said to be enabled at a marking M(k + 1) = M(k) + Jhu (k + 1) 6
M if
  where k = 0, 1, 2, . . . . This equation means that we can
M pi  I pi , tj , 8pi 2 tj 1 obtain the next state using the state equation when a
2. Once an enabled tj fires, its firing yields a new transition triggers.
marking M# Reachability is a fundamental problem for studying
the dynamic properties of a system modeled with Petri
  nets.6 A Petri net is said to be reachable from a state k
M 0 pi = M pi + J pi , tj , 8pi 2 P 2
to state k + 1 if there exists a unit firing vector
where hu (k + 1) that transforms M(k) to M(k + 1) by firing
      transition tj. When a feasible transition sequence s is
J pi , tj = O tj , pi  I pi , tj 3 considered, we have the following state equation that
can be seen and popularly used in the literature, that is,
We define M(k + 1) = M(k) + Jh(k + 1), where h(k + 1) is the
   Parikh vector of transition sequence s.5,6,52
J = J pi , tj 4 Parallel activities or concurrency can be easily
where J is an n 3 m matrix that is called the incidence expressed in terms of Petri nets.6 In general, two transi-
matrix of the Petri net. tions are said to be parallel or concurrent if they are
It is appealing to analyze a Petri net using a set of causally independent, that is, one transition may fire
linear algebraic equations. This article deals with the before, after, or in parallel with the other, as in the case
state equation of Petri nets with some extensions. As of t2 and t3 in Figure 1.
known, M 2 N n 3 1 is the vector representing the mark- Two transitions t1 and t2 as shown in Figure 2(a) are
ing of places. A transition sequence s corresponds to a in conflict since either t1 or t2 can occur, but not both
firing vector h = h1 , h2 , . . . , hm T where hj 2 N , when the place p1 has one token. Two transitions are par-
j = 1, 2, . . . , m, and that hj means whether the transi- allel or concurrent if both can occur in any order without
tion tj is enabled in s. conflicts. A situation where conflict and concurrency are
mixed is called a confusion,6 as shown in Figure 2(b).
Definition 2. A unit firing vector hu =
h1 , h2 , . . . , hm T 2 f0, 1gm 3 1 is defined35 as follows,
where m is the total number of transitions, hj = 1, and Inhibitor and enabling arcs
8i 6 = j, hi = 0, that is An inhibitor arc is a type of arcs from a place to a tran-
 T sition and its semantics is to disable the transition when
hu = 0, 0, . . . , 1j , . . . , 0, 0 5 the place contains one or more tokens.46,47,5255 It
4 Advances in Mechanical Engineering

Figure 4. An enabling arc.

Figure 2. Petri nets representing conflict and confusion.


Source: Adopted from Murata.6

Figure 3. An inhibitor arc. Figure 5. An illustration of the state equation.

makes the net have the ability to test the absence of That a Petri net is legal at state k + 1 means that the
tokens in a place. As the complementary of inhibitor net is reachable from a reachable state k (from the ini-
arcs, the concept of enabling arcs is introduced by tial marking) to k + 1 by firing a transition. Then, we
Uzam.53 It is a type of arcs from a place to a transition can define the novel state equation.
and its semantics is to enable the transition when the The state equation of a Petri net can be represented
by equation (8), where the first equation is called the
place contains one or more tokens,46,47,53 and if the
transition equation, and the second is called the place
transition fires, it does not change the token count in
equation. pi (k) is the ith element of M(k), that is, the
the place. It makes the net have the ability to test the
number of tokens in the place pi
presence of tokens in a place.

Definition 3. Let P be a place and t be a transition with h(k + 1) = I(P, T )  M(k)
an inhibitor arc labeled with a weight D(p, t) as shown M(k + 1) = M(k) + Jh(k + 1)
in Figure 3. The transition t is disabled at a marking M k = 0, 1, 2, . . .
if M(p)  D(p, t), that is, t is enabled if M(p)\D(p, t). 8
(  
Firing the enabled transition t does not change the   1, M pi  I pi , tj
I pi , tj  pi (k) =  
token count in place p.46 0, M pi \I pi , tj
Definition 4. Let p be a place and t be a transition with where
an enabling arc labeled with a weight E(p, t) as shown
in Figure 4. The transition t is enabled at a marking M   
I(P, T) = I pi , tj 2 N m 3 n
if M(p)  E(p, t) and firing the enabled transition t does    
hj (k + 1) = ^ni= 1 I pi , tj  pi (k)
not change the token count in place p.46
Xm
pi (k + 1) = pi (k) + Jhj (k + 1)
j=1
Basic Petri nets and their state equations
i = 1, 2, . . . , n, j = 1, 2, . . . , m
State equations
From this definition, if h(k + 1) = 0 holds, the net is
In this section, we extend the concept of state equations dead at state k. If h(k + 1) 6 0 and 8pi 2 P,
to a more general case. Before defining the novel state pi (k + 1) 2 N , the net is said to be reachable from M(k)
equations, we present an auxiliary definition as follows. to M(k + 1) by firing transition tj with hj (k + 1) = 1.
Definition 5. A Petri net is said to be illegal at state If h(k + 1) 6 0 and 9pi 2 P, pi (k + 1) 62 N , that is, in
k + 1 if state k, there are several transitions that are enabled;
however, their concurrent firing will lead to a fact that
9pi (k + 1) 62 N 7 the number of tokens in a place pi is not a non-negative
integer as shown in Figure 5. In this state, the net is said
where pi (k + 1) is the number of tokens in pi at mark- to be unreachable (or illegal as defined in Definition 5).
ing M(k + 1). That is to say, if the number of tokens in A small example to illustrate the above state equation
pi is a negative integer, the state is said to be illegal, is given as follows.
i = 1, 2, . . . , n. In Figure 5
Zhu et al. 5

2 3 2 3 2 3
1 1 0
6 7 6 7 6 7
M(0) = 4 1 5, I(P, T ) = 4 1 5, O(P, T ) = 4 0 5
0 0 1
2 3
1
6 7
J (P, T ) = O(P, T )  I(P, T ) = 4 1 5
1
I p1 , t1  p1 (k) = 1 due to M(p1 )  I p1 , t1
I p2 , t1  p2 (k) = 1, I p3 , t1  p3 (k) = 1
h1 (1) = ^3i = 1 I pi , t1  pi(k) = 1 ^ 1 ^ 1 = 1 Figure 6. Petri net model for the dining philosopher problem.
2 3 2 3 2 3
1 1 0
6 7 6 7 6 7 noodles successfully. We use the proposed state equa-
h(1) = 1 M(1) = M(0) + Jh(1) = 4 1 5 + 4 1 5 = 4 0 5
0 1 1
tions to explain the problem as follows.
First, we define marking vector M(k) =
H T (k), ET (k), F T (k)T , where H(k) = H1 (k), H2 (k),
H3 (k), H4 (k), H5 (k)T , E(k) = E1 (k), E2 (k), E3 (k), E4 (k),
Modeling the dining philosophers problem E5 (k)T , and F(k) = F1 (k), F2 (k), F3 (k), F4 (k), F5 (k)T .
using Petri nets Similarly, we define transition vector h(k) =
Here, we introduce a classical problem, the dining phi- GT (k),RT (k)T , where G(k)=G1 (k),G2 (k),G3 (k),G4 (k),
losophers problem, to illustrate the proposed state G5 (k)T and R(k)=R1 (k),R2 (k),R3 (k),R4 (k),R5 (k)T .
equation. The dining philosophers problem is proposed Then, we can find I(P, T ) and O(T, P), as shown in
by Dijkstra.56 Dijkstra describes the philosophers din- Appendix 1, and calculate J using equation (3). From
ing system in the work by Dijkstra56 as follows: Figure 6, the initial marking is M(0) = [1 1 1 1 1 0 0 0
0 0 1 1 1 1 1]T.
Five philosophers, numbered from 1 to 5, are living in a Using equation (8) and M(0), we have
house where the table is laid for them, each philosopher x1 = ^15 i = 1 I(pi , t1 )  pi (0) = 1, x2 = x3 = x4 = x5 = 1,
having his own place at the table. Their only problem, and x6 = x7 = x8 = x9 = x10 = 0. pi (0) denotes the
besides those of philosophy, is that the dish served is a kind number of tokens in place pi at the initial state.
of noodles that have to be eaten with two forks. There are Thus, we have
two forks next to each plate. However, no neighbors may
be eating simultaneously. h(1) = x1 , x2 , . . . , x10 T = 1 1 1 1 1 0 0 0 0 0T 9

Unfortunately, there may be a situation that all the From equation (9), we can find that G1 (1), G2 (1),
five philosophers take their left forks simultaneously. G3 (1), G4 (1), and G5 (1) are enabled, which indicates
None will be able to take their right forks and then that any philosopher, not all, has a chance to get the
they will wait indefinitely. Thus, a deadlock occurs. forks. In order to describe the concurrency, we fire the
The Petri net model57 for this problem in Figure 6 elim- enabled transitions simultaneously without priority. In
inates the deadlock. In Figure 6, G, R, H, and E stand other words, using equation (8) and h(1), we obtain
for get forks, return forks, thinking, and eat-
ing, respectively, and the philosophers are denoted by M(1) = M(0) + Jh(1)
indices 1, . . . , 5. For i = 1, . . . , 5, condition Fi denotes = 0 0 0 0 0 1 1 1 1 1  1  1  1  1  1 T
that fork i is available for its users.
10
Equal opportunity is provided by symmetry; if all
the forks are available, each philosopher may switch Equation (10) shows that the tokens in the places
from thinking to eating, while if a fork is missing, its representing forks become negative, which is equivalent
replacement immediately enables the waiting philoso- to a test on the net. Thus, we conclude that there exist
pher.58,6264 conflicts or confusions in the net at the initial state,
We can see that the initial marking enables each phi- which can be found easily by equation (10). However,
losophers get forks transition, in competition with for this model, it is possible that two philosophers could
his neighbors get forks transitions. Hence, it has collude to starve the third. To solve the collision prob-
many different runs for sequential runs, on which most lem, we propose Petri nets with enabling arcs and their
of the mentioned literature is based. state equations. Actually, it generates the priority for
Now, we turn to consider concurrency in the model. the transition that represents get forks of the five phi-
For this example, there is no priority for the philoso- losophers, and the net becomes deterministic, that is, it
phers and then they may take the forks simultaneously, can determine which two philosophers can eat at the
which leads to the fact that none of them can eat same time.
6 Advances in Mechanical Engineering

Algorithm 1 Reachability set computation by the general-


ized state equation of a Petri net with enabling arcs
Input: a Petri net model with enabling arcs, P N 1 = (P, T,
I, O, E, M0 ).
Figure 7. Two types of arcs from pi to tj .
Output: transition vector h(k) for each step and reachability
set R.
1: Compute S(P, T ) the state matrix and J the incidence
Petri nets with enabling arcs and their
matrix.
state equations 2: Starting from M (0) the reachability set R is initially
Definition empty.
3: k = 0; compute h(k + 1).
A Petri net with enabling arcs is formally defined as a 4: while there is at least one transition is enabled at M (k)
six-tuple PN 1 = (P, T , I, O, E, M0 ), where and the marking has no label do
PN = (P, T , I, O, M0 ) is a Petri net and 5: compute M (k + 1) the corresponding marking by
E  (P 3 T ) ! N is the input function that defines ring the enabled transitions.
weighted enabling arcs from places to transitions. The 6: if {M (k + 1) is legal} then
weight of an enabling arc is denoted as E(pi , tj ), where 7: if {M (k + 1)} is not in R then
E(pi , tj ) = 0 if E(pi , tj ) 62 E where i = 1, 2, . . . , n, 8: Add it.
j = 1, 2, . . . , m. An enabling arc can enable a transition 9: else
if the number of tokens in its incoming place is equal 10: Label it existed.
or greater than the weight of enabling arc. We use tj 11: end if
12: end if
to represent the set of the places connected with tj by
13: k++; compute h(k + 1).
enabling arcs.
14: end while
Similarly, the evolution of PN1 is described by the 15: Output h(k) and R.
movement of tokens between places and accomplished 16: end
by the firing of the enabled transitions. Without loss of
generality, let pi be a place and tj be a transition with a
weighted regular arc with a label I(pi , tj ) on it and a
Similarly, at step k, the state equation of a Petri net
weighted enabled arc with a label E(pi , tj ). It can be gra-
with enabling arcs is represented by the transition vec-
phically represented by two arcs from pi to tj , as shown
tor h(k) and marking vector M(k). The enabled transi-
in Figure 7.
tions are represented as S(P, T )  M(k). Therefore, the
Definition 6. Let PN 1 = (PN , E) be a Petri net with state equation can be rewritten as
enabling arcs, and pi be a place and tj be a transition. 
Transition tj is said to be enabled at a marking M if the h(k + 1) = S(P, T )  M(k)
13
following two conditions are satisfied: M(k + 1) = M(k) + Jh(k + 1)

The rule of operator * is the same as equation (8),


1. M(pi )  I(pi , tj ), 8pi 2 tj ;
and an algorithm for computing M(k) and h(k) is pre-
2. M(pi )  E(pi , tj ), 8pi 2 tj .
sented as follows.

Once the enabled transition tj fires, its firing yields a By Algorithm 1, the marking of each place can be
new marking M# computed. First, we can obtain I(P, T ), O(T , P),
E(P, T ), and M(0) according to the net. Then, equations
    (12) and (3) are used to compute S(P, T ) and J . We can
M 0 pi = M pi  I pi , tj + O tj , pi , 8pi 2 P
obtain h(k + 1) and M(k + 1) by equation (13). Then,
In order to mathematically describe and analyze a by comparing M(k + 1) to the set R, we can decide
Petri net with enabling arcs defined by Definition 6, an whether to put M(k + 1) into the set R. By these steps,
enabling arc matrix E(P, T ) 2 N m 3 n and a state matrix the markings of places and the transition vectors can
S(P, T) 2 N m 3 n are defined as follows be obtained.
By Algorithm 1, the marking of each place can be
  
EP, T = E pi , tj 11 computed. Its computational complexity is related to
   the number of places and transitions. In this article, n
S P, T = S pi , tj 12 denotes the number of places and m denotes that of
transitions. The computational complexity of
where S(pi , tj ) = maxI(pi , tj ), E(pi , tj ). Algorithm 1 is O(mn).
Zhu et al. 7

in Appendix 2, and calculate J using equation (3).


Next, from Figure 9, the initial marking is M(0) = [1 1
1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0]T.
Figure 8. A controlled net. According to the state equation of a Petri net with
enabling arcs, we can compute h(1). We only need to
observe transitions G and R since we model the Petri
net for solving the problem of philosopher dining.
Thus, we put GT (k), RT (k)T and the markings of places
into a table. In state 1, we can see G1 (1) and G3 (1) are
enabled. The philosophers 1 and 3 can get forks when
they fire. Then, R1 (1) and R3 (1) are enabled. The two
philosophers return forks when the transitions fire.
Finally, by repeatedly using equation (13) and M(0),
the results can be obtained, as listed in Table 1.
From Table 1, we can find that the enabled transi-
tions at any time can fire simultaneously because of the
strong concurrency of this system. A philosopher will
Figure 9. Petri net controller with enabled arcs. eat two times continuously, and some other philoso-
phers keep thinking. In order to ensure that the five phi-
losophers can eat by turns, we propose a new class of
Modeling the dining philosophers problem using Petri Petri nets as well as their state equation.
nets with enabling arcs
Figure 8 shows a controlled net consisting of five places Extended Petri nets and their state
and five transitions. In the net, there are two tokens equations
flowing through the net. To prevent the occurrence of Definition
deadlocks, the two tokens cannot exist in any two adja-
cent places. Actually, we can understand this solution An extended Petri net with enabling arcs and inhibitor
just like the arbitrator approach: a philosopher can arcs is formally defined as a seven-tuple
only get the two forks or none by introducing an arbi- EPN = (P, T , I, O, M0 , D, E), where PN45 is a Petri net
trator, for example, a waiter. In order to get the forks, and D  (P 3 T ) ! N is the input function that defines
a philosopher must ask permission of the waiter. The weighted inhibitor arcs (hollow circle-headed arcs)
waiter gives permission to only one philosopher at a from places to transitions. The weights of the inhibitor
time until he has gotten his two forks. Here, the two arcs are denoted as a matrix D(P, T ), where
tokens in the controlled net can be regarded as two D(pi , tj ) = + if D(pi , tj ) 62 D, i = 1, 2, . . . , n,
waiters, who ask the five philosophers by turn. In fact, j = 1, 2, . . . , m. An inhibitor arc can inhibit a transition
the forks are available again when the waiter turns to to be enabled if the number of tokens on its incoming
one philosopher, and hence, the two waiters cannot ask place is more than the weight of the inhibitor arc.
8

adjacent philosophers, otherwise, conflicts may happen Furthermore, tj represents the set of the places con-
again. nected with tj by inhibitor arcs.
We apply the controlled net to the original net Similarly, the evolution of EPN is also described by
through enabling arcs, as shown in Figure 9. Only the movement of tokens between places and accom-
when the right and left forks of a philosopher are avail- plished by firing the enabled transitions. Without loss
able, and one waiter walks to him and allows him to of generality, let pi be a place and tj be a transition with
eat, can the philosopher pick up his left and right forks. a weighted regular arc with a label I(pi , tj ), a weighted
In the following, we use the proposed state equations enabled arc with a label E(pi , tj ), and a weighted inhibi-
to explain and verify its validity. tor arc with a label D(pi , tj ). It can be graphically repre-
First, we define marking vector M(k) = H T (k), sented by above three arcs from pi to tj , as shown in
E (k), F T (k), C T (k)T , where C(k) = C1 (k), C2 (k), C3 (k),
T Figure 10.
C4 (k), C5 (k)T and the others are the same as above. Definition 7. Let EPN = (PN, D, E) be a Petri net with
Similarly, we define transition vector h(k) = GT (k), enabling arcs and inhibitor arcs, pi be a place, and tj be
R (k), hTC (k)T , where hTC (k) = tC1 (k), tC2 (k), tC3 (k),
T
a transition.
tC4 (k), tC5 (k)T and the others are the same as above.
Then, we can find I(P, T ), O(P, T), E(P, T ), and  Transition tj is said to be enabled at a marking
S(P, T ) according to equations (11) and (12), as shown M if the following three conditions are satisfied:
8 Advances in Mechanical Engineering

Table 1. Results of the enabling arcs solution.

k GT (k), RT (k)T HT (k), ET (k), F T (k), CT (k)T Remarks

0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0T 3 and 1 get forks


1 1 0 1 0 0 0 0 0 0 0T 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 0 1 0 0 1T 3 and 1 return forks
2 0 0 0 0 0 1 0 1 0 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0T 1 and 4 get forks
3 1 0 0 1 0 0 0 0 0 0T 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 0 0 1 0 1T 1 and 4 return forks
4 0 0 0 0 0 1 0 0 1 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0T 4 and 2 get forks
5 0 1 0 1 0 0 0 0 0 0T 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 1 0 1 0 0T 4 and 2 return forks
6 0 0 0 0 0 0 1 0 1 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1T 2 and 5 get forks
7 0 1 0 0 1 0 0 0 0 0T 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 1 0 0 1 0T 2 and 5 return forks
8 0 0 0 0 0 0 1 0 0 1T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1T 5 and 3 get forks
9 0 0 1 0 1 0 0 0 0 0T 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 1 0 1 0T 5 and 3 return forks
10 0 0 0 0 0 0 0 1 0 1T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0T 3 and 1 get forks, the same as k = 0

Algorithm 2 Reachability set computation using the


generalized state equation of an extended Petri net
Input: a Petri net model with enabling and inhibitor arcs,
EP N = (P N, D, E).
Output: transition vector h(k) for each step and reachability Figure 10. Three types of arcs from pi to tj .
set R.
1: Compute S(P, T ) the state matrix, and J the incidence   
matrix, and D(P, T ) the inhibitor arc matrix.   1, M pi \D pi , tj 
D pi , tj 8pi (k) =
2: Starting from M (0) the reachability set R is initially 0, M pi  D pi , tj
empty.
3: k = 0; compute h(k + 1). An algorithm for the reachability set using M(k) and
4: while there is at least one transition is enabled at M (k) h(k) is shown as follows.
and the marking has no label do
5: compute M (k + 1) the corresponding marking by The description of this algorithm is the same as
ring the enabled transitions. Algorithm 1. Finally, we can obtain the transition vec-
6: if {M (k + 1)} is legal then tor and the markings of places. Then, we will explain
7: if M (k + 1) is not in R then how to solve the Five Dining Philosophers Problem
8: Add it. without continuously eating two times by a philosopher
9: else through applying extended Petri nets proposed in this
10: Label it existed. article.
11: end if
12: end if
13: k + +; compute h(k + 1). Modeling the dining philosophers problem using
14: end while
extended Petri nets
15: Output h(k) and R.
16: end In this solution, we apply weighted inhibitor arcs to the
control of the dining philosophers problem, as shown
in Figure 11, which will ensure that the five philoso-
1. M(pi )  W (pi , tj ), 8pi 2 tj ; phers can eat by turns. From the definition of a
2. M(pi )  E(pi , tj ), 8pi 2 tj ; weighted inhibitor arc whose weight is w, transition t is
8
3. M(pi )\I(pi , tj ), 8pi 2 tj . disabled by p if M(Ci )  w. If t is enabled and fires, it
 Once tj fires, its firing yields a new marking does not change the tokens in Ci (i = 1, 2, . . . , 5). In
M 0 (pi ) = M(pi )  I(pi , tj ) + O(tj , pi ), 8pi 2 P. Figure 11, between Ci and tCi , both weighted inhibitor
and regular arcs exist, and all the weighted inhibitor
In order to mathematically describe and analyze arcs are labeled by 2. As a result, only when M(Ci ) = 1,
Petri net with enabling arcs given in Definition 7, we the corresponding transition is enabled. Moreover, the
define an inhibitor arc matrix D(P, T ) 2 N m 3 n as weight of the output arc from Ci is 2 and the weight of
follows tDi to Ci is 2.
Then, we use the state equations to explain the solu-
  
D(P, T ) = D pi , tj 14 tion. First, we define marking vector M(k) as follows:
M(k) = H T (k), ET (k), F T (k), C T (k)T .
The operation rule of operator 8 is defined by
Zhu et al. 9

Table 2. Results of an extended Petri net solution.

k GT (k), RT (k)T HT (k), ET (k), F T (k), CT (k)T Remarks

0 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0T 1 and 3 get forks


1 1 0 1 0 0 0 0 0 0 0T 0 1 0 1 1 1 0 1 0 0 0 0 0 0 1 2 0 2 0 0T 1 and 3 return forks
2 0 0 0 0 0 1 0 1 0 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 0 1T 2 and 5 get forks
3 0 1 0 0 1 0 0 0 0 0T 1 0 1 1 0 0 1 0 0 1 0 0 0 1 0 0 2 0 0 2T 2 and 5 return forks
4 0 0 0 0 0 0 1 0 0 1T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 0 1 0T 4 and 1 get forks
5 1 0 0 1 0 0 0 0 0 0T 0 1 1 0 1 1 0 0 1 0 0 0 1 0 0 2 0 0 2 0T 4 and 1 return forks
6 0 0 0 0 0 1 0 0 1 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 0 1 0 1T 3 and 5 get forks
7 0 0 1 0 1 0 0 0 0 0T 1 1 0 1 0 0 0 1 0 1 0 1 0 0 0 0 0 2 0 2T 3 and 5 return forks
8 0 0 0 0 0 0 0 1 0 1T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 0 1 0 1 0T 2 and 4 get forks
9 0 1 0 1 0 0 0 0 0 0T 1 0 1 0 1 0 1 0 1 0 1 0 0 0 0 0 2 0 2 0T . 2 and 4 return forks
10 0 0 0 0 0 0 1 0 1 0T 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0T 1 and 3 get forks, the same as k = 0

inhibitor arcs matrix D, enabling arcs matrix E, and


incidence matrix J of the extended net are given in
Appendix 3.
From Table 2, we can see that this method can
ensure that the five philosophers eat by turn in accor-
dance with their seats. The phenomenon that a philoso-
pher eats two times continuously can be eliminated.

Example of the extended Petri net


As known, deadlocks often occur in a resource alloca-
tion system owing to the existence of shared resources
Figure 11. Application of an extended Petri net to the control
of the dining philosophers problem. (Wu and Zhou, 2012).19,20,28 It can make an impact on
the running of a system. Petri nets have an important
effect on modeling and controlling these computer-
Similarly, we define transition vector h(k) = integrated systems.14,18,21,24 The reachability graph
GT (k), RT (k), hTC (k), hTD (k)T , where hTD (k) = tD1 (k), analysis is also useful for us to solve the deadlock prob-
tD2 (k), tD3 (k), tD4 (k), tD5 (k)T . lem. The reachability graph obtained by analyzing the
Then, we can find I(P, T ) and O(T , P) according to net model can entirely reflect the flow of tokens in the
equation (1), E(P, T ) and S(P, T ) according to equations places, as well as the dynamic behavior of a system. An
(11) and (12), and D(P, T ) according to equation (14), extended Petri net is given in Figure 12.
as shown in Appendix 3, and calculate J using equation In Figure 12, we add some arcs between places and
(3). transitions to achieve the deadlock control purpose. A
Finally, we can obtain equation (12). Now, from weighted enabling arc is added connecting p1 and t1 .
Figure 10, the initial marking is Similarly, there is also a weighted enabling arc between
p10 and t6 . The number of tokens in place p1 or p10 can-
M(0) = 1 1 1 1 1 0 0 0 0 0 1 1 1 1 1 1 0 1 0 0T not change when transition t1 or t6 is enabled and fired.
Next, there is one weighted inhibitor arc from p12 to t8
Our goal is to observe transitions G and R since we and the other inhibitor arc from p13 to t3 . Once t3 or t8
model the Petri net for solving the problem of philoso- is enabled and is fired, the number of tokens in p12 or
pher dining. Thus, we put GT (k), RT (k)T and the mark- p13 cannot change. Then, we use the proposed state
ings of places into a table. By repeatedly using equation equation to present this Petri net with inhibitor arcs
(15) and M(0), the results can be obtained, as listed in and enabling arcs.
Table 2. When there are no weighted enabling and inhibitor
This table shows the transition vector and the mark- arcs in Figure 12, we use the state equations of Petri
ing vector in every state. The remarks show which phi- nets proposed in our article to compute the reachability
losopher can eat when the enabled transitions fire in a graph. According to the equations, all enabled transi-
transition vector. Then, we use the state equations to tions can fire concurrently. By equations (3) and (8), we
explain the solution. The regular arc matrices I and O, know that M = [1 1 1 0 0 1 2 0 0 1 0 0 0 0] is a dead
10 Advances in Mechanical Engineering

Table 3. Results of the enabling and inhibitor arcs solution.

k h(k) M(k) Remarks

0 [4 0 0 0 0 0 0 0 0 4 1 2 2 1]T
1 [1 0 0 0 0 1 0 0 0 0]T [3 1 0 0 0 1 0 0 0 3 0 2 2 0]T t1 and t6 are enabled and fired
2 [0 1 0 0 0 0 1 0 0 0]T [3 0 1 0 0 0 1 0 0 3 1 1 1 1]T t2 and t7 are enabled and fired
3 [0 0 1 0 0 0 0 1 0 0]T [3 0 0 1 0 0 0 1 0 3 1 0 0 1]T t3 and t8 are enabled and fired
4 [0 0 0 1 0 0 0 0 1 0]T [3 0 0 0 1 0 0 0 1 3 0 2 2 0]T t4 and t9 are enabled and fired
5 [0 0 0 0 1 0 0 0 0 1]T [4 0 0 0 0 0 0 0 0 4 1 2 2 1]T t5 and t10 are enabled and fired

According to the state equation of a Petri net with


the weighted enabling and inhibitor arcs, we can com-
pute h(1). We only need to observe transition t since we
model the Petri net for solving the problem of dead-
locks. Thus, we show h(k) = t1 (k), t2 (k), . . . , t10 (k)T
and the markings of places in Table 3. In state 1, we
can see that t1 and t6 are enabled. Next, in state 2, t2
and t7 are enabled. Finally, by repeatedly using equa-
tion (15) and M(0), the results can be obtained, as listed
in Table 3.
This table shows the transition vector and the mark-
ing vector in every state. The remarks show which tran-
sitions can enable and fire in a transition vector. Then,
we use the state equations to explain the solution. The
regular arc matrices I and O, inhibitor arcs matrix D,
enabling arcs matrix E, and incidence matrix J of the
Petri net with enabling and inhibitor arcs are computed
by the proposed state equations in this article.
From Table 3, we can see that the system has no
deadlock problem. The transitions can be enabled by
turns and the markings computed by the proposed
state equations form a cycle from M(0) to M(5), which
shows that no deadlocks are in this extended Petri net.
However, we can see that the proposed equation is very
Figure 12. Example of an extended Petri net. useful to test whether a Petri net has the problem of
deadlocks or confusion.
marking, which shows there exists deadlock in this Petri
net.
Then, we apply the weighted enabling and inhibitor Conclusion
arcs to solve the deadlock problem shown in Figure 12 This article proposes new state equations for Petri nets.
and compute markings by the proposed state Using the inhibitor and enabling arcs, we can solve the
equations. dining philosophers problem and validate the proposed
First, we define marking vector M(k) = equations. The proposed state equation takes the form
p1 (k), p2 (k), . . . , p14 (k)T , where pi (k), i = 1, 2, . . . , 14, similar to the statespace representation of a linear
denotes the number of tokens in the place pi in the state (continuous time-invariant) system with multiple inputs
k. Similarly, we define transition vector h(k) = and outputs. Under this state equation, all enabled
t1 (k), t2 (k), . . . , t10 (k)T , where ti (k), i = 1, 2, . . . , 10, transitions meeting the firing condition can fire concur-
denotes the value of the transition ti in the state k. rently. It is useful for analyzing concurrent systems. We
Then, we can find I(P, T ) and O(T , P) according to can use the equations to compute the transition vectors
equation (1), E(P, T ) and S(P, T ) according to equa- and the markings of places and also test whether there
tions (11) and (12), and D(P, T ) according to equation exist conflicts or confusions. If there is no conflict in
(14) and calculate J using equation (3). Next, from the net at the initial state, we can obtain legal subse-
Figure 12, the initial marking is M(0) = [4 0 0 0 0 0 0 0 quent markings with the simultaneous firing. The defi-
0 4 1 2 2 1]T. nition of the state matrix takes regular arcs, enabling
Zhu et al. 11

arcs, and weighted inhibitor arcs into account, which is 8. Li ZW, Zhou MC and Wu NQ. A survey and compari-
convenient for analyzing extended Petri nets with the son of Petri net-based deadlock prevention policies for
three types of arcs. flexible manufacturing systems. IEEE T Syst Man Cy C
Future work includes the algebraic equation descrip- 2008; 38: 173188.
tion for siphons and traps that are important to the 9. Li ZW and Zhou MC. Control of elementary and depen-
dent siphons in Petri nets and their application. IEEE T
development of deadlock prevention policies for
Syst Man Cy A 2008; 38: 133148.
resource allocation systems modeled with Petri 10. Chen YF, Li ZW and Khalaui M. Design of a maximally
nets.26,59,60 We will also investigate the state equations permissive liveness-enforcing Petri net supervisor for flex-
of Petri nets with interval inhibitor arcs46 and date deci- ible manufacturing systems. IEEE T Autom Sci Eng 2011;
sion arcs.61 8: 374393.
11. Wang X, Li Z and Wonham WM. Dynamic multiple-
Acknowledgements period reconfiguration of real-time scheduling based on
timed DES supervisory control. IEEE T Ind Inform 2016;
R.Z. proposed a new mathematical method to describe the 12: 101111.
behavior of Petri nets and wrote this paper. Y.Z. and R.Z. 12. Ye JH, Li ZW and Giua A. Decentralized supervision of
built state equations of the dining philosophers by applying Petri nets with a coordinator. IEEE T Syst Man Cyb
above suggestion. Y.Z. and L.Y. validated the equations by a 2015; 45: 955966.
computer program. 13. Yang F, Wu NQ, Qiao Y, et al. Scheduling of single-arm
cluster tools for an atomic layer deposition process with
Declaration of conflicting interests residency time constraints. IEEE T Syst Man Cyb. Epub
ahead of print 29 January 2016. DOI: 10.1109/
The author(s) declared no potential conflicts of interest with TSMC.2015.2507140.
respect to the research, authorship, and/or publication of this 14. Xing KY, Hu BS and Chen HX. Deadlock avoidance
article. policy for Petri-net modelling of flexible manufacturing
systems with shared resources. IEEE T Automat Contr
Funding 1996; 41: 289295.
15. Uzam M. An optimal deadlock prevention policy for flex-
The author(s) disclosed receipt of the following financial sup-
ible manufacturing systems using Petri net models with
port for the research, authorship, and/or publication of this
resources and the theory of regions. Int J Adv Manuf Tech
article: This work was supported by the National Natural
2002; 19: 192208.
Science Foundation of China under Grant No. 61673309 and
16. Uzam M. The use of the Petri net reduction approach for
the Fundamental Research Funds for the Central Universities
an optimal deadlock prevention policy for flexible manu-
under Grant Nos JB160401 and JBG160415.
facturing systems. Int J Adv Manuf Tech 2004; 23:
204219.
References 17. Uzam M, Li ZW and Zhou MC. Identification and elimi-
1. Li ZW and Zhou MC. Two-stage method for synthesiz- nation of redundant control places in Petri net based live-
ing liveness-enforcing supervisors for flexible manufac- ness enforcing supervisors of FMS. Int J Adv Manuf Tech
turing systems using Petri nets. IEEE T Ind Inform 2006; 2007; 35: 150168.
18. Fanti MP and Zhou MC. Deadlock control methods in
2: 313325.
2. Li ZW and Zhou MC. Clarifications on the definitions automated manufacturing systems. IEEE T Syst Man Cy
of elementary siphons in Petri nets. IEEE T Syst Man Cy A 2004; 34: 522.
19. Chen YF and Li ZW. Design of a maximally permissive
A 2006; 36: 12271229.
3. Petri CA. Kommunikation mit automaten (Schriften liveness-enforcing supervisor with a compressed supervi-
des IIM Nr.2). PhD Thesis, University of Bonn, Bonn, sory structure for flexible manufacturing systems. Auto-
1962. matica 2011; 47: 10281034.
4. Li ZW, Zhou MC and Jeng MD. A maximally permis- 20. Chen YF, Li ZW and Zhou MC. Optimal supervisory
sive deadlock prevention policy for FMS based on Petri control of flexible manufacturing systems by Petri nets: a
net siphon control and the theory of regions. IEEE T set classification approach. IEEE T Autom Sci Eng 2014;
Autom Sci Eng 2008; 5: 182188. 11: 549563.
5. Li ZW, Liu GY, Hanisch M-H, et al. Deadlock preven- 21. Xing KY, Zhou MC, Wang F, et al. Resource transition
tion based on structure reuse of Petri net supervisors for circuits and siphons for deadlock control of automated
flexible manufacturing systems. IEEE T Syst Man Cy A manufacturing systems. IEEE T Syst Man Cy A 2011; 41:
2012; 42: 178191. 7484.
6. Murata T. Petri nets: properties, analysis, and applica- 22. Wang X, Khemaissia I, Khalgui M, et al. Dynamic low-
tions. P IEEE 1989; 77: 541580. power reconfiguration of real-time systems with periodic
7. Li ZW, Hu HS and Wang AR. Design of liveness- and probabilistic tasks. IEEE T Autom Sci Eng 2015; 12:
enforcing supervisors for flexible manufacturing systems 258271.
using Petri nets. IEEE T Syst Man Cy C 2007; 37: 23. Bai LP, Wu NQ, Li ZW, et al. Optimal one-wafer cyclic
517526. scheduling and buffer space configuration for single-arm
12 Advances in Mechanical Engineering

multicluster tools with linear topology. IEEE T Syst Man emerging technologies and factory automation, Kauai, HI,
Cyb 2016; 46: 14561467. 1821 November 1996, vol. 2, pp.446452. New York:
24. Wu NQ, Chu F, Chu CB, et al. Petri net modeling and IEEE.
cycle time analysis of dual-arm cluster tools with wafer 42. Wimmel H and Wolf K. Applying CEGAR to the Petri
revisiting. IEEE T Syst Man Cyb 2013; 43: 196207. net state equation. Log Meth Comput Sci 2012; 8: 115.
25. Wu NQ, Bai LP and Zhou MC. An efficient scheduling 43. Werner M and Muhl G. A state equation for Petri nets
method for crude oil operations in refinery with crude oil with delaying places. In: Proceedings of the13th annual
type mixing requirements. IEEE T Syst Man Cyb 2016; IEEE international symposium and workshop on engineer-
46: 414426. ing of computer based systems, Potsdam, 2730 March
26. Ma ZY, Li ZW and Giua A. Design of optimal Petri net 2006. New York: IEEE.
controllers for disjunctive generalized mutual exclusion 44. Marsan MA, Conte G and Balbo G. A class of generalized
constraints. IEEE T Automat Contr 2015; 60: 17741785. stochastic Petri nets for the performance evaluation of multi-
27. Tong Y, Li Z and Giua A. On the equivalence of observa- processor systems. ACM T Comput Syst 1984; 2: 93122.
tion structures for Petri net generators. IEEE T Automat 45. Uzam M, Li ZW, Gelen G, et al. A divide-and-conquer-
Contr 2016; 61: 24482462. method for the synthesis of liveness enforcing supervisors
28. Basile F, Chiacchio P, Tommasi G, et al. An efficient for flexible manufacturing systems. J Intell Manuf 2016;
approach for online diagnosis of discrete event systems. 27: 11111129.
IEEE T Automat Contr 2009; 54: 748759. 46. Chen YF and Li ZW. New Petri net structure and its
29. Cabasino MP, Giua A and Seatzu C. Fault detection for application to optimal supervisory control: interval inhi-
discrete event systems using Petri nets with unobservable bitor arcs. IEEE T Syst Man Cyb 2014; 44: 13841400.
transitions. Automatica 2010; 46: 15311539. 47. Chen YF, Li ZW, Barkaoui K, et al. On the enforcement
30. Dotoli M, Fanti MP, Mangini AM, et al. On-line fault of a class of nonlinear constraints on Petri nets. Automa-
detection in discrete event systems by Petri nets and inte- tica 2015; 55: 116124.
ger linear programming. Automatica 2009; 45: 26652672. 48. Wu WM, Su HY, Hu JB, et al. Petri net controller synth-
31. Zaytoon J and Lafortune S. Overview of fault diagnosis esis for discrete event systems using weighted inhibitor
methods for discrete event systems. Annu Rev Control arc. In: Proceedings of the 2001 IEEE international confer-
2013; 37: 308320. ence on robotics & automation, Seoul, South Korea, 2126
32. Burns GL and Bidanda B. The use of hierarchical Petri May 2001, vol. 4, pp.35823587. New York: IEEE.
nets for the automatic generation of ladder logic pro- 49. Lorenz R, Mauser S and Bergenthum R. Testing the
grams. In: Proceedings ESD IPC conference and exposi- executability of scenarios in general inhibitor nets. In:
tion, Detroit, Michigan, 1994, pp.169179. Proceedings of the seventh international conference on
33. Chamas N and Singh H. A generalized Petri net state application of concurrency to system design, Bratislava,
equation. In: Proceedings of the 32nd Midwest symposium 1013 July 2007, pp.167176. New York: IEEE.
on circuits and systems, Champaign, IL, 1416 August 50. Wu WM, Su H and Chu J. Supervisory control of discrete
1989, vol. 1, pp.161164. New York: IEEE. event systems using enabling arc Petri nets. In: Proceed-
34. Lee GB and Lee JS. Generating Petri net state equation ings of the 2002 IEEE international conference on robotics
with firing condition functions. Syst Anal Model Sim and automation, Washington, DC, 1115 May 2002, vol.
2003; 43: 557561. 2, pp.19131918. New York: IEEE.
35. Baskocagil C and Kurtulan S. Generalized state equation 51. Lee GB and Lee JS. The state equation of Petri net for
for Petri nets. WSEAS Trans Syst 2011; 10: 295305. the LD program. In: Proceedings of the IEEE interna-
36. Popova-Zeugmann L and Pelz E. State equation for tional conference on systems, man, and cybernetics, Nash-
interval-timed Petri nets. In: Proceedings of the interna-
ville, TN, 811 October 2000, vol. 4, pp.30513056. New
tional workshop CS& P (ed M Szczuka), Pu1tusk, Poland,
York: IEEE.
2830 September 2011, pp.416419.
52. Peterson JL. Petri nets. ACM Comput Surv 1977; 9:
37. Murata T. State equation, controllability, and maximal
223252.
matchings of Petri nets. IEEE T Automat Contr 1977; 22:
53. Uzam M. Petri-net-based supervisory control of discrete
412416.
event systems and their ladder logic diagram implementa-
38. Jeng MD, Jaw RW and Hung PL. Scheduling FMS with
tions. PhD Thesis, University of Salford, Salford, 1998.
due dates based on Petri net state equations. In: Proceed-
54. Hack M. Petri net language. Computation Structures
ings of the IEEE international conference on systems, man,
Group Member 124, Project MAC. Massachusetts Insti-
and cybernetics. Computational cybernetics and simulation,
tute of Technology, Cambridge, MA, 1975.
Orlando, FL, 1215 October 1997, vol. 3, pp.27242729.
55. Reinhardt K. Reachability in Petri nets with inhibitor arcs.
New York: IEEE.
Electron Notes Theor Comput Sci 2008; 233: 239264.
39. Schmidt K. Narrowing Petri net state spaces using the
56. Dijkstra EW. Hierarchical ordering of sequential pro-
state equation. Fundam Inf 2001; 47: 325335.
cesses. Acta Inform 1971; 1: 115138.
40. Lee GB, Han ZD and Lee JS. Generalized state equation
57. Reisig W. The decent philosophers: an exercise in concur-
of Petri nets with priority. Int J Intell Syst 2003; 18:
rent behavior, vol. 80. Berlin: Institute of informatics,
11451153.
Humboldt-Universitat zu Berlin, 2007, pp.273281.
41. Miyazawa I, Tanaka H and Sekiguchi T. Classification of
58. Cooprider LW. Petri nets and the representation of stan-
solutions of matrix equation related to parallel structure
dard synchronizations. Technical report, Carnegie
of a Petri net. In: Proceedings of the IEEE conference on
Zhu et al. 13

Mellon University, Pittsburgh, PA, Computer Science 63. Wu ZH and Murata T. A Petri net model of a starvation-
Department, January, 1976. free solution to the dining philosophers problem. In: Pro-
59. Zhang JF, Khalgui M, Li ZW, et al. Reconfigurable coor- ceedings of IEEE workshop on languages for automation,
dination of distributed discrete event control systems. Chicago, IL, 79 November 1983. New York: IEEE.
IEEE T Contr Syst T 2015; 23: 323330. 64. Liu GJ and Wu ZH. An improved Petri net model of a
60. Li ZW and Zhao M. On controllability of dependent starvation-free solution to the dining philosophers prob-
siphons for deadlock prevention in generalized Petri nets. lem. J Syst Simul 2007; 19: 2629.
IEEE T Syst Man Cy A 2008; 38: 369384. 65. Liu HC, You JX, Li ZW, et al. Fuzzy Petri nets for
61. Chen YF, Li ZW, Barkaoui K, et al. Compact supervi- knowledge representation and reasoning: a literature
sory control of discrete event systems by Petri nets with review. Eng Appl Artif Intel 2017; 60: 4556.
data inhibitor arcs. IEEE T Syst Man Cyb 2016; 47: 66. Wu NQ and Zhou MC. Modeling, analysis and control
364379. of dual-arm cluster tools with residency time constraint
62. Daniel L and Michael O. On the advantages of free and activity time variation based on Petri nets. IEEE T
choice: asymmetric and fully distributed solution to the Autom Sci Eng 2012; 9: 446454.
dining philosophers problem. In: Proceedings of the 8th 67. Wu NQ and Zhou MC. Schedulability analysis and opti-
ACM SIGPLAN-SIGACT symposium on principles of mal scheduling of dual-arm cluster tools with residency
programming languages, Williamsburg, VA, 2628 Janu- time constraint and activity time variation. IEEE T
ary 1981, pp.133138. New York: ACM. Autom Sci Eng 2012; 9: 203209.

Appendix 1
2 3
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0
60 1 0 0 0 0 0 0 0 0 0 1 1 0 07
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 07
6 7
60 0 0 1 0 0 0 0 0 0 0 0 0 1 17
6 7
60 0 0 0 1 0 0 0 0 0 1 0 0 0 17
I(P, T ) = 6
60
7
6 0 0 0 0 1 0 0 0 0 0 0 0 0 077
60 0 0 0 0 0 1 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 1 0 0 0 0 0 0 07
6 7
40 0 0 0 0 0 0 0 1 0 0 0 0 0 05
0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
2 3
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0
60 0 0 0 0 0 1 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 1 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 1 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 1 0 0 0 0 07
O(T , P) = 6
61
7
6 0 0 0 0 0 0 0 0 0 1 1 0 0 077
60 1 0 0 0 0 0 0 0 0 0 1 1 0 07
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 07
6 7
40 0 0 1 0 0 0 0 0 0 0 0 0 1 15
0 0 0 0 1 0 0 0 0 0 1 0 0 0 1

Appendix 2
2 3
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
60 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 07
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 07
6 7
60 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 07
6 7
60 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 07
6 7
60 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
I(P, T ) = 6
60 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 077
60 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 05
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
14 Advances in Mechanical Engineering

2 3
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 7
6 7
6 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 7
6 7
O(T , P) = 6
6 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 7
7
6 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 7
6 7
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0
2 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
E(P, T ) = 6
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 077
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 05
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 3
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0
60 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 07
6 7
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 07
6 7
60 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 07
6 7
60 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 17
6 7
6 7
60 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
S P, T 6 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 7
40 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 05
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Zhu et al. 15

Appendix 3
2 3
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0
6 7
60 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 07
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 07
6 7
6 7
60 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 07
6 7
60 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 07
6 7
6 7
60 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
60 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 07
I(P, T ) = 6
60
7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 077
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
4 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
2 3
0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 7
60 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 07
6 7
6 7
61 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 07
6 7
60 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 07
6 7
6 7
60 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 0 07
6 7
60 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 0 07
6 7
6 7
60 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 07
O(T , P) = 6
60
7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 177
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 07
6 7
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 07
6 7
60 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 07
4 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2
16 Advances in Mechanical Engineering

2 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
E(P, T ) = 6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 07
4 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
2 3
1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 0 0
6 7
6 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 0 07
6 7
6 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 0 07
6 7
6 7
6 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 0 0 1 07
6 7
6 7
6 0 0 0 0 1 0 0 0 0 0 1 0 0 0 1 0 0 0 0 17
6 7
6 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 07
6 7
S(P, T ) = 6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 17
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 07
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 07
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 07
4 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1
Zhu et al. 17

2 3
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
D(P, T ) = 6
6
7
7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 7
6 7
6 7
6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 7
6 7
4 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 5
0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2

Vous aimerez peut-être aussi