Recent Advances on Modeling, Control, and Optimization for Complex Engineering Systems
View this Special IssueResearch Article  Open Access
Guanjun Liu, Lijing Chen, "Sufficient and Necessary Condition to Decide Compatibility for a Class of Interorganizational Workflow Nets", Mathematical Problems in Engineering, vol. 2015, Article ID 392945, 11 pages, 2015. https://doi.org/10.1155/2015/392945
Sufficient and Necessary Condition to Decide Compatibility for a Class of Interorganizational Workflow Nets
Abstract
Interorganizational Workflow nets (IWFnets) can well model many concurrent systems such as web service composition, in which multiple processes interact via sending/receiving messages. Compatibility of IWFnets is a crucial criterion for the correctness of these systems. It guarantees that a system has no deadlock, livelock, or dead tasks. In our previous work we proved that the compatibility problem is PSPACEcomplete for safe IWFnets. This paper defines a subclass of IWFnets that can model many cases about interactions. Necessary and sufficient condition is presented to decide their compatibility, and it depends on the net structures only. Finally, an algorithm is developed based on the condition.
1. Introduction
Petri nets are widely used to model concurrent/distributed systems due to both the intuitive descriptions for these systems and the diversified analysis methods. Researchers usually define different Petri net classes for different systems with different features.
For example, in flexible manufacturing systems [1ā7], every product corresponds to one or several manufacturing processes. Every process uses a group of resources (like machines or robots) by a fixed order. These processes are not required to interact or collaborate with each other but have to share common resources. S^{3}PRs [8ā10] are famous in modeling these systems. Particularly, researchers utilize structures of Petri nets, such as siphons, resourcetransition circuits, and structurally circular waits, to decide liveness or deal with deadlock for these systems [11ā14].
Another important application of Petri nets is to model and analyze such concurrent systems as web services, in which multiple parallel processes interact/collaborate via sending/receiving messages. Interorganizational workflow nets (IWFnets for short) [15ā19] are famous in these Petri net classes to model these concurrent systems. They can well characterize the system features, especially on synchronous and/or asynchronous communication. This paper focuses on IWFnets.
Compatibility [20, 21] is a crucial property of IWFnets. It implies that the target state can always be reached, no deadlock or livelock takes place, and each event/activity has a (potential) right to execute. If the target state is not reached for a given run, the designed system possibly have problems (e.g., deadlocks). If an event/activity of the designed system is not triggered for any run, then the event/activity should not have been defined. Notice that Section 2 will show that compatibility of IWFnets is identical with soundness of workflow nets (WFnets) [22] since an IWFnet can be translated into an equivalent WFnet. IWFnets mainly focus on interactions/collaborations among different processes. In the next text, terminologies of soundness and compatibility are used without distinction.
van der Aalst et al. have proven that the soundness problem is decidable for general WFnets [17, 22, 23]. It was also proven that the soundness problem is PSPACEcomplete for bounded WFnets [24]. Fortunately, van der Aalst et al. [22, 25] gave a polynomialtime algorithm to solve the soundness problem for freechoice WFnets (FCWFnets for short), which is based on the rank theory proposed for wellformed freechoice nets by Desel and Esparza [26]. FCWFnets can well model the structures of business processes such as ANDsplit, ANDjoin, ORsplit, and ORjoin [22, 25, 27]. However, some concurrent systems like web services composite have to consider the interaction among different components/processes [15, 20, 21, 28ā30], which makes the related models more and more complex so that FCWFnets cannot model them in many cases. So far, only van der Aalst proposed netstructurebased conditions to decide soundness for a few subclasses of WFnets such as freechoice ones and wellstructured ones [25]. There is not too much work on the soundness decision for IWFnets, especially on the basis of the net structures.
Additionally, many design patterns were proposed in order to standardize the system design and reduce the occurrence of some bad things (e.g., deadlocks) [16, 31]. For example, van der Aalst et al. defined some service interaction patterns that should be observed when a complex service is composed of some simpler services [16]. They also proposed some antipatterns that should be avoided because these patterns possibly introduce some errors like deadlock [16]. These patterns can reduce but hardly eradicate these bad things. In general, one still needs to verify soundness after a WFnet is built by observing these patterns.
Therefore, how to decide compatibility for IWFnets is interesting and important.
This paper defines a subclass of IWFnets called SIWFnets. A necessary and sufficient condition is proposed to decide compatibility. The condition is based on the net structures only. Furthermore, an algorithm is developed on the basis of this condition. SIWFnets can model many cases of interactions. To the best of our knowledge, it is the first time to propose a netstructurebased condition to solve the compatibility problem for IWFnets. Therefore, the method proposed in this paper opens up a new way to explore the netstructurebased conditions of deciding the compatibility for more complex subclasses of IWFnets.
The remainder of this paper is organized as follows. Section 2 reviews some notions and notations. Section 3 defines SIWFnets. Section 4 proposes a netstructurebased condition to decide compatibility, and Section 5 develops a decision algorithm. Section 6 concludes this paper.
2. Basic Notions
For readability, in this section Petri nets and WFnets are recalled that are from [22, 32, 33].
2.1. Petri Nets
First, let be the set of nonnegative integers. Given and , denote by the set of integers from 1 to . Denote .
Definition 1 (net). A net is a 3tuple , where is a finite set of places, is a finite set of transitions, is a set of arcs, and .
A net may be seen as a directed bipartite graph. Generally, a transition is represented by a rectangle and a place by a circle in a net graph. A path of a net is a nonempty sequence of nodes such that for all . A path is elementary if and only if for any two nodes and of the path, . A path is a circuit if and only if no node occurs more than once in it and . A net is acyclic if and only if it has no circuits. A net is strongly connected if and only if for any two nodes and there is a path from to .
A transition is called an input transition of a place and is called an output place of a transition if and only if . Input place and output transition can be defined accordingly. Given a net and a node , and are called the preset and postset of , respectively. Two different transitions and are in conflict if and only if .
is a subnet of if and only if , , and . contains if the latter is a subnet of the former.
A marking of is a mapping . A place is marked at if and only if .
Notice that a marking may be viewed as a dimensional nonnegative integer vector in which every element represents the number of tokens in corresponding place at this marking. For example, over represents that , , and have 1, 0, and 6 tokens at , respectively. When the number of places is very large and the distribution of tokens is sparse, the above two kinds of presentation of a marking are relatively complex. For convenience, is denoted as a multiset in this paper. For the above example, it is written as or .
If for all , then is said to be enabled at , which is denoted as . If , then is said to be disabled at , which is denoted by . Firing an enabled transition produces a new marking , which is denoted by , such that if ; if ; and otherwise.
A marking is reachable from a marking if and only if there exists a transition sequence such that . represents that reaches after firing sequence . The set of all markings reachable from in a net is denoted by . Given a transition sequence , is denoted by the multiset of transitions occurring in . For an example of , .
A net with an initial marking is called a Petri net or net system and denoted by .
A Petri net is called kbounded if and only if , for all , for all . A Petri net is bounded if and only if it is kbounded for some integer . A 1bounded Petri net is also called safe. A net is structurally bounded if and only if is bounded for any initial marking .
A transition is said to be dead at a marking if and only if for all .
A transition is said to be live at a marking if and only if for each , is not dead at . A Petri net is live if and only if each transition of it is live at . A net is structurally live if and only if there is an initial marking such that is live.
A net is a marked graph if and only if for all .
A net is a freechoice net if and only if for all , .
2.2. WFNets
Definition 2 (WFnet). A net is a WFnet if (1)has two special places and where is called source place if and is called sink place if ;(2) is strongly connected where .
In Definition 2, is called the trivial extension of .
Definition 3 (soundness of WFnet). Let be a WFnet, , and . is sound if (1)for all ;(2)for all ;(3)for all , .
This definition was given in the early work of van der Aalst [34], and later he showed that the second requirement is implied by the first one [22]. Generally, and are called initial and target markings of a WFnet, respectively. Additionally, a safe (resp., bounded) WFnet means that the WFnet is safe (resp., bounded) at its initial marking. van der Aalst also proved that the soundness of a WFnet is equal to the liveness and boundedness of its trivial extension at the initial marking [25].
A subclass of nets called inteorganizational workflow nets (IWFnets for short) [15] are often used to model the composition of web services, interorganizational business processes, or some other concurrent systems in which multiple processes interact via sending/receiving messages. An IWFnet describes the synchronous and/or asynchronous communication among multiple partners (each partner is modeled by a basic WFnet) [15, 35]. The following definition considers the asynchronous communication only.
Definition 4 (IWFnet). A net is an IWFnet if (1), and are pairwise disjoint WFnets where and these WFnets are called basic;(2) is a finite set of channel places such that for each ;(3) is a set of arcs by which channel places connect with the basic WFnets;(4)for all .
Example 5. Figures 1(a) and 1(b) are two IWFnets whose basic WFnets (see Figures 1(c) and 1(d)) are the same but interactions are different.
(a)
(b)
(c)
(d)
From the fourth item of Definition 4 it is known that each channel place is used only by two fixed basic WFnets. In other words, two different basic WFnets cannot send messages into the same channel place; similarly, two different basic WFnets cannot take messages from the same channel place either. Certainly, two different basic WFnets may use multiple channel places to communicate.
Notice that Definition 1 uses a 3tuple to represent a net while Definition 4 uses an tuple to represent an IWFnet. In fact, if an IWFnet is also represented by a 3tuple , then , , and . For convenience, an IWFnet is represented by a tuple. When no confusion is caused, is used to represent the set of all transitions of an IWFnet; that is, . For all , denote and by the source and sink places of , respectively.
Definition 6 (compatibility of IWFnet). Let be an IWFnet, , and . is compatible if (1)for all ;(2)for all ;(3)for all .
For instance, Figure 1(a) is compatible but Figure 1(b) is not. In fact, if two special places and and two special transitions and are added to an IWFnet such that , then this new net is a WFnet by Definition 2. Particularly, it is easy to prove that the original IWFnet is compatible if and only if the new WFnet is sound. Therefore, an IWFnet may be thought of as a special WFnet and the definitions of compatibility and soundness are equal. In this paper, an IWFnet is sometimes called a WFnet directly.
For convenience, the trivial extension of an IWFnet is that a transition is added to the IWFnet such that the outputs of the transition are exactly all source places and the inputs of the transition are exactly all sink places. and in Definition 6 are called the initial and target markings of , respectively.
If a WFnet is also a freechoice net, then it is called freechoice WFnet (FCWFnet for short).
3. SIWFNets
This section defines a subclass of IWFnets named simple interorganizational workflow nets (SIWFnets for short).
Definition 7 (SIWFnet). is a simple IWFnet (SIWFnet) if (1) is an acyclic IWFnet;(2)for all is a sound FCWFnet;(3)for all .
In fact, Figures 1(a) and 1(b) are two SIWFnets that have the same basic FCWFnets as shown in Figures 1(c) and 1(d).
Obviously, three constraints simplify an IWFnet.
First, it is acyclic. As we all know, if an IWFnet has a siphon that does not contain any source place, then the IWFnet is unsound (because all transitions associated with the siphon are dead at the initial marking) and this siphon must contain a circuit. Therefore, an SIWFnet is required to be acyclic, which guarantees that each siphon includes at least one source place.
Second, each basic WFnet is sound and freechoice. For an IWFnet combined by multiple basic WFnets via a group of channel places, what this paper pays more attention to is the interaction among these basic WFnets. Therefore, we suppose that these basic WFnets are sound. In addition, FCWFnets can not only model many basic structures of workflow, such as ANDsplit, ANDjoin, ORsplit, and ORjoin, but also own a nice property (i.e., their soundness is decidable in polynomial time [25]). Since an SIWFnet is acyclic, each basic FCWFnet of it is also acyclic. Therefore, SIWFnet cannot model an iterative structure.
Finally, Definition 7 considers the most simple case of using a message channel; that is, for a fixed channel place, a message is sent into it by firing a unique transition and the message is taken away from it by firing another unique transition. Certainly, a transition may use multiple channel places.
It is worthy to note that this paper does not require an SIWFnet to observe the patterns proposed in [16] although these patterns can make an SIWFnet much simpler.
Although SIWFnets seem simple, they can model many interaction cases except for iterative structure. Indeed, iterative structure is sometimes frustrating. Some scholars consider limited iterations so that they can be unfolded into iterationfree structures [8]. Therefore, it is valuable to explore efficient decision methods for SIWFnets. Next, a novel one is given.
4. Sufficient and Necessary Condition for Compatibility of SIWFNets
This section gives a netstructurebased condition to decide compatibility for SIWFnets. First, some concepts related to the net structures are defined.
Definition 8 (component of FCWFnet). Let be an acyclic FCWFnet. Denote and by the source and sink places of , respectively. Then is a component of if is a subnet of such that (1); that is, for all , the preset and postset of in are the same as the preset and postset of it in , respectively;(2);(3)for all .
Example 9. Figure 2 shows all components of the two FCWFnets in Figures 1(c) and 1(d).
(a)
(b)
(c)
(d)
(e)
(f)
Notice that because of for all , there always exists a path in from to for any node of . Therefore, if a transition is added to a component such that its input is exactly the sink place and its output is exactly the source place, then a marked graph is produced. This shows that the definition of component coincides with the traditional one in [26]. Therefore, a sound acyclic FCWFnet is covered by components according to the conclusion in [26]. Here, an FCWFnet is covered by components if and only if for each transition there is a component containing it. In addition, a complete transition sequence of a sound acyclic FCWFnet corresponds to a component. Here, a transition sequence is complete if and only if the marking reached from by firing it. van der Aalst proved that a sound FCWFnet is safe [25]. Therefore, each transition of a component occurs once and only once and each place of it is marked once and only once when the corresponding complete transition sequence is fired. Notice that a component may correspond to multiple complete transition sequences due to the parallel structure (see the examples in Figures 2(c)ā2(f)).
Definition 10 (cap of FCWFnet). Let be an acyclic FCWFnet and let be its source place. Then is a cap of if is a subnet of such that (1); that is, for all , the preset and postset of in are the same as the preset and postset of it in , respectively;(2)for all in ;(3)for all , there is a path from to in .
Example 11. Figure 3 shows all caps related to the component in Figure 2(f).
Obviously, each component is a cap that represents some complete transition sequences. The subnet only containing the source place is also viewed as a cap that reflects the empty transition sequence. Next it is shown that for a sound acyclic FCWFnet each cap is a prefix of some component.
Lemma 12. A sound acyclic FCWFnet is covered by components and for each cap there exists a component such that the cap is a subnet of the component.
Proof. Let be a complete transition sequence, that is, . Because the FCWFnet is sound, it is safe for the initial marking (see [25]). Because it is acyclic, each transition in occurs once only. Therefore, the transitions in and their preset and postset directly form a component. Because the FCWFnet is sound, for each transition there exists a complete transition sequence containing it, thereby a component containing it. Therefore, the FCWFnet is covered by components.
For each cap an enabled transition sequence is obtained such that contains all transitions of the cap and each transition of the cap occurs in once and only once. Because the acyclic FCWFnet is sound and safe, there exists a complete transition sequence such that is a prefix of . Therefore, the cap is a subnet of the component that corresponds to .
In fact, an acyclic FCWFnet is also sound if it is covered by components and for each cap there exists a component containing it. Because this conclusion is not used in the proofs of other conclusions and only Lemma 12 is used, the related proof is not described any more, which is very similar to the proof of the sufficiency of Theorem 20. This paper only gives the following conclusion that may be seen as a special case of Theorem 20.
Theorem 13. An acyclic FCWFnet is sound if and only if (1)it is covered by components;(2)for each cap there exists a component such that the cap is a subnet of the component.
Definition 14 (component of SIWFnet). Let be an SIWFnet. Then is a component of if (1)for all , is a component of and is called basic;(2) where and represent the preset and postset of in , respectively;(3);(4)for all in .
Example 15. The SIWFnet in Figure 1(a) has two and only two components as shown in Figures 4(a) and 4(b). The SIWFnet in Figure 1(b) also has two and only two components as shown in Figures 4(c) and 4(d).
(a)
(b)
(c)
(d)
A component of an SIWFnet includes one and only one component of each basic FCWFnet. Additionally, all channel places connected to those basic components are also in the component of the SIWFnet and must satisfy the closure property (i.e., if the input transition of a channel place is in this component, then its output transition must also be in this component, and vice versa). From the above examples it can be seen that not every basic component is contained in a component of the SIWFnet. That is to say, some behaviors of some basic WFnets are inhibited. For an example of the SIWFnet in Figure 1(a), there are no components containing the basic component in Figure 2(c).
If a transition is added to a component of an SIWFnet such that its inputs are exactly all sink places and its outputs are exactly all source places, then the new net is a marked graph. This marked graph is strongly connected and each circuit contains a source place. Therefore, this marked graph is live and safe at the initial marking (see [33]). Therefore, a component of an SIWFnet corresponds to some complete transition sequence, and any complete transition sequence (i.e., it results in the target marking ) corresponds to a component. However, an incompatible SIWFnet must include some incomplete transitions sequences (i.e., they do not lead to ). Therefore, the following structure is used to reflect all enabled transition sequences.
Definition 16 (cap of SIWFnet). Let be an SIWFnet. Then is a cap of if (1)for all , is cap of ;(2) where and represent the preset and postset of in , respectively;(3);(4)for all in .
Example 17. Figure 5(a) is a cap of the SIWFnet in Figure 1(b), which is a subnet of the component in Figure 4(c). Although Figure 5(b) is also a cap of the SIWFnet in Figure 1(b), there are no components containing it. Figure 5(c) is not a cap of the SIWFnet in Figure 1(b) because the input transition of the channel place is not in the subnet; that is, it does not fulfill the fourth condition in Definition 16. Figure 5(d) is not a cap of the SIWFnet in Figure 1(b) because , as the output of and the input of , is not in the subnet; that is, it does not satisfy the second condition of Definition 16.
(a)
(b)
(c)
(d)
Notice that each component of an SIWFnet is also a cap of the SIWFnet and each cap of an SIWFnet contains one and only one cap of each basic FCWFnet.
Lemma 18. Let be an SIWFnet. (1)For each enabled transition sequence in āā(i.e., ), there is a cap of such that the cap is a subnet produced by the transitions in as well as their pre and postsets.(2)For each cap of , there exists an enabled transition sequence in such that each transition in occurs once and only once in and the transitions in are just those in .
Proof. (1) Because is an enabled transition sequence in , is also an enabled transition sequence in for each where is the projection of over the transitions of . By the proof of Lemma 12 it is known that there is a cap of corresponding to . Because each transition in is fired, each channel place, which is an input of , must be an output of some transition where is fired earlier than in . Therefore, the transitions of and their preset and postset can form a subnet of and this subnet satisfies the conditions in Definition 16.
(2) Because the cap is acyclic and each place that has no inputs (i.e., the source places) is marked, there are enabled transitions in . One of these enabled transitions is selected to fire and then delete this fired transition as well as its input places. Then, the new Petri net is also acyclic and each place that has no inputs is also marked. By doing the above operations until the net has no transitions, a transition sequence is obtained that satisfies the conditions of the lemma.
Definition 19 (covered). An SIWFnet is covered by components if for each transition of it there is a component of it containing the transition.
Theorem 20. An SIWFnet is compatible if and only if (1)it is covered by components;(2)for each cap there exists a component such that the cap is a subnet of the component.
Proof. () Let be a complete transition sequence, that is, . Then, for all , is a complete transition sequence of where is the projection of over the transitions of . By Lemma 12 it is known that corresponds to a component of . Additionally, all channel places have no tokens after firing because is compatible. Therefore, a channel place as an output of must be an input of , and vice versa. Therefore, all transitions of and their preset and postset form a component of by Definition 14. Because is sound, for each transition there is a complete transition sequence containing it, thereby a component containing it. Therefore, is covered by components.
By the second conclusion in Lemma 18 it is known that, for each cap of , there exists an enabled transition sequence in such that the transitions in are exactly those in . Because is compatible, there is a complete transition sequence such that is a prefix of . By the first conclusion in Lemma 18 we can construct a cap for . Obviously, is a subnet of and is a component.
() (by contradiction) It is assumed that is incompatible. Then, by Definition 6 we know that one of the following three cases must take place: Caseāā(1) , for all ; or Caseāā(2) there is a marking that marks not only all sink places but also some channel places; or Caseāā(3) there is marking that does not mark all sink places but all transitions are dead.
Caseāā1 does not hold: because is covered by components, for each transition there is a component containing it. By Lemma 18 it is known that for each component there is an enabled transition sequence that contains all transitions of the component. Therefore, for all , .
Caseāā2 does not hold either: let enabled transition sequence lead to a marking that marks all sink places as well as some channel places. By the first conclusion in Lemma 18 it is known that there is a cap corresponding to . Because each sink place is marked after firing , contains one component of each basic FCWFnet and these marked channel places have no outputs in . By the given condition it is known that for there must exist a component of such that is a subnet of the component. To produce such a component , we must add some components of some basic FCWFnets into in order to make those marked channel places have output, which makes the required ācomponentā containing multiple basic components that are from the same basic FCWFnet. This does not satisfy the requirements of the definition of component; that is, a component of an SIWFnet contains one and only one basic component of each basic FCWFnet (see Definition 14).
Caseāā3 holds neither: let be an enabled transition sequence leading to a marking at which some sink places are not marked but all transitions have been dead. Similar to the analysis of Caseāā2, it is known that, for the cap related to , there are no components containing it. If there is a component containing the cap, then there must exist an enabled transition sequence such that corresponds to the component and is a prefix of . This contradicts that all transitions are dead after firing .
Example 21. Figure 1(a) is compatible. It is easy to verify that it is covered by components (see Figures 4(a) and 4(b)) and each cap is contained in a component.
Example 22. Figure 1(b) is incompatible. Although it is covered by components (see Figures 4(c) and 4(d)), there is a cap (e.g., the cap in Figure 5(b)) such that any component does not contain it. This example corresponds to Caseāā3 in the proof of āā of Theorem 20. The example in Figure 6(a) shows Case 2 in the proof of āā of Theorem 20. It has two components as shown in Figures 6(b) and 6(c), but it is incompatible because it has a cap, just as shown in Figure 6(d), which is not a subnet of any component. Figure 6(e) demonstrates Caseāā1 in the proof of āā of Theorem 20 in which the transition is dead at the initial marking.
(a)
(b)
(c)
(d)
(e)
Definition 23 (maximal cap of SIWFnet). A cap of an SIWFnet is maximal if there are no other caps properly containing it.
Example 24. Figure 5(b) is a maximal cap of Figure 1(b) and each of Figures 6(b)ā6(d) is a maximal cap of Figure 6(a).
Notice that each component is a maximal cap. Therefore, the following conclusion is drawn.
Corollary 25. An SIWFnet is compatible if and only if (1)it is covered by components;(2)each maximal cap is a component.
Proof. () By Theorem 20 it is known that a compatible SIWFnet is covered by components. If a maximal cap is not a component, then there are no components containing the maximal cap by the definition of maximal (see Definition 23), thereby making the SIWFnet incompatible by Theorem 20. Therefore, each maximal cap is a component.
() For each cap, there is a maximal cap containing it. Therefore, for each cap there exists a component containing it. Therefore, the SIWFnet is compatible by Theorem 20.
In fact, the decision conditions in Theorem 20 and Corollary 25 can be sharpened and a simpler one is obtained; that is, the first conditions in Theorem 20 and Corollary 25 can be removed.
Lemma 26. If each maximal cap of an SIWFnet is a component, then the SIWFnet is covered by components.
Proof. (by contradiction) Assume that the SIWFnet is not covered by components; that is, there exists a transition that does not belong to any component. Because each maximal cap is a component (i.e., for each cap there exists a component containing it), does not belong to any cap. Thus, one of the following two cases must exist.
Case 1. If (i.e., has input channel places), then for all does not belong to any cap either. This is because if belongs to some cap, then there is a maximal cap containing (by Definition 23); thereby a component containing exists (by the given condition); thus the component has to contain (by the fourth item of Definition 14).
Case 2.āāIf (i.e., has no input channel places), then for all does not belong to any cap either (notice that and are in the same FCWFnet). The following two cases are used to explain the reason.
Case 2.1āā. If there is such that there is a cap containing , then we know by the second conclusion in Lemma 18 that there is an enabled transition sequence containing . Thus, place is marked after firing , which leads to being enabled. Therefore, it is known by the first conclusion in Lemma 18 that there is a cap containing . This contradicts the assumption that no cap contains . Therefore, for all does not belong to any cap.
Case 2.2āā. It is known by the freechoice property that for all . If there is such that there is a cap containing , then there must exist a component containing (by the given condition). Let and . Then, it is known by Definition 14 that must belong to . This also contradicts the assumption that does not belong to any component. Therefore, for all does not belong to any cap.
The above cases indicate that if does not belong to any cap, then there must exist a transition, as the input transition of some input place of , that does not belong to any cap either. Because the set of transitions is finite and the SIWFnet is acyclic, we finally find a transition such that (1) it has no input channel places, (2) only some source place is its input, and (3) it does not belong to any cap. However, this transition as well as its input and output forms a cap. A contradiction takes place. Therefore, the SIWFnet is covered by components if each maximal cap of an SIWFnet is a component.
Theorem 27. An SIWFnet is compatible if and only if each maximal cap is a Tcomponent.
Proof. The necessity is derived directly by Corollary 25 and the sufficiency directly by Corollary 25 and Lemma 26.
Corollary 28. An SIWFnet is compatible if and only if for each cap there is a Tcomponent containing it.
Example 29. The SIWFnets in Figures 1(b) and 6(a) are incompatible because there exist maximal caps (see Figures 5(b) and 6(d)) that are not components. The SIWFnet in Figure 6(e) is incompatible since each maximal cap of it is not a component. Notice that the first two examples are covered by components but the last one is not.
5. Algorithm to Solve the Compatibility Problem for SIWFNets
Here a recursive algorithm is developed to solve the compability problem for an SIWFnet based on the decision conditions in Theorem 27 and Corollary 28. Let be an SIWFnet, the set of all source places, the set of all sink places, and a cap of . Notice that may be seen as the most basic cap. See Procedure 1.

Please notice that means a reachable marking by firing all transitions in and records all transitions of that are enabled at .
represents that after firing all transitions in the system reaches a marking such that it is not the target marking and no transition is enabled at it. Therefore, means that the current cap is maximal but not a component; that is, the SIWFnet is incompatible. In this case, therefore, the program outputs this counterexample and terminates early.
means that is still not maximal. Therefore, for each bigger cap (i.e., ) this procedure is recursively called to do the same decision. Please note that means that the enabled transition as well as all places and arcs related to it in is added to .
means that the current procedure will end correctly and return the previous layer correctly.
Also please notice that if two transitions and in can be concurrently fired at , then the procedure IsTcomponent will be called twice where is the net generated by adding and as well as the related places and arcs to . To avoid those repeated calls, should be reduced such that for those transitions that can be concurrently fired at only one is left in . This operation can be completed in polynomial time and is omitted here for the simplification of this algorithm.
Therefore, when this procedure is called in a main procedure, should be (i.e., it is the most basic cap). When IsTcomponent(, is executed, the worst case is that all maximal caps are components; that is, each maximal cap is tested. The number of components grows exponentially for the following very special example: an SIWFnet is composed of basic FCWFnets, each basic FCWFnet has āācomponents, and there are no channel places. The SIWFnet has āācomponents. In practice, however, the number of maximal caps of an SIWFnet does not increase like the above example. If the number of maximal caps grows polynomially but not exponentially, then the number of recursively calling the procedure is polynomial, that is, .
6. Conclusion
This paper gives a necessary and sufficient condition to decide compatibility for a subclass of IWFnets, which advances the stateoftheart in the area of deciding the compatibility problem based on net structures. Future work may focus on some bigger subclasses of IWFnets in which each basic WFnet may permit circuits.
Conflict of Interests
The authors declare that there is no conflict of interests regarding the publication of this paper.
Acknowledgments
This paper is supported in part by the Alexander von Humboldt Foundation and in part by the National Nature Science Foundation of China (Grant no. 61202016).
References
 Y. Chen, Z. Li, and M. C. Zhou, āOptimal supervisory control of flexible manufacturing systems by petri nets: a set classification approach,ā IEEE Transactions on Automation Science and Engineering, vol. 11, no. 2, pp. 549ā563, 2014. View at: Publisher Site  Google Scholar
 M. P. Fanti and M. C. Zhou, āDeadlock control methods in automated manufacturing systems,ā IEEE Transactions on Systems, Man, and Cybernetics Part A, vol. 34, no. 1, pp. 5ā22, 2004. View at: Publisher Site  Google Scholar
 Z. W. Li, G. Y. Liu, H.M. Hanisch, and M. C. Zhou, āDeadlock prevention based on structure reuse of petri net supervisors for flexible manufacturing systems,ā IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 42, no. 1, pp. 178ā191, 2012. View at: Publisher Site  Google Scholar
 Z. W. Li, N. Q. Wu, and M. C. Zhou, āDeadlock control of automated manufacturing systems based on petri netsa literature review,ā IEEE Transactions on Systems, Man and Cybernetics Part C, vol. 42, no. 4, pp. 437ā462, 2012. View at: Publisher Site  Google Scholar
 Z. W. Li and M. Zhao, āOn controllability of dependent siphons for deadlock prevention in generalized Petri nets,ā IEEE Transactions on Systems, Man, and Cybernetics Part A, vol. 38, no. 2, pp. 369ā384, 2008. View at: Publisher Site  Google Scholar
 Z. W. Li, M. C. Zhou, and N. Q. Wu, āA survey and comparison of Petri netbased deadlock prevention policies for flexible manufacturing systems,ā IEEE Transactions on Systems, Man and Cybernetics Part C, vol. 38, no. 2, pp. 173ā188, 2008. View at: Publisher Site  Google Scholar
 N. Q. Wu and M. C. Zhou, āDeadlock resolution in automated manufacturing systems with robots,ā IEEE Transactions on Automation Science and Engineering, vol. 4, no. 3, pp. 474ā480, 2007. View at: Publisher Site  Google Scholar
 J. Ezpeleta, J. M. Colom, and J. Martinez, āPetri net based deadlock prevention policy for flexible manufacturing systems,ā IEEE Transactions on Robotics and Automation, vol. 11, no. 2, pp. 173ā184, 1995. View at: Publisher Site  Google Scholar
 Z. W. Li and M. C. Zhou, āElementary siphons of Petri Nets and their application to deadlock prevention in flexible manufacturing systems,ā IEEE Transactions on Systems, Man, and Cybernetics A, vol. 34, no. 1, pp. 38ā51, 2004. View at: Publisher Site  Google Scholar
 G. J. Liu, C. J. Jiang, and M. C. Zhou, āTwo simple deadlock prevention policies for S3PR based on Keyresource/operationplace Pairs,ā IEEE Transactions on Automation Science and Engineering, vol. 7, no. 4, pp. 945ā957, 2010. View at: Publisher Site  Google Scholar
 G. J. Liu, C. J. Jiang, M. C. Zhou, and A. Ohta, āThe liveness of WS^{3}PR: complexity and decision,ā IEICE Transactions on Fundamentals of Electronics, Communications and Computer Sciences, vol. E96A, no. 8, pp. 1783ā1793, 2013. View at: Publisher Site  Google Scholar
 L. Piroddi, R. Cordone, and I. Fumagalli, āSelective siphon control for deadlock prevention in Petri nets,ā IEEE Transactions on Systems, Man, and Cybernetics Part A, vol. 38, no. 6, pp. 1337ā1348, 2008. View at: Publisher Site  Google Scholar
 M. Uzam and M. C. Zhou, āAn iterative synthesis approach to Petri netbased deadlock prevention policy for flexible manufacturing systems,ā IEEE Transactions on Systems, Man, and Cybernetics Part A, vol. 37, no. 3, pp. 362ā371, 2007. View at: Publisher Site  Google Scholar
 K. Y. Xing, M. C. Zhou, F. Wang, H. X. Liu, and F. Tian, āResourcetransition circuits and siphons for deadlock control of automated manufacturing systems,ā IEEE Transactions on Systems, Man, and Cybernetics Part A, vol. 41, no. 1, pp. 74ā84, 2011. View at: Publisher Site  Google Scholar
 W. M. P. van der Aalst, āInterorganizational workflows: an app roach based on message sequence charts and Petri nets,ā System Analysis and Modeling, vol. 34, no. 3, pp. 335ā367, 1999. View at: Google Scholar
 W. M. P. van der Aalst, A. J. Mooij, C. Stahl, and K. Wolf, āService interaction: patterns, formalization, and analysis,ā in Formal Methods for Web Services, M. Bernardo, L. Padovani, and G. Zavattaro, Eds., vol. 5569 of Lecture Notes in Computer Science, pp. 42ā88, Springer, Heidelberg, Germany, 2009. View at: Google Scholar
 K. van Hee, N. Sidorova, and M. Voorhoeve, āGeneralised soundness of workflow nets is decidable,ā in Applications and Theory of Petri Nets, J. Cortadella and W. Reisig, Eds., vol. 3099 of Lecture Notes in Computer Science, pp. 197ā215, Springer, Heidelberg, Germany, 2004. View at: Publisher Site  Google Scholar  MathSciNet
 T.H. Kim, C. K. Chang, and S. Mitra, āDesign of serviceoriented systems using SODA,ā IEEE Transactions on Services Computing, vol. 3, no. 3, pp. 236ā249, 2010. View at: Publisher Site  Google Scholar
 E. Kindler, āThe ePNK: an extensible Petri net tool for PNML,ā in Applications and Theory of Petri Nets, L. M. Kristensen and L. Petrucci, Eds., vol. 6709 of Lecture Notes in Computer Science, pp. 318ā327, Springer, Heidelberg, Germany, 2011. View at: Publisher Site  Google Scholar
 A. Martens, āOn compatibility of web services,ā Petri Net Newsletter, vol. 65, pp. 12ā20, 2003. View at: Google Scholar
 W. Tan, Y. Fan, and M. C. Zhou, āA Petri netbased method for compatibility analysis and composition of web services in business process execution language,ā IEEE Transactions on Automation Science and Engineering, vol. 6, no. 1, pp. 94ā106, 2009. View at: Publisher Site  Google Scholar
 W. M. van der Aalst, K. M. van Hee, A. H. ter Hofstede et al., āSoundness of workflow nets: classification, decidability, and analysis,ā Formal Aspects of Computing, vol. 23, no. 3, pp. 333ā363, 2011. View at: Publisher Site  Google Scholar  Zentralblatt MATH  MathSciNet
 F. L. Ţiplea and D. Marinescu, āStructural soundness of workflow nets is decidable,ā Information Processing Letters, vol. 96, no. 2, pp. 54ā58, 2005. View at: Publisher Site  Google Scholar  MathSciNet
 G. J. Liu, J. Sun, Y. Liu, and J. S. Dong, āComplexity of the soundness problem of workflow nets,ā Fundamenta Informaticae, vol. 131, no. 1, pp. 81ā101, 2014. View at: Publisher Site  Google Scholar  MathSciNet
 W. M. P. van der Aalst, āWorkflow verification: finding controlflow errors using petrinetbased techniques,ā in Business Process Management, W. M. P. van der Aalst, J. Desel, and A. Oberweis, Eds., vol. 1806 of Lecture Notes in Computer Science, pp. 161ā183, Springer, Heidelberg, Germany, 2000. View at: Google Scholar
 J. Desel and J. Esparza, Free Choice Petri Nets, vol. 40 of Cambridge Tracts in Theoretical Computer Science, Cambridge University Press, Cambridge, UK, 1995.
 M. Weidlich, J. Mendling, and M. Weske, āEfficient consistency measurement based on behavioral profiles of process models,ā IEEE Transactions on Software Engineering, vol. 37, no. 3, pp. 410ā429, 2011. View at: Publisher Site  Google Scholar
 C. Gierds, A. J. Mooij, and K. Wolf, āReducing adapter synthesis to controller synthesis,ā IEEE Transactions on Services Computing, vol. 5, no. 1, pp. 72ā85, 2012. View at: Publisher Site  Google Scholar
 G. J. Liu, C. J. Jiang, M. C. Zhou, and P. C. Xiong, āInteractive petri nets,ā IEEE Transactions on Systems, Man, and Cybernetics: Systems, vol. 43, no. 2, pp. 291ā302, 2013. View at: Publisher Site  Google Scholar
 C. Stahl and K. Wolf, āDeciding service composition and substitutability using extended operating guidelines,ā Data & Knowledge Engineering, vol. 68, no. 9, pp. 819ā833, 2009. View at: Publisher Site  Google Scholar
 W. M. P. van der Aalst, A. H. M. ter Hofstede, B. Kiepuszewski, and A. P. Barros, āWorkflow patterns,ā Distributed and Parallel Databases, vol. 14, no. 1, pp. 5ā51, 2003. View at: Publisher Site  Google Scholar
 T. Murata, āPetri nets: properties, analysis and applications,ā Proceedings of the IEEE, vol. 77, no. 4, pp. 541ā580, 1989. View at: Publisher Site  Google Scholar
 W. Reisig, Understanding Petri Nets: Modeling Techniques, Analysis Methods, Case Studies, Springer, Berlin, Germany, 2013.
 W. M. P. van der Aalst, āThe application of Petri nets to workflow management,ā Journal of Circuits, Systems and Computers, vol. 8, no. 1, pp. 21ā66, 1998. View at: Publisher Site  Google Scholar
 P. Baldan, A. Corradini, H. Ehrig, and R. Heckel, āCompositional semantics for open Petri nets based on deterministic processes,ā Mathematical Structures in Computer Science, vol. 15, no. 1, pp. 1ā35, 2005. View at: Publisher Site  Google Scholar  MathSciNet
Copyright
Copyright © 2015 Guanjun Liu and Lijing Chen. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.