On the deadlock control in parallel resource-constrained workflows
Vladimir A. Bashkin and Nadezhda Yu. Panfilova Yaroslavl State University Yaroslavl, Russia 150000 Email: [email protected] [email protected]
Abstract—We study the verification of the soundness property for workflow nets extended with resources. A workflow is sound if it terminates properly (no deadlocks and livelocks are possible). A class of resource-constrained workflow nets (RCWF-nets) is considered, where resources can be used by a process instance, but cannot be created or spent.
Two sound RCWF-net, using the same set of resources, can be put in parallel. This parallel composition in some cases may produce additional deadlocks. A problem of deadlock avoidance in parallel workflows is studied, some methods of deadlock search and control are presented.
Keywords—Petri net, workflow, soundness, deadlock, RCWF-net, parallel composition
I. INTRODUCTION
Workflow management systems provide the automated support and coordination of business and technological processes to reduce costs and flow times and to increase quality of service and productivity. Workflows orchestrate people, resources, technology and information flow. Workflow nets [1], [2], a particular class of Petri nets, have become one of the standard ways to model and analyze workflow processes.
Workflow net is an abstraction of the workflow that can be used to check the so-called soundness property. This property guarantees the absence of livelocks, deadlocks, and other anomalies that can be detected without domain knowledge. Nowadays there exists a number of soundness notions (see [3] for a survey). Informally, the classical soundness ensures that from any reachable state the system may terminate properly.
A workflow consists of a set of coordinated tasks describing the flow of work within the organization. In real world the occurrence of those tasks may depend on resources, such as machines, manpower, and raw material. To take resources into account different extensions of a base formalism of WF-nets have been introduced, coursing different versions of soundness.
In [4], [5] a specific class of WFR-nets with decidable soundness was studied. In [10], [12] a more general class of Resource-Constrained Workflow Nets (RCWF-nets) was defined. Informally, the authors impose two constraints on resources. First, they require that all resources that are initially available are available again after terminating of all cases. Second, they also require that for any reachable marking, the
This work is licensed under the Creative Commons Attribution License
number of available resources does not override the number of initially available resources.
In [6], [7] a more general case of arbitrary resource transformations was studied.
In [10] it was proven that for RCWF-nets with a single resource type generalized soundness can be effectively checked in polynomial time. In [12] it was proven that generalized soundness is decidable in RCWF-nets with an arbitrary number of resource places (by reducing to the home-space problem).
Although soundness is decidable, there is so far no efficient decision algorithm because the proposed algorithm decides a home-space property, which requires a finite but (in general) too high number of reachability checks [12]. In addition, the problem of the calculation of the smallest number of resources for which soundness can be proved, remains open.
In this paper we consider a compositional approach to this problem. We investigate possible ways of minimal resource partitioning in control-independent and resource-dependent parallel branches of a workflow. We define a natural notion of parallel composition of two RCWF-nets, sharing common resource places. Parallelism may introduce additional deadlocks here, but we prove that these deadlocks (and other soundness violations) are avoidable by an enlargement of the initial resource. We present an approach, that allows to compute a nontrivial subset of minimal sound resources of a decomposable RCWF-net.
The main result of the paper is a method of deadlock avoidance for parallel workflows. We show that under certain circumstances a composite workflow can be restructured in such a way that the resulting net would require not a sum but a union of minimal sound resources of its parallel subnets. This allows to save a significant part of resources without any violation of the soundness property.
The paper is organized as follows. In Section 2 basic definitions of multisets and Petri nets are given. In Section 3 resource-constrained workflow nets and their soundness properties are formally defined. In Section 4 we study reachability properties of sound RCWF-nets. In Section 5 a notion of parallel composition of RCWF-nets is introduced. Several result are formulated, describing how minimal resources of a composite workflow can be obtained from minimal resources
of its parallel subnets. In Section 6 deadlock/livelock avoidance methods are presented. The first one can be applied for any pair of sound workflows, but requires specific run-time control, not incorporated into the net itself. The second one uses the original Petri net structure, but is applicable to the safe nets only. Section 7 contains some conclusions.
II. Preliminaries
Let S be a finite set. A multiset m over a set S is a mapping m : S 4 Nat, where Nat is the set of natural numbers (including zero).
For two multisets m, m' we write m C m' iff Vs G S : m(s) < m'(s) (the inclusion relation). The sum and the union of two multisets m and m' are defined as usual: Vs G S :
m + m'(s) = m(s) + m'(s), mUm'(s) = max(m(s), m'(s)). By M(S) we denote the set of all finite multisets over S.
Let P and T be disjoint sets of places and transitions and let F : (P x T) U (T x P) 4 Nat. Then N = (P, T, F) is a Petri net. A marking in a Petri net is a function M : P 4 Nat, mapping each place to some natural number (possibly zero). Thus a marking may be considered as a multiset over the set of places. Pictorially, P-elements are represented by circles, T-elements by boxes, and the flow relation F by arcs. Places may carry tokens represented by filled circles.
For a transition t G T the preset *t and the postset t* are defined as the multisets over P such that *t(p) = F(p, t) and t*(p) = F(t,p) for each p g P. Similarly, for a place p G P we define *p and p* as the multisets over T such that
*p(t) = F(t,p) and p*(t) = F(p, t) for each t g T.
A transition t G T is enabled in a marking M iff Vp G PM (p) > F (p, t). An enabled transition t may fire yielding a new marking M' =def M — *t +1*, i. e. M'(p) = M(p) — F(p, t) + F(t,p) for each p g P (denoted M -4 M', or just M 4 M'). We say that M' is reachable from M iff there is a sequence M = Mi 4 M2 4 • • • 4 Mn = M'. For a Petri net N by R(N, M0) we denote the set of all markings reachable from its initial marking M0.
A net (N, M0) is bounded iff R(N, M0) is finite.
A net (N, M0) is safe iff VM G R(N, M0),p G P we have M (p) < 1. Places in safe nets can be considered as boolean variables (no tokens - false, 1 token - true).
III. RCWF-nets
A resource-constrained workflow net (RCWF-net for short) is a tuple N = (Pc, Pr, T, Fc, Fr, i, o) s.t.
• Pc is a finite set of control places;
• Pr is a finite set of resource places, Pc n Pr = 0;
• T is a finite set of transitions, Pc n T = Pr n T = 0;
• Fc : (Pc x T) U (T x Pc) 4 Nat is a multiset of
control arcs;
• Fr : (Pr x T) U (T x Pr) 4 Nat is a multiset of resource arcs;
• Vt G T 3p G Pc : Fc(p, t) + Fc(t,p) > 0 (each transition is incident to some control place);
r2
Fig. 1. RCWF-net
• i G Pc is a source place and o g Pc is a sink place (input and output), such that *i = o* = 0;
• every node from Pc U T is on a path from i to o, and this path consists of nodes from Pc U T.
In RCWF-nets Petri net places are divided into control and resource ones. Note that all transitions are necessarily linked to control places — this guarantees the absence of “uncontrolled” resource modifications.
A marking is also divided into control and resource parts. For a multiset c + r, where c G M(Pc) and r G M(Pr), we write c|r.
For a net N a resource is a multiset over Pr. A controlled resource (a state) is a multiset over Pc U Pr.
Fig. 1 represents an example of a RCWF-net, where resource places ri and r2 are depicted by ovals, resource arcs — by dotted arrows.
Every RCWF-net N = (Pc, Pr, T, Fc, Fr, i, o) contains its control subnet Nc = (Pc, T, Fc, i, o), which forms a RCWF-net with the empty set of resources.
A marked net (N, i|r) is a net N together with some initial marking i|r (here i denote a multiset, containing a single token in the input place i).
Let N be an RCWF-net. N is (r)-sound for some resource
r G M(Pr) iff Vc|r' G R(N, i|r) we have:
1) r' < r;
2) o|r G R(N, c|r').
N is sound iff there exists some resource r G M(Pr) such that N is (r')-sound for any r' > r.
For example, the net on Fig. 1 is sound, (r1 + r2)-sound and not (r1)-sound.
Thus soundness for an RCWF-net means, that, first, this workflow net can terminate properly from any reachable state,
and, moreover, adding any extra resource does not violate the proper termination property.
In [12] it was proven that the soundness problem is decidable even in a more general case of multiple input tokens.
Definition 1: For a sound RCWF-net N by res(N) and mres(N) we denote the sets of sound and minimal sound resources:
• res(N) =def {r G M(Pr) | N is (r + r') — sound for any r' g M(Pr)};
• mres(N) =def {r G res(N) | ,3r' G res(N) : r‘ < r}.
Obviously, mres(N) is finite.
For example, for the net on Fig. 1 we have mres(N) = {ri + r2}.
As it was stated in [12], the problem of finding mres(N) is still open. In this paper we introduce and evaluate a promising approach to this problem, based on the parallel composition/decomposition of RCWF-nets.
IV. Properties of sound resources
The next statement formally defines a well-known “proper completion” property of sound workflows:
Fact 1: For any (r)-sound net N
c|r G R(N, i|r) ^ c = o V c n o = 0.
Proof: Assume the converse: o + m|r G R(N, i|r) for some non-empty m.
From the second requirement of soundness we have o|r G R(N, o + m|r). However, since the place o doesn’t have outgoing arcs, we have 0|r G R(N, m|r). But every transition in N has at least one output control place, thus m = 0 — a contradiction. ■
Another established fact is the soundness and boundedness of the control subnet:
Fact 2: For any sound RCWF-net N =
(Pc,Pr, T, Fc,Fr,i,o) and its control subnet
Nc = (Pc, T, Fc, i, o) (that may be considered as an
RCWF-net with an empty set of resources) we have:
1) Nc is (0)-sound;
2) (Nc,i|0) is bounded;
3) if c|0, c + c'|0 G R(N, i|r) then c' = 0.
Proof: (1) Assume the converse: Nc is not (0)-sound. Since Nc contains no resource places, only the second part of the soundness definition is violated:
3c|0GR(Nc,i|0) : o|0 GR(Nc,c|0).
Denote the corresponding transition sequence by a (so we have
i|0 4 c|0).
Now consider N. Obviously, there exists some large initial resource r s.t. c|r' G R(N, i|c) for some r' — it is sufficient to sum all resources, required by transitions of a.
On the other hand, no resource x would be enough to reach the final state o|y from c|x (for any y), since it is unreachable even in the “resource-free” control subnet Nc. Hence N is not sound.
(2) Otherwise an infinite run is possible in (Nc,i|0), containing an infinite number of different markings, and hence a pair of markings c1 < c2 with i 4 c1 4 c2 4 .... From the soundness of Nc we have c1 4 o for some sequence of transitions a G T*. But from c1 < c2 the same sequence is possible in c2 : c2 4 o + (c2 — c1) — a contradiction to the proper completion property.
(3) Assume the converse. From the soundness property we have two transition sequences: i|0 4 c|0 4 o|0 and i|0 4
c + c'|0 4 o|0.
From the first sequence and the monotonicity of Petri nets we have i + c'|0 4 c + c'|0 4 o + c'|0. Combining with the second sequence, we obtain i|0 4 c + c'|0 4 o + c'|0 — a contradiction to the soundness property. ■
Every reachable c G M(Pr) (a control state of a control subnet Nc) corresponds to a single reachable resource value:
Lemma 1: If N is sound, r G res(N) and c|r1,c|r2 G R(N, i|r), then r1 = r2.
Proof: Assume the converse: let r1 = r2.
Consider some r' = r1 + ^1 = r2 + £2. From r1 = r2 we have ^ = 0 or £2 = 0 or both. Additionally, ^ = £2.
We have i|r 4 c|r1 4 o|r and hence (from the monotonicity of Petri nets) i|r + ^1 4 c|r1 + ^1 4 o|r + J1. Similarly, i|r + £2 4 c|r2 + £2 4 o|r+£2. But r1 + ^1 = r' = r2 + £2 and hence we have i|r + ^1 4 c|r' 4 o|r + £2. From the (r + £1)-soundness property it should be ^1 = £2 — a contradiction.
■
Note that we cannot replace in the statement of Lemma 1 “r G res(N)” by “N is (r)-sound”, because an (r)-sound net is not necessarily (r + £)-sound.
For (r)-soundness we have a weaker property:
Lemma 2: If N is (r)-sound and c|r1,c|r2 G R(N, i|r), then
r1 < r2 and r1 > r2 .
Proof: Similar to the previous Lemma. Assume the converse: r1 < r2 and hence r2 = r1 + ^1 with ^1 = 0.
We have i|r 4 c|r1 4 o|r and i|r 4 c|r2 = c|r1 + ^1 4 o|r, and so c|r1 + ^1 4 o|r + ^1 — a contradiction to the (r)-soundness. ■
Since any set of incomparable vectors over Nat1 Pr 1 is finite, we have an obvious
Corollary 1: If N is (r)-sound then R(N, i|r) is finite.
A particular consequence of Lemma 1 is an inability of a cycle to modify a resource:
Proposition 1: If N is sound, r G res(N), c|r1 G R(N, i|r) and c|r2 G R(N, c|r1), then r1 = r2.
Proof: Immediately from Lemma 1. ■
Moreover, a sound net can perform only fixed resource transformations:
Proposition 2: If N is sound, r G res(N), c|r' G R(N, i|r) and u G M(Pr), then for any c|v G R(N, i|r + u) we have v = r' + u.
Proof: Assume the converse. Hence c|v, c|r' + u G R(N, i|r + u) with v = r' + u — a contradiction to Lemma 1.
V. Compositions of RCWF-nets
Nets with the same sets of resource places can be composed in parallel:
Definition 2: Let Ni and N2 be RCWF-nets with
• Ni = ((Pc)i,Pr,Ti, (Fc)i, (Fr)i,ii,oi) and
• N2 = ((Pc)2,Pr,T2, (Fc)2, (Fr)2,i2,02).
A parallel composition of Ni and N2 (denoted by N = Ni||N2) is an RCWF-net N = (Pc, Pr, T, Fc, Fr, i, o) with
• Pc =def (Pc)i U (Pc)2 U{i,o},
• T =def Ti u T2 u{tj,tG},
• Fc =def (Fc)i U (Fc)2 u
{(^ (ti, ^ ^ (ti, 22 ^ (to, o), (o^ (o2,to )},
• Fr =def (Fr)i U (Fr)2 .
We put two workflows in parallel, adding common source and sink places.
Examples of simple RCWF-nets compositions are given on Fig. 2. In the case Fig. 2.(a) both subnets has the same minimal sound resource r, and the composition is also sound with this resource. The case Fig. 2(b) is quite different. Note that ri + r2 is a minimal sound resource for both subnets, but the composition is not (ri + r2)-sound because of a deadlock pi + p2|0, reachable from i|ri + r2. Any larger resource is sound.
soundness of a resource for a subnet does not necessarily imply it’s soundness for a composition (as one would expect, taking into account the conservativeness of resource transformations in an RCWF-net). A parallelism may introduce additional deadlocks. However, a simple kind of additive closure exists:
Theorem 1: If Ni and N2 are sound then Ni|N2 is sound and, moreover:
1) ri G res(Ni),r2 G res(N2) ^ ri + r2 G
res(Ni||N2);
2) r G res(Ni|N2) ^ 3ri G res(Ni) : r < ri;
3) r G mres(Ni|N2) ^ 3ri G res(Ni) : r < ri.
Proof: The soundness itself and the first statement follows from Proposition 2. Note that subnets Ni and N2 here work independently, without interferencing into each other’s “part” of the common resource.
To prove the second statement we can take ri = r: since a resource is sound for a parallel composition, it properly
pi
P2
Pi
P2
a) sound composition Fig. 2. Two examples of RCWF-nets compositions
b) possible deadlock
supports system runs of the form i|r 4 ii+i2|r 4 oi +i2|r 4 Oi + 02 |r.
The third statement is a trivial consequence of the second one. ■
The first statement of Theorem 1 implies that
Corollary 2: If Ni and N2 are sound and ri G mres(Ni),r2 G mres(N2), then there exists r G mres(Ni|N2) such that r < ri + r2.
so, to find some minimal resource r one may search through a finite number of resources, less then or equal to ri + r2. For every candidate r' < ri + r2 the set R(N, i|r') is finite (Corollary 1) and can be constructed by a finite number of steps.
Note that we have not proven that this method of minimal sound resources computation allows to compute ALL elements of mres(Ni|N2) (however, we believe it does). Nevertheless, the computed subset is always nonempty and nontrivial.
so, a problem of mres( N) calculation can be partially reduced to the same problem for subnets, composed in parallel. In most cases the process of decompositions ends with a purely sequentional workflows, which may have a very simple set of sound (and minimal sound) resources.
VI. Soundness ensuring
In this section we consider a resource r, sound for both subnets but not sound for a parallel composition (like ri + r2 in Fig. 2(b)). Note that such a resource always enables
a non-empty set of “good” runs (at least two: i|г 4 i1 + i2|г 4 o1 + і2|г 4 o1 + о2|г and і|г 4 i1 + і2|г 4 i1 + о2|г 4 o1 + о2|г). Hence a resource is not worthless and it would be interesting to develop some control policies or system transformations, preserving all “good” runs and disabling all “bad” ones (without increasing the initial resource).
So we consider both kinds of possible undesirable (not properly terminating) behaviors of a Petri net, namely, deadlocks and livelocks.
A reachable marking с|г is a deadlock state iff c = o and there is no transition t є T s.t. с|г 4 с'|г' for some c', г'.
A finite set L of reachable markings is a livelock iff
1) |L| > 1;
2) for any ф, c'^' є L there is a finite transition
sequence а є T* s.t. ф 4 c'^';
3) for any c|t є L and t є T s.t. ф 4 c''|г'' we have
c'' |г'' є L.
A livelock state is a state that belongs to some livelock.
Note that by definition o| г є L for any г.
By D(N, і|г) we denote a set of all deadlock and livelock states of a marked RCWF-net (N, і|г).
Theorem 2: If N = N1^N2 and г є res(N1) П res(N2) then (N, і|г) is bounded (i.e. R(N, і|г) is finite).
Proof: From the second statement of Fact 2 the sets of control markings are finite for both N1 and N2 . Obviously, the set of reachable control markings of N is a subset of a product of these two finite sets, hence it is also finite.
Now consider markings from R(N, і|г). Assume the converse — this set is infinite. Hence from the boundedness of the control subnet there exists some control cycle, strictly increasing the resource: і|г 4 c1 + c2|T 4 c1 + c2|T + г'' with ci eM((Pc)l),c2 є M((Pc)2),а є T* and г'' = 0.
Recall that T = T1UT2 and denote by а1 and а2 the largest subsequences of а s.t. а1 є (Tl)* and а2 є (T2)*. Obviously, а1 and а2 are control cycles in N1 and N2 respectively.
From Proposition І neither а1 nor а2 can change the resource, hence their composition also cannot do this — a contradiction. ■
Since D(N, і|г) С R(N, і|г) we have:
Corollary 3: If N = N1 ||N2 and г є res(N1) П res(N2) then D(N, і|г) is finite.
So the set of deadlocks and livelocks is computable by a simple reachability set construction and search. A naive deadlock control policy would be to compute a set of all deadlocks/livelocks and all their predecessing states and to control them in run-time, not allowing a system to make the wrong “last step”.
A. Safe nets
A rather interesting case are safe workflows, i.e. RCWF-nets with safe control subnets (where none of the control places can accumulate more than one token). This is not a strong
restriction, because every bounded net is weakly bisimilar to some safe net. Note that the net in Fig. 2(b) is safe and still has a deadlock.
A safe RCWF-net has only ordinary control arcs: Fc(x, y) < 1 for any x and y.
We can apply a transformation, eliminating all deadlocks/livelocks in a safe net:
Definition 3: Let N1 and N2 be sound safe RCWF-nets
with the same set Pr of resource places, and let г є M(Pr)
be a resource s.t. г є res(N1) and г є res(N2).
Let N = N1|N2 = (Pc,Pr, T, Fc,Fr, i, o) be a not-^)-
sound parallel composition of N1 and N2.
By Dc(N, i|г) we denote the set of all different control parts of elements of D(N, i|г), and let Z = |Dc(N, i|г)| (obviously, we have Z > 0). And Dr (N, i|г) we denote the set of critical resources, i.e. all resource places, which do not contain any tokens for each state of D(N, i|г),
A net (Na, i|г + v), where Na = (Pc, Pr U V, T, Fc, Fr U Fin U Fout, i, o), is called a controlled system of (N, i|г) iff
• V = {vk |k є 1,Z} is a set of additional “holding” places, with their number equal to the number of possible control deadlocks/livelocks in the net N;
• Fin are input holding arcs such that Fin =
{(t,vk) | Fc(t,p) = 1 for some p є dk, where
is a element of Dr (N, і|г)};
• Fout are output holding arcs such that Fout =
{(vk,t) | Fc(p,t) = 1 for some p є dk, where
is a element of Dr (N, і|г)};
• v = (|dl| - 1)vl + (|d21 - 1)v2 + ... + (|dz| - 1)vz,
where is a element of Dc(N, i|г).
Main idea to start with is that we have to avoid the consequent triggering of transitions leading to deadlock/livelock places. Thus for every element of D(N, i|г) we include into the net a holding (restraining) place which resource will allow triggering of transitions leading to just one control place among them. Note that the holder should not prevent triggering transitions not consuming critical resources (since making it empty does not cause deadlock). Resource should be put back to holding place right after token leaves deadlock place. Implementation of this idea based on the net from Fig. 2 is shown on Fig. З.
Note that the initial resource (г + v) is actually not an increased original initial resource г, since v is built over the new (additional) set of resource places.
Theorem 3: Let N1 and N2 be sound safe RCWF-nets with the same set Pr of resource places, and let г є M(Pr) be a resource s.t. г є res(N1) and г є res(N2).
Let N = N1|N2 = (Pc,Pr, T, Fc,Fr, i, o) be a not-^)-sound parallel composition of N1 and N2.
Let net (Na, i|г+v) be the controlled system of the marked
net (N, і|г). Then (Na, i|г + v) is (г + v)-sound.
Proof: Obviously, none of the original deadlocks/livelocks is reachable (by construction).
Fig. 3. Examples of RCWF-nets compositions with deadlock control
Now we need to prove that no new deadlocks/livelocks are introduced.
Consider some deadlock/livelock c1 + c2|t of the original net. From the third statement of Fact 2 and the safety property none of the control states of N1, except c1 can have the same or larger total number of tokens in all places of c1 (similarly for the net N2 and places of c2). Hence |c1 +c2|-1 = |c1| + |c2|-1 tokens is enough for all control states except this particular deadlock/livelock — hence the corresponding holding place would not introduce any undesirable restriction. ■
VII. CONCLUSION
We presented two methods of deadlock/livelock avoidance for a restricted resource. The first one can be applied for any pair of sound workflows, but requires specific run-time control, not incorporated into the net itself. The second one uses the original Petri net structure, but is applicable to the safe nets only. The proposed technique is similar to a technique, studied in the area of Flexible Manufacturing Systems (see [9] for a classical result). However, the key difference is the possibility of parallel behaviours in subnets (in FMS each subnet is a simple sequential automaton).
Further research will consider the application of holding places techique to the general case of RCWF-nets. As it can be seen from some preliminary counterexamples, the method would possibly require some additional modifications.
The problem of exact mres(N) calculation is still open but it will be studied in the further research. We believe
that our approach can be applied here, at least for large nontrivial subclasses of RCWF-nets. For example, we plan to study structured workflows [2], [8], that can be obtained from primitives by a set of algebraic operations, such as parallel and sequential compositions. Another interesting method of sound resource compositions was presented in [11] — based on algebraic expressions over multisets.
Our method is not implemented in applications. However, we believe it can be used as a verification and/or optimization tool in workflow management systems. Basically, it may enable the elimination of specific deadlocks and livelocks, induced by incorrect (unverified) parallel composition of submodules.
References
[1] W.M.P. van der Aalst. The Application of Petri Nets to Workflow Management. The Journal of Circuits, Systems and Computers, 8(1):21— 66, 1998.
[2] W.M.P. van der Aalst, K.M. van Hee. Workflow Management: Models, Methods and Systems, MIT Press, 2002.
[3] W.M.P. van der Aalst, K.M. van Hee, A.H.M. Hofstede, N. Sidorova,
H.M.W. Verbeek, M. Voorhoeve, M.T. Wynn. Soundness of workflow nets: classification, decidability, and analysis, Form. Asp. of Comp., 23(3):333-363, Springer, 2011.
[4] K. Barkaoui, L. Petrucci. Structural Analysis of Workflow Nets with Shared Resources. In Proc. Workflow Management: Net-based Concepts, Models, Techniques and Tools (WFM98), volume 98/7 of Computing Science Reports, pages 82-95, Eidhoven University of Technology, 1998.
[5] K. Barkaoui, R. Ben Ayed, Z. Sbai'. Workflow Soundness Verification based on Structure Theory of Petri Nets. International Journal of Computing and Information Sciences, Vol. 5, No. 1, 2007. P.51-61.
[6] V. A. Bashkin, I. A. Lomazova. Resource equivalence in workflow nets. In Proc. Concurrency, Specification and Programming, 2006, volume
I, pages 80-91. Berlin, Humboldt Universitat zu Berlin, 2006.
[7] V.A. Bashkin, I.A. Lomazova. Soundness of Workflow Nets with an Unbounded Resource is Decidable Joint Proc. of Petri Nets and Software Engineering (PNSE'13) and Modeling and Business Environments (ModBE'13). Milano, 2013. Vol. 989 of CEUR. 2013. P. 61-75.
[8] P. Chrzastowski-Wachtel. Sound Markings in Structured Nets. In Proc. Concurrency, Specification and Programming, 2005, pages 71-85. Warsaw, Warsaw University, 2005.
[9] J. Ezpeleta, J.-M. Colom, J. Martinez. A Petri Net Based Deadlock Prevention Policy for Flexible Manufacturing Systems. IEEE Transactions on Robotics and Automation, 11(2), 1995. P.173—184.
[10] K. van Hee, A. Serebrenik, N. Sidorova, M. Voorhoeve. Soundness of Resource-Constrained Workflow Nets. In Proc. ICATPN 2005, volume 3536 of Lecture Notes in Computer Science, pages 250-267. Springer, 2005.
[11] I.A. Lomazova, I.V. Romanov. Analyzing Compatibility of Services via Resource Conformance. Fundamenta Informaticae, Vol. 128, No. 1-2, 2013. P.129-141.
[12] N. Sidorova, C. Stahl. Soundness for resource-contrained workflow nets is decidable. IEEE Transactions on Systems, Man, and Cybernetics: Systems, 43(3), 2013. P.724-729.