Sufficient and Necessary Condition to Decide Compatibility for a Class of Interorganizational Workflow Nets

InterorganizationalWorkflow 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.


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][2][3][4][5][6][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][9][10] 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 [11][12][13][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 (IWF-nets for short) [15][16][17][18][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 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 2 Mathematical Problems in Engineering short), which is based on the rank theory proposed for wellformed free-choice nets by Desel and Esparza [26].FCWFnets 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,[28][29][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 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 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.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.

Basic Notions
For readability, in this section Petri nets and WF-nets are recalled that are from [22,32,33].
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 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,  = (1, 0, 6) over  = { 1 ,  2 ,  3 } represents that  1 ,  2 , and  3 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  =  1 + 6 3 or  = { 1 , 6 3 }.
If for all  ∈ • : () > 0, then  is said to be enabled at , which is denoted as [⟩.If ∃ ∈ • : () = 0, then  is said to be disabled at , which is denoted by ¬[⟩.Firing an enabled transition  produces a new marking   , which is denoted by A marking   is reachable from a marking  if and only if there exists a transition sequence A net  = (, , ) is a free-choice net if and only if for all
In Definition 2,   is called the trivial extension of .
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,  0 =  and   =  are called initial and target markings of a WFnet, 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.
. ., and   = (  ,   ,   ) are pairwise disjoint WF-nets where  ≥ 2 and these WF-nets are called basic; (2)   is a finite set of channel places such that   ∩  = 0 for each  ∈ N  ; (3) ) is a set of arcs by which channel places connect with the  basic WFnets; (4) for all  ∈   , ∃,  ∈ N  : 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 ( + 2)-tuple to represent an IWFnet.In fact, if an IWF-net is also represented by a 3-tuple For convenience, an IWF-net is represented by a ( + 2)-tuple.When no confusion is caused,  is used to represent the set of all transitions of an IWF-net; that is,  =  1 ∪ ⋅ ⋅ ⋅ ∪   .For all  ∈ N  , denote   and   by the source and sink places of   , respectively.
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. 0 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 freechoice WF-net (FCWF-net for short).

SIWF-Nets
This section defines a subclass of IWF-nets named simple interorganizational workflow nets (SIWF-nets for short).(1)  is an acyclic IWF-net; (2) for all  ∈ N  :   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 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 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 ORjoin, 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.Definition 8 (-component of FCWF-net).Let  = (, , ) be an acyclic FCWF-net.Denote  ∈  and  ∈  by the source and sink places of , respectively.Then

Sufficient and Necessary Condition for Compatibility of SIWF-Nets
; 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  0 =  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 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  ∈   : (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  0 =  (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   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.
Example 15.The SIWF-net in Figure 1 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 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  0 =  1 +  2 + ⋅ ⋅ ⋅ +   (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 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.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  = ( 1 ,  2 , . . .,   ,   ,   ) be an SIWFnet.
(1) For each enabled transition sequence  in (,  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   = (  1 ,   2 , . . .,    ,    ,    ) is acyclic and each place that has no inputs (i.e., the source places) is marked, there are enabled transitions in (  ,  1 +  2 +⋅ ⋅ ⋅+  ).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  = ( 1 ,  2 , . . .,   ,   ,   ) 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  ∈ N  ,  ↾   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   = (  1 ,   2 , . . .,    ,    ,    ) of , there exists an enabled transition sequence  in (,  1 +  2 + ⋅ ⋅ ⋅ +   ) 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.
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  ∈ , ∃ ∈ (,  1 +  2 + ⋅ ⋅ ⋅ +   ): [⟩.
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 .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   ∩ •  ̸ = 0 (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   ∩ •  = 0 (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 (| • 𝑡| > 1)
. 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.

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  = ( 1 ,  2 , . . .,   ,   ,   ) be an SIWF-net,  0 = { 1 , . . .,   } the set of all source places,   = { 1 , . . .,   } the set of all sink places, and   a cap of .Notice that  0 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 .  ̸ =   ∧  = 0 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,  ̸ =   ∧  = 0 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.
̸ =   ∧  ̸ = 0 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  1 and  2 in  can be concurrently fired at , then the procedure IsTcomponent(,   ) will be called twice where   is the net Mathematical Problems in Engineering generated by adding  1 and  2 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  0 (i.e., it is the most basic cap).When IsT-component(,  0 ) 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, (|| * ).

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 WFnet may permit circuits. i
(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).

Figure 5 :
Figure 5: (a) A cap of the SIWF-net in Figure 1(b), which is a subnet of the -component in Figure 4(c); (b) a cap of the SIWF-net in Figure 1(b), which is not a subnet of the -component in Figures 4(c) or 4(d); and ((c)-(d)) not caps of the SIWF-net in Figure 1(b).

Figure 5 (
a) is a cap of the SIWF-net in Figure1(b), which is a subnet of the -component in Figure4(c).Although Figure5(b) is also a cap of the SIWFnet in Figure1(b), there are no -components containing it.Figure5(c) is not a cap of the SIWF-net in Figure1(b) because the input transition of the channel place  5 is not in the subnet; that is, it does not fulfill the fourth condition in Definition 16.Figure5(d) is not a cap of the SIWF-net in Figure1(b) because  5 , as the output of  2,5 and the input of  1,5 , is not in the subnet; that is, it does not satisfy the second condition of Definition 16.

Example 21 .Example 24 .
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  3 is dead at the initial marking.Definition 23 (maximal cap of SIWF-net).A cap of an SIWFnet is maximal if there are no other caps properly containing it.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).
Proof.The necessity is derived directly by Corollary 25 and the sufficiency directly by Corollary 25 and Lemma 26.
is elementary if and only if for any two nodes   and   of the path,  ̸ =  ⇒   ̸ =   .A path  1  2 ⋅ ⋅ ⋅   is a circuit if and only if no node occurs more than once in it and (  ,  1 ) ∈ .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  1 and  2 are in conflict if and only if •  1 ∩ •  2 ̸ = 0.   = (  ,   ,   ) 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 :  → N. A place  ∈  is marked at  if and only if () > 0.
[⟩  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 =  1  4  2  1 , Ψ() = {2 1 ,  2 ,  4 }.A net  with an initial marking  0 is called a Petri net or net system and denoted by (,  0 ).A Petri net (,  0 ) = (, , ,  0 ) is called kbounded if and only if ∃ ∈ N, for all  ∈ , for all  ∈ (, 0 ): () ≤ .A Petri net is bounded if and only if it is k-bounded for some integer .A 1bounded Petri net is also called safe.A net  is structurally bounded if and only if (,  0 ) is bounded for any initial marking  0 .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 (,  0 ) is live if and only if each transition of it is live at  0 .A net  is structurally live if and only if there is an initial marking  0 such that (,  0 ) is live.
Figure 3: All caps related to the -component in Figure 2(f).