Abstract

Interorganizational Workflow nets (IWF-nets) can well model many concurrent systems such as web service composition, in which multiple processes interact via sending/receiving messages. Compatibility of IWF-nets 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 PSPACE-complete for safe IWF-nets. This paper defines a subclass of IWF-nets 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 [17], 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. S3PRs [810] are famous in modeling these systems. Particularly, researchers utilize structures of Petri nets, such as siphons, resource-transition circuits, and structurally circular waits, to decide liveness or deal with deadlock for these systems [1114].

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 (IWF-nets for short) [1519] 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 IWF-nets.

Compatibility [20, 21] is a crucial property of IWF-nets. 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 IWF-nets is identical with soundness of workflow nets (WF-nets) [22] since an IWF-net can be translated into an equivalent WF-net. IWF-nets 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 WF-nets [17, 22, 23]. It was also proven that the soundness problem is PSPACE-complete for bounded WF-nets [24]. Fortunately, van der Aalst et al. [22, 25] gave a polynomial-time algorithm to solve the soundness problem for free-choice WF-nets (FCWF-nets for short), which is based on the rank theory proposed for well-formed free-choice nets by Desel and Esparza [26]. FCWF-nets can well model the structures of business processes such as AND-split, AND-join, OR-split, and OR-join [22, 25, 27]. However, some concurrent systems like web services composite have to consider the interaction among different components/processes [15, 20, 21, 2830], which makes the related models more and more complex so that FCWF-nets cannot model them in many cases. So far, only van der Aalst proposed net-structure-based conditions to decide soundness for a few subclasses of WF-nets such as free-choice ones and well-structured ones [25]. There is not too much work on the soundness decision for IWF-nets, 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 WF-net is built by observing these patterns.

Therefore, how to decide compatibility for IWF-nets is interesting and important.

This paper defines a subclass of IWF-nets called SIWF-nets. 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. SIWF-nets can model many cases of interactions. To the best of our knowledge, it is the first time to propose a net-structure-based condition to solve the compatibility problem for IWF-nets. Therefore, the method proposed in this paper opens up a new way to explore the net-structure-based conditions of deciding the compatibility for more complex subclasses of IWF-nets.

The remainder of this paper is organized as follows. Section 2 reviews some notions and notations. Section 3 defines SIWF-nets. Section 4 proposes a net-structure-based 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 WF-nets 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 3-tuple , 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 k-bounded if and only if , for all , for all . A Petri net is bounded if and only if it is k-bounded for some integer . A 1-bounded 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 free-choice net if and only if for all , .

2.2. WF-Nets

Definition 2 (WF-net). A net is a WF-net 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 WF-net). Let be a WF-net, , 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 WF-net, respectively. Additionally, a safe (resp., bounded) WF-net means that the WF-net is safe (resp., bounded) at its initial marking. van der Aalst also proved that the soundness of a WF-net is equal to the liveness and boundedness of its trivial extension at the initial marking [25].

A subclass of nets called inte-organizational workflow nets (IWF-nets 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 IWF-net describes the synchronous and/or asynchronous communication among multiple partners (each partner is modeled by a basic WF-net) [15, 35]. The following definition considers the asynchronous communication only.

Definition 4 (IWF-net). A net is an IWF-net if (1), and are pairwise disjoint WF-nets where and these WF-nets 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 WF-nets;(4)for all .

Example 5. Figures 1(a) and 1(b) are two IWF-nets whose basic WF-nets (see Figures 1(c) and 1(d)) are the same but interactions are different.

From the fourth item of Definition 4 it is known that each channel place is used only by two fixed basic WF-nets. In other words, two different basic WF-nets cannot send messages into the same channel place; similarly, two different basic WF-nets cannot take messages from the same channel place either. Certainly, two different basic WF-nets may use multiple channel places to communicate.

Notice that Definition 1 uses a 3-tuple to represent a net while Definition 4 uses an -tuple to represent an IWF-net. In fact, if an IWF-net is also represented by a 3-tuple , then , , and . For convenience, an IWF-net is represented by a -tuple. When no confusion is caused, is used to represent the set of all transitions of an IWF-net; that is, . For all , denote and by the source and sink places of , respectively.

Definition 6 (compatibility of IWF-net). Let be an IWF-net, , 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 IWF-net such that , then this new net is a WF-net by Definition 2. Particularly, it is easy to prove that the original IWF-net is compatible if and only if the new WF-net is sound. Therefore, an IWF-net may be thought of as a special WF-net and the definitions of compatibility and soundness are equal. In this paper, an IWF-net is sometimes called a WF-net directly.

For convenience, the trivial extension of an IWF-net is that a transition is added to the IWF-net 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 WF-net is also a free-choice net, then it is called free-choice WF-net (FCWF-net for short).

3. SIWF-Nets

This section defines a subclass of IWF-nets named simple interorganizational workflow nets (SIWF-nets for short).

Definition 7 (SIWF-net). is a simple IWF-net (SIWF-net) if (1) is an acyclic IWF-net;(2)for all is a sound FCWF-net;(3)for all .

In fact, Figures 1(a) and 1(b) are two SIWF-nets that have the same basic FCWF-nets as shown in Figures 1(c) and 1(d).

Obviously, three constraints simplify an IWF-net.

First, it is acyclic. As we all know, if an IWF-net has a siphon that does not contain any source place, then the IWF-net is unsound (because all transitions associated with the siphon are dead at the initial marking) and this siphon must contain a circuit. Therefore, an SIWF-net is required to be acyclic, which guarantees that each siphon includes at least one source place.

Second, each basic WF-net is sound and free-choice. For an IWF-net combined by multiple basic WF-nets via a group of channel places, what this paper pays more attention to is the interaction among these basic WF-nets. Therefore, we suppose that these basic WF-nets are sound. In addition, FCWF-nets can not only model many basic structures of workflow, such as AND-split, AND-join, OR-split, and OR-join, but also own a nice property (i.e., their soundness is decidable in polynomial time [25]). Since an SIWF-net is acyclic, each basic FCWF-net of it is also acyclic. Therefore, SIWF-net 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 SIWF-net to observe the patterns proposed in [16] although these patterns can make an SIWF-net much simpler.

Although SIWF-nets 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 iteration-free structures [8]. Therefore, it is valuable to explore efficient decision methods for SIWF-nets. Next, a novel one is given.

4. Sufficient and Necessary Condition for Compatibility of SIWF-Nets

This section gives a net-structure-based condition to decide compatibility for SIWF-nets. First, some concepts related to the net structures are defined.

Definition 8 (-component of FCWF-net). Let be an acyclic FCWF-net. 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 FCWF-nets in Figures 1(c) and 1(d).

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 FCWF-net is covered by -components according to the conclusion in [26]. Here, an FCWF-net 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 FCWF-net 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 FCWF-net 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 FCWF-net). Let be an acyclic FCWF-net 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 FCWF-net each cap is a prefix of some -component.

Lemma 12. A sound acyclic FCWF-net 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 FCWF-net 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 FCWF-net is sound, for each transition there exists a complete transition sequence containing it, thereby a -component containing it. Therefore, the FCWF-net 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 FCWF-net 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 FCWF-net 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 FCWF-net 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 SIWF-net). Let be an SIWF-net. 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 SIWF-net in Figure 1(a) has two and only two -components as shown in Figures 4(a) and 4(b). The SIWF-net in Figure 1(b) also has two and only two -components as shown in Figures 4(c) and 4(d).

A -component of an SIWF-net includes one and only one -component of each basic FCWF-net. Additionally, all channel places connected to those basic -components are also in the -component of the SIWF-net 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 SIWF-net. That is to say, some behaviors of some basic WF-nets are inhibited. For an example of the SIWF-net 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 SIWF-net 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 SIWF-net 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 SIWF-net 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 SIWF-net). Let be an SIWF-net. 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 SIWF-net 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 SIWF-net in Figure 1(b), there are no -components containing it. Figure 5(c) is not a cap of the SIWF-net 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 SIWF-net 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.

Notice that each -component of an SIWF-net is also a cap of the SIWF-net and each cap of an SIWF-net contains one and only one cap of each basic FCWF-net.

Lemma 18. Let be an SIWF-net. (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 SIWF-net is covered by -components if for each transition of it there is a -component of it containing the transition.

Theorem 20. An SIWF-net 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 FCWF-net 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 FCWF-nets 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 FCWF-net. This does not satisfy the requirements of the definition of -component; that is, a -component of an SIWF-net contains one and only one basic -component of each basic FCWF-net (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.

Definition 23 (maximal cap of SIWF-net). A cap of an SIWF-net 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 SIWF-net 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 SIWF-net 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 SIWF-net 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 SIWF-net 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 SIWF-net is a -component, then the SIWF-net is covered by -components.

Proof. (by contradiction) Assume that the SIWF-net 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 FCWF-net). 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 free-choice 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 SIWF-net 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 SIWF-net is covered by -components if each maximal cap of an SIWF-net is a -component.

Theorem 27. An SIWF-net is compatible if and only if each maximal cap is a T-component.

Proof. The necessity is derived directly by Corollary 25 and the sufficiency directly by Corollary 25 and Lemma 26.

Corollary 28. An SIWF-net is compatible if and only if for each cap there is a T-component containing it.

Example 29. The SIWF-nets 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 SIWF-net 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 SIWF-Nets

Here a recursive algorithm is developed to solve the compability problem for an SIWF-net based on the decision conditions in Theorem 27 and Corollary 28. Let be an SIWF-net, 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.

procedure IsT-component(, ) {
in ;
;
if () then
  for (each ) do  {
   ;
   IsT-component(, );
   };
else if () then  {
  output();
  exit(0);
  };
 };

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 SIWF-net 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 IsT-component 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 IsT-component(, 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 SIWF-net is composed of basic FCWF-nets, each basic FCWF-net has   -components, and there are no channel places. The SIWF-net has   -components. In practice, however, the number of maximal caps of an SIWF-net 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 IWF-nets, which advances the state-of-the-art in the area of deciding the compatibility problem based on net structures. Future work may focus on some bigger subclasses of IWF-nets in which each basic WF-net 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).