Since deadlock control usually is concerned with minimal
siphons, researchers have investigated minimal siphon
extraction methods from a maximal emptied one
[10,11,18,23,44–47]. Some work on direct minimal siphon
extraction using MIP was repor ted in [5], [9], and [25].
Generally, the MIP-based method is applied in iterative
siphon-based deadlock prevention policies that suffer from
the problem of weighted monitors [22]. A weighted monitor is
a monitor whose related arcs include weighted arcs, i.e., the
weight of an arc is greater than one [4]. It appears in order to
control an SMS that contains monitors induced in the prior
steps, called control-induced SMS. A weighted monitor is
undesired since ensuring that all siphons cannot be emptied is
not sufficient to guarantee deadlock prevention in generalized
Petri nets. To avoid the problems caused by weighed monitors
[11,22] one may control a control-induced SMS via source
transitions (releasing jobs), which, unfortunately can restrict
the behavior permissiveness significantly and fails to obtain a
maximally per missive supervisor in general. Reveliotis [41]
deals with the problem of control-induced SMS by modifying
the initial marking of the additional monitors at the sacrifice
of the behavior permissiveness. Abdallah and ElMaraghy [42]
use an online controller to deal with the problem of control-
induced SMS; thus, their policy is a combination of deadlock
avoidance and prevention at the expense of huge online com-
putational cost. In this paper, a new constraint is added to the
MIP-based method such that an emptied siphon excluding
monitors can be derived from a not-yet-fully-controlled Petri
net, which avoids weighted monitors in the controlled net.
Another shortcoming of the existing MIP-based itera-
tive deadlock prevention policies is that, if a given emptied
siphon contains multiple minimal ones, they fail to indicate
which one should be chosen to achieve the best control effect.
In fact, this is very important in siphon-based deadlock
control policies since such a choice directly affects the struc-
tural complexity of a supervisor. For example, Li and Zhou
[22] prove that, under some conditions, a live controlled net
can be obtained by controlling the elementary siphons only,
thereby reducing the number of monitors drastically. In [4],
the number of MIP iterations is reduced by introducing the
concept of basic and compound siphons. Nevertheless, it fails
to deal with the problem of weighted monitors. In this work,
based on loop resource subsets, an extraction algorithm for a
desired emptied SMS from a given siphon is proposed to
outperform the existing ones. A desired SMS has the smallest
number of resource places in a set of emptied SMS that are
derived from a given siphon. Then, a new deadlock preven-
tion policy is proposed, where a desired SMS is selected first
for its control such that all emptied SMS can be M-controlled
via M-controlling a smaller number of emptied SMS, thereby
efficiently reducing the structural complexity of a supervisor.
Hence, this work advances the state-of-the-art in the deadlock
prevention policy for FMS.
The rest of this paper is organized as follows. Section II
briefly reviews preliminaries. A new extraction algorithm for
emptied SMS is proposed in Section III, and its computa-
tional complexity is analyzed. A maximally permissive
siphon-based deadlock prevention policy is given in Section
IV. Finally, Section V concludes this paper.
II. PRELIMINARIES
2.1 Petri nets [22,24,61,62]
A Petri net is a 3-tuple N = (P, T, F), where P and T are
finite, nonempty, and disjoint sets. P is a set of places, and T
is a set of transitions. The set F ⊆ (P × T)
∪
(T × P) is the
flow relation. Given a net N = (P, T, F), and a node
x ∈ (P
∪
T),
•
x = {y ∈ P
∪
T|(y, x) ∈ F} is the pre-set of x,
while x
•
= {y ∈ P
∪
T|(x,y) ∈ F} is the post-set of x.
∀X ⊆ (P
∪
T),
ii
∪Xx
xX
=
∈
, and
Xx
xX
ii
∪=
∈
,
••
x =
•
(
•
x), and
x
••
= (x
•
)
•
. A Petri net N = (P, T, F) is called a state machine if
∀t ∈ T,|
•
t| = |t
•
| = 1.
The incidence matrix of a state machine N is a matrix
[N]:P × T → Z indexed by P and T such that [N](p, t) = −1 if
p ∈
•
t\t
•
;[N](p, t) = 1ifp ∈ t
•
\
•
t; otherwise [N](p, t) = 0 for all
p ∈ P and t ∈ T.AP-vector is a column vector I : P → Z
indexed by P, and a T-vector is a column vector J : T → Z
indexed by T, where Z is the set of integers. I is a P-invariant
if I ≠ 0 and I
T
× [N] = 0
T
hold. A P-invariant I is a semiflow if
every element of I is non-negative. ||I|| = {p ∈ P|I(p) ≠ 0} is
called the support of I. In general, we use the multi-set nota-
tion
∑
∈pI
Ipp()
to denote the vector I.
A nonempty set S ⊆ P is a siphon if
•
S ⊆ S
•
. A siphon is
minimal if there is no siphon contained in it as a proper
subset. A minimal siphon that does not contain the support of
any P-invariant is called an SMS.
A marking M of N is a mapping from P to N where
N = {0, 1, 2, . . .}. p is marked by M if M(p) > 0. A siphon S
is said to be controlled in a net system (N, M
0
)if∀M ∈ R(N,
M
0
), M(S) > 0. Let N
n
= {1, 2, . . . , n} . A string x
1
, x
2
,...,x
n
is called a path of N if ∀i ∈ N
n−1
,
xx
ii+
∈
1
i
, where x
i
∈ P
∪
T.
A path x
1
, x
2
,...,x
n
is called a circuit if x
1
= x
n
. A node may
appear more than once in a circuit. Two circuits are the same
if the sets of their nodes and arcs are the same, respectively. A
circuit c can determine a unique subnet whose nodes and arcs
are in c. We also call this subnet a circuit for simplicity.
Hence, a circuit is a strongly connected subnet. An elemen-
tary path from x
1
to x
n
is a path whose nodes are all different
(except, perhaps, x
1
and x
n
). A path x
1
, x
2
,...,x
n
is called an
elementary circuit if it is an elementary path and x
1
= x
n
.
2.2 S
3
PR [8,22]
Definition 1. A system of simple sequential process with
resources (S
3
PR) N = (P
A
∪
{P
0
}
∪
P
R
, T, F) is defined as the
191
© 2014 Chinese Automatic Control Society and Wiley Publishing Asia Pty Ltd
S. G. Wang et al.: Design of a Maximally Permissive Liveness-Enforcing Supervisor