<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>A Structural Veri cation of Web Services Composition Compatibility</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kamel Barkaoui</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Maryam Eslamichalandar</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Meryem Kaabachi</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>CEDRIC - CNAM Paris</string-name>
        </contrib>
        <contrib contrib-type="author">
          <string-name>France kamel.barkaoui@cnam.fr</string-name>
        </contrib>
      </contrib-group>
      <pub-date>
        <year>2010</year>
      </pub-date>
      <fpage>30</fpage>
      <lpage>41</lpage>
      <abstract>
        <p>A fundamental feature of service oriented computing is that simple services need to be composed for generating complex services. This work focuses on the analysis and veri cation of behavior models of web services composition. In particular, we have to check that neither deadlock nor livelock occurs in this composition. Usually, the veri cation of such integration, with or without mediators, is achieved by using techniques based on state space exploration of a given service formal model. In this paper, we present an approach based on structure theory of Petri nets allowing the recognition of necessary and/or su cient conditions ensuring compatible composition and a better understanding of the incompatibility sources.</p>
      </abstract>
      <kwd-group>
        <kwd>Web service composition</kwd>
        <kwd>Compatibility</kwd>
        <kwd>Structure theory of Petri Nets</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        With the increasing use of the platform independent software architecture such
as web-based applications, web services exist in distributed environments.
Therefore a web service often depends on other web services which have been
implemented by di erent vendors and their correct usage is governed by constraints
speci ed on their interfaces. Whilst di erent languages such BPEL4WS [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] have
been proposed for describing and executing work ow speci cations for a web
service composition invocation, we still have a critical need of methods and tools
to solve many problems related to service interaction [
        <xref ref-type="bibr" rid="ref1 ref5 ref8">1,5,8</xref>
        ]. In this paper, we
deal with the issue of veri cation of web services composition compatibility by
using the structure theory of Petri nets formalism. A WS composition is called
compatible if its underlying interaction service is such that each service can
terminate properly. Our approach is mainly motivated by the fact that veri cation
techniques particularly structural techniques and tools developed for Petri nets
can be fully exploited in the context of web services described by BPEL4WS
[
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], or others. The main goal of this paper is to show how structure theory of
Petri nets can provide some guidelines and solutions for ensuring the
correctness of web services composition. This paper is organized as follows. Section 2
gives a brief summary of basics of Petri nets and of its related structure theory.
      </p>
      <p>Section 3 introduces the open nets as a formal model for web services and their
composition. In Section 4, using recent results of structure theory of Petri, we
deal with the correctness of the WS composition in particular with behavioral
compatibility and provide new way of looking at interaction services permitting
us the identi cation of some interface patterns ensuring compatibility between
two or more services. Section 5 concludes this paper.</p>
    </sec>
    <sec id="sec-2">
      <title>2 Basics of Petri nets</title>
      <p>In this section, after giving basic de nitions and properties of Petri nets, we
present some recent structure theory results.</p>
      <sec id="sec-2-1">
        <title>2.1 De nitions and notations</title>
        <p>A Petri Net (P/T) N = (P, T, F, m0) consists of :
{ P a nite set of places and T a nite set of transitions with (P [ T) 6= ; and
(P \ T = ;),
{ F (P T) [ (T P) is the ow relation
{ m0 is the initial marking where a marking m is a mapping m : P ! N.</p>
        <p>Each node x 2 P [ T of the net has a pre-set and a post-set de ned
respectively as follows : _ x = fy 2 P [ T / (y, x) 2 Fg
and x _ = fy 2 P [ T / (x, y) 2 Fg.</p>
        <p>The incidence matrix of the net is the matrix C indexed by P T and de ned
by C(p, t) = W(t, p) - W(p, t) with W(u) = 1 if u 2 F and W(u) = 0 otherwise.</p>
        <p>An integer vector f 6= 0, indexed by P (f 2 ZP ) is a P-invariant i it satis es
tf C = 0.</p>
        <p>An integer vector g , g 6= 0, indexed by T (g 2 N T ) is a T-invariant i it satis es
C g = 0.
we denote by kf k= fp 2 P / f(p) 6= 0g the support of f ;
kf k+= fp 2 P / f(p) &gt; 0g and kf k = fp 2 P / f(p)&lt; 0g, if there exists a
P-invariant f /kf k+ = P then N is said to be conservative.
and by kmk = fp 2 P / m(p)&gt; 0g the support of marking m .</p>
        <p>A transition t is said to be enabled under m i _t kmk (i.e. there is a token
on every place of _t). A transition t enabled under a marking m can be red,
leading to a new marking m0 such that : 8p 2 P : m0(p) = m(p) + C(p; t). The
set of reachable markings from a marking m in N is denoted by R(N, m).</p>
        <p>We recall some behavioral properties of a Petri net N.
{ A marking m* is a home state if and only if 8m0 2 R(N; m), m* 2 R(N; m0).
{ N is reversible i m0 is a home state.
{ N is bounded i 8p 2 P : 9k 2 N; 8p 2 R(N; m0); m(p) k</p>
        <p>i.e. R(N; m0) is nite.
{ N is structurally bounded i N is bounded for any m0.
{ If N is conservative then N is structurally bounded.</p>
        <p>{ N is quasi-live i 8 t 2 T ,9 m 2 R (N, m0) for which t is enabled.
{ N is deadlock-free (or weakly live) i 8 m 2 R (N, m0), 9 t 2 T enabled in m.
{ N is live i 8 t 2 T , 8 m 2 R (N, m0) 9m0 2 R (N, m) for which t is enabled.
{ N is structurally live i 9m0 / (N, m0) is live.
{ A bounded and live Petri net is said to be well formed.</p>
      </sec>
      <sec id="sec-2-2">
        <title>2.2 Basics of Structure Theory of P/T nets</title>
        <p>Structure theory of Petri nets investigates the relationship between the behavior
and the structure of the net. The use of structural methods for the analysis of
systems present two major advantages with respect to other approaches :
the state explosion problem inherent to concurrent systems is avoided ,
otherwise limited , and this relationship usually leads to a deep understanding of the
system.</p>
        <p>A remarkable sub structure of Petri nets is that of Siphon.</p>
        <p>Let N be a P/T system. A non empty set S P is called a siphon if and only if
_ S S _ .</p>
        <p>S is said to be minimal if and only if it contains no other siphon as a proper
subset.</p>
        <p>Due to its structure a siphon which is unmarked will never becomes marked.
In this case, transitions of S _ cannot be live so S need to be controlled.
S is said to be controlled if and only if S is marked at any reachable marking
i.e. 8 m 2 R (N, m0), 9 p 2 S / m(p) &gt; 0.</p>
        <p>CS-property: N is said to be satisfying the controlled-siphon property if and only
if all its minimal siphons are controlled.</p>
        <p>
          We recall below two well-known basic relations between liveness and the
CSproperty [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ]. The rst states that the CS-property is a su cient deadlock-freeness
condition while the second states that the CS-property is a necessary liveness
condition.
        </p>
        <p>Proposition 1. Let N be a P/T net. If N satis es the CS-property then N is
deadlockfree (weakly live).</p>
        <p>Proposition 2. Let N be a P/T net. If N is live then N satis es the CS-property.</p>
        <p>
          The following proposition recall the two structural (su cient but not
necessary) conditions permitting us to check if a given siphon is controlled or not.
Proposition 3. Let S be a siphon of N satisfying one of the two following
conditions, then S is controlled [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] :
i) 9 R S such that R _ _R and R \ km0k 6= ;
ii)9 P-invariant f 2 ZP such that S kf k, kf k+
and , Pp2P [f(p). m0(p)]&gt;0
S
K-Systems : P/T nets for which CS-property is not only necessary but also
sufcient liveness condition, in other words , systems for which there is equivalence
between liveness and CS-property are called K-systems [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
Root-place : Let t 2 T be a transition of a P/T net N and r 2 _ t ; r is called a
root place for t if and only if 8 p 2 _ t , r _ p_ .
        </p>
        <p>Ordered transition : A transition t 2 T is said to be ordered if and only if 8 p,
q 2 _ t , p _ q _ or q _ p _ , an ordered transition has at least one root place. A
transition admitting a root place is not necessarily ordered.</p>
        <p>We denote by:
{ Root (t) the set of root places of t.
{ T0(N) the set of ordered transitions of N.
{ TR(N) the set of transitions of N admitting a root (i.e. TO(N) TR(N)).
{ Root (N) the set of root places of N.
{ The Root Component of N is the net RC (N) = (PC (N), TC (N), FC (N)) de ned
as follows:
{ PC = Root (N), TC = TR(N).
{ FC is the restriction of F such that:
(p,t) 2 FC i p 2 Root(t) and (t, p) 2 FC i (t, p) 2 F.</p>
        <p>
          Two main subclasses of K-systems namely ordered nets and root nets can be
recognized structurally and e ectively [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>(1) N is called an Ordered net i TO(N) = T (i.e. all its transitions are
ordered).</p>
        <p>(2) N is called a Root net i TR(N) = T , (TO(N) 6= T ) and its root
component RC (N) is bounded and strongly connected.</p>
        <p>Note that by de nition these two subclasses are disjoint.</p>
        <p>
          Theorem 1. Let N be an Ordered net or a Root net. N is live if and only if it
satis es the CS-property [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ].
        </p>
        <p>
          In particular for well known subclasses of ordered nets for which
Root (t) = _ t 8 t 2 T, (therefore Rc(N) = N) such Extended Free Choice
(EFC) nets, the cs-property ( by condition i) is a necessary and su cient liveness
condition . Moreover, if such nets are bounded then liveness property (i.e. here
condition (i)) can be decided in polynomial time [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]. Also as control by trap
(i) is preserved after increasing marking (contrary to control by invariant (ii)),
liveness property is monotonic for K-systems satisfying CS-property by condition
(i). Based on these structural theoretical results , we show in the rest of the paper
, how compatibility analysis and veri cation of web services composition can be
under taken e ciently .
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>3 Modeling and Speci cation of web Service Composition</title>
      <p>
        For speci cation and modeling services, we focus on the concepts which are
independent of a given implementation language [
        <xref ref-type="bibr" rid="ref7 ref9">7,9</xref>
        ] . First of all, a service has a
de nition describing its behavior and its interface . An instance of a given service
corresponds to an execution of the activities of this service .These activities are
atomic units of work speci ed in the service de nition. The interface of a service
consists of a set of ports. A pair of ports can be connected using a channel, thus
enabling the exchange of messages sent or received by services .
In this work , we abstract from non-functional properties, data and information
semantics. Hence , web service can be viewed as a control structure describing its
behavior according to an interface to communicate asynchronously with other
services in order to reach a nal state (i.e. a state representing a proper
termination). As for modeling of business processes and work ows, P/T nets are well
appropriate to model such control perspective of web services. A web service is
modeled by a P/T net called open net [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] which is an extension of a work ow net
[
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] or service net [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] by adding, to the internal places, two speci c disjoint sets of
input and output places (called interface places) modeling the service interface.
Services can be composed by connecting the interfaces.
      </p>
      <p>More precisely, each input place (i.e. with empty pre-set) corresponds to an input
port of the interface (used for receiving messages from a distinguished channel)
whereas an output place (i.e. empty post-set) corresponds to an output port of
the interface (used for sending messages via a distinguished channel).
De nition 1. An open net N = (P, T, F, I, O, m0 , mf ) consists of :
A Petri net N* = (P, T, F, m0 , mf ) such that :
{ m0 = s ( the initial marking of the service) , _s = ;
{ mf = o ( the nal marking of the service) , o _ = ;
with an interface places (I [ O</p>
      <sec id="sec-3-1">
        <title>P ) such that :</title>
        <p>{ 8 p 2 I [ O; mf (p) = mo(p) = 0
{ 8 p 2 I , _p = ; (input interfaces places)
{ 8 p 2 O , p_ = ; (output interface places)</p>
        <p>Our de nition of open nets is not restrictive . Indeed any P/T net N* with
an initial marking de ned on more than one initial place , or admitting a set
of nal markings ( with mutually exclusive supports ) , can be transformed easily
to an equivalent open net. Also our open nets are not elementary communicating
in the sense that a transition can be connected to more than one interface place.</p>
        <p>
          The basic web services infrastructure provides simple interactions between a
client and a web service. However, the implementation of a web services
business needs generally the invocation of other web services. Thus it is necessary
to combine the functionality of several web services. The process of
developing a composite service is called service composition. Composite services are
recursively de ned as an aggregation of elementary and composite services. The
composition of two or more services generates a new service providing both the
original behavior of initial services and a new collaborative behavior for carrying
out a new composite task [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ].
        </p>
        <p>
          From a modeling point of view, a composite service can be described as a
recursive composition of open nets [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ]. Communication between services takes
place by exchanging messages via interface places. Thus, composing two open
nets is modeled by merging their respective shared constituents which are the
equally labeled input and output interface places. Such a fused interface place
models a channel and a token on such a place corresponds to a pending message
in the respective channel. As it is convenient to require that all communications
are bilateral and directed, i.e. every interface place p 2 (I [ O) has only one
open net that sends into p and only one open net that receives from p.
Thereby, open nets involved in a composition are pairwise interface compatible
i.e. only input interface places of the one open net overlap with output interface
places of the other. This interface compatibility is a basic and rst requirement
for services composition .
        </p>
        <p>De nition 2. Let N1 and N2 be two open nets with pairwise disjoint
constituents except for the interfaces . If I =( I1 \ I2) = ; and (O1 \ O2) = ;
then N1 and N2 are interface compatible.</p>
        <p>De nition 3. Let N1 and N2 two interface compatible open nets. Their
composition N = N1 N2 is the open net de ned as follows:
{ P = P1 [ P2 ; T = T1 [ T2; F = F1 [ F2;
{ I = (I1 [ I2) n (O1 [ O2) ; O = (O1 [ O2) n (I1 [ I2) ;
{ m0 = m01 m02; mf = mf1 mf2
Open net composition is commutative and associative i.e. for interface
compatible open nets N1, N2 and N3 : N1 N2 = N2 N1
and (N1 N2) N3 = N1 (N2 N3).</p>
        <p>An open net with an empty interface (I = ; and O _ = ;) is called a closed net.
By choreography , we refer to the coordination of messages between services
involved in a composite service. Therefore a service choreography can be described
as a closed net .</p>
        <p>The next section is devoted to check the veri cation of behavioral properties of
a closed obtained by composing open nets.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>4 Structural Veri cation of Composition Compatibility</title>
      <p>A composite web service modeled as a closed net is a service that consists of
coordination of several conceptually autonomous but interface compatible
services. Although it is not easy to specify how this coordination should behave,
we focus here on these three behavioral requirements :
{ Weak-Compatibility . A closed net N is said to be weak-compatible i N is
deadlock-free.
{ Compatibility which excludes not only deadlocks but also livelocks. A closed
net N is said to be compatible i mf is home state( nal state is always
reachable).
{ Strong-Compatibility. A closed net N is said to be strong compatible i N is
compatible and quasi-live (proper termination and no dead activities).
Our contribution in this paper is to show how using recent results of structure
theory of Petri nets (that can be interpreted as restrictions or operating
guidelines on service interaction patterns), we can check or ensure structurally
these behavioral properties.</p>
      <p>Let us precise that a deadlock state m in a closed net N is a reachable state
( m 6= mf ) under which no transition is enabled.</p>
      <p>Obviously, compatibility implies weak compatibility.</p>
      <p>Let N = N1 N2 : : : Nk be a closed net.</p>
      <p>Let Ni be an open net , Ni = (Pi; Ti; Fi; m0i; mfi) is called the inner subnet of
Ni . We denote by Ni the subnet obtained from Ni by connecting the initial
place si to the terminal place oi by an additional transition ti .</p>
      <p>Let N = N1 N2 : : : Nk we denote by (N) the net obtained by substituting
in each Ni, Ni by Ni .</p>
      <p>First of all, from the two well known propositions (1) and (2), we can deduce
easily the two following propositions :
Proposition 4. Let N = N1 N2 : : : Nk be a closed net. If (N) satis es the
cs-property then N is weak compatible.</p>
      <p>Proposition 5. Let N = N1 N2 : : : Nk. If N is strong compatible then (N)
satis es CS property.(we prove that (N) is live )</p>
      <p>
        Let us consider the closed net obtained by the two open nets of Fig.1
described in [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] .As the cs-property , is not satis ed : the siphon S = (food ,
money, P7 , P3) is empty at m0 , N cannot be live neither deadlockfree.
Consequently N is not weak compatible.
      </p>
      <p>Now, Consider the two interface compatible open nets of Fig.2 , the
corresponding closed net N is such that (N) satis es the cs-property therefore N is
weak compatible.</p>
      <p>However N is not compatible : indeed the nal marking mf = p4 + p14 cannot
be reached from the accessible marking m* = p4 + p14 + p7.</p>
      <sec id="sec-4-1">
        <title>N2 : : : Nk be a closed net. If N is strong compatible</title>
        <p>Proof. Suppose there exists Ni not sound, i.e. Ni is not live or not bounded.
Case (1): Ni is not live i.e. there is transition t 2 Ti not live in Ni . As (input)
interface places only limit the behavior of the associated open net Ni , t remains
not live in (N), thus N cannot be strong compatible.
Case (2): Ni live but not bounded, thus mf cannot be a home state and N is
not compatible.</p>
        <p>
          According to previous results, strong compatibility of open nets requires not
only interface compatibility of open nets but also soundness of their inner
subnets. We de ne now two classes of open nets namely Ordered open nets and
Root open nets for which soundness is equivalent to cs-property[
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
De nition 4. Let N be an open net. N is called an Ordered open net if and only
if N** is an ordered net.
        </p>
        <p>De nition 5. Let N be an open net. N is called a Root open net if and only if
N** is a Root net.</p>
        <p>From this two classes of open nets , we de ne a large subclass of closed nets
called Root closed nets presenting realistic interfaces patterns and for which
compatibility can be structurally decided. In this subclass we impose a restriction
on the connection nature of interface places such that root internal places are
preserved after composition i.e. an input interface place can be a root place but
it cannot take the place of another internal one. A larger subclass of composite
service can be obtained by applying the basic building process of Root closed
nets in a recursive way, i.e. modules can be root closed nets or more complex
nets de ned in this way.</p>
        <p>De nition 6. A P/T system N = (P, T, F, m0) is called a Root Closed net (or
simply an RC net) if and only if P is the disjoint union P1; : : : ; Pn and B , T is
the disjoint union T1; : : : ; Tn and the following holds:
i) For every i 2 f1, . . . , ng, let Ni = &lt; Ni ; Ii; Oi &gt; be an open net such that :
{ ( Ii [ Oi) B
{ Ni = (Pi; Ti; Fi; m0i; mfi) where Fi (Pi Ti) [ (Ti Pi) is an ordered or
root open net satisfying CS-property.
ii)For every Ni i 2 f1; : : : ; ng: 8b 2 B , b preserves the sets of root places of</p>
        <p>Ni (i.e 8t 2 Ti, Root(t)Ni Root(t)Ni
iii)There exists a subset B0 B such that the sub net induced by the inner subnets</p>
        <p>
          Ni (i 2 f1; : : : ; ng) and B0 (denoted by (N )B0 ) is conservative and strongly
connected (if B0 = B , (N )B0 = (N ))
Theorem 3. Let N be a Root Closed net. The three following assertions are
equivalent :
{ N is deadlock free
{ N satis es CS property
{ N is live
Proof. Root Closed nets are , by construction , a subclass of Synchronized Dead
Closed Systems (SDCS) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] which are a K-systems. Therefore this equivalence
holds.
Corollary 1. Let N be a Root Closed net. If (N )B0 satis es cs-property then N
is weak compatible. This means that N is deadlock free but some interface places
can be unbounded.
        </p>
        <p>Corollary 2. Let N be a Root Closed net such that B0 = B. If (N ) satis es cs
property, then N is strong compatible.</p>
        <p>Proof. Since B0 = B , (N ) is live and bounded. This means that N is deadlock
free and the nal marking is well a home state.</p>
        <p>Let us consider now the root closed net N = N1 N2 of Fig.3 where N1(on the
right) is a sound root open net and N2 is a sound ordered open net. As (N )
satis es the cs-property we can claim that N is strong compatible.</p>
        <p>
          We consider now the closed net N obtained by composition of N1; N2andN3
of Fig.4 from [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ]. N1 ,N2 and N3 are sound ordered nets, moreover N satis es
cs-property.However as N is not a root closed net ( the input interface place
CMoney does not preserve the root place of transition t*) we cannot claim that
N is strong compatible. In fact N is compatible but not strong compatible
( t* is not live in N).
        </p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>5 Conclusion</title>
      <p>This paper presented a structural approach to verifying process interactions for
coordinated web services composition. Using results of structure theory of Petri
net , we have identi ed necessary and /or su cient structural conditions on web
services interfaces ensuring the composition compatibility.</p>
      <p>The main contribution of this paper is to provide a structural technique to check
if two or more web services are compatible and a better understanding of the
incompatibility sources.</p>
      <p>A direction for further work is to exploit these results to develop e cient
solutions for the substitutability problem (i.e. the assurance that a given service can
be replaced by another one as a better partner in a given composition).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1. Cheng Y.,
          <source>Wang Z.: Research on Reachability Veri cation of Web Service Composition. World Congress on Software Engineering</source>
          . pp.
          <volume>233237</volume>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Barkaoui</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Couvreur</surname>
            <given-names>J.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klai</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>On the equivalence between liveness and deadlock-freeness in Petri nets</article-title>
          .
          <source>Lecture Notes in Computer Science</source>
          .
          <volume>3536</volume>
          ,
          <fpage>90</fpage>
          <lpage>107</lpage>
          (
          <year>2005</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dun</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Xu</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wang</surname>
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Transformation of BPEL Processes to Petri Nets</article-title>
          .
          <source>Theoretical Aspects of Software Engineering</source>
          ,
          <year>2008</year>
          . TASE'
          <volume>08</volume>
          .
          <string-name>
            <surname>2nd</surname>
            <given-names>IFIP</given-names>
          </string-name>
          /IEEE International Symposium on. pp.
          <volume>166173</volume>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Hamadi</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>A Petri net-based model for web service composition</article-title>
          .
          <source>Proceedings of the 14th Australasian database conference-</source>
          Volume
          <volume>17</volume>
          . p.
          <volume>200</volume>
          (
          <year>2003</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mooij</surname>
            ,
            <given-names>A.J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Service Interaction: Patterns, Formalization, and Analysis</article-title>
          .
          <source>Formal Methods for Web Services</source>
          . p.
          <volume>88</volume>
          (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Barkaoui</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ;
          <string-name>
            <surname>Ben Ayed R.; Sbai</surname>
            ,
            <given-names>Z.</given-names>
          </string-name>
          :
          <article-title>Work ow soundness veri cation based on structure theory of Petri nets</article-title>
          .
          <source>International Journal of Computng and Information sciences (IJCIS)</source>
          Vol.
          <volume>5</volume>
          ,
          <issue>n1</issue>
          ,
          <year>April 2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Arkin</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Askary</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barreto</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bloch</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ford</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Goland</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          , Gu?zar,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Kartha</surname>
          </string-name>
          ,
          <string-name>
            <given-names>N.</given-names>
            ,
            <surname>Liu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>C.</given-names>
            ,
            <surname>Khalaf</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Koenig</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Marin</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Mehta</surname>
          </string-name>
          ,
          <string-name>
            <given-names>V.</given-names>
            ,
            <surname>Thatte</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            ,
            <surname>Rijn</surname>
          </string-name>
          ,
          <string-name>
            <given-names>D.</given-names>
            ,
            <surname>Yendluri</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Yiu</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          :
          <article-title>Web Services Business Process Execution Language Version 2.0 (OASIS Standard)</article-title>
          .
          <source>WS-BPEL TC OASIS</source>
          (
          <year>2007</year>
          ), http://docs.oasis-open.
          <source>org/wsbpel/2</source>
          .0/wsbpel-v2.
          <article-title>0</article-title>
          .html.
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Massuthe</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Stahl</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weinberg</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Analyzing interacting WSBPEL processes using exible model generation</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          <volume>64</volume>
          (
          <issue>1</issue>
          ),
          <fpage>38</fpage>
          -
          <lpage>54</lpage>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <given-names>J.</given-names>
            <surname>Zhang</surname>
          </string-name>
          ,
          <string-name>
            <surname>J-Y.Chung</surname>
            ,
            <given-names>C. K.</given-names>
          </string-name>
          <string-name>
            <surname>Chang</surname>
            ,and
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Kim.</surname>
          </string-name>
          WS-Net:
          <article-title>A Petri-net based speci cation model for web services</article-title>
          .
          <source>Proc. ICWS</source>
          ,pp.
          <fpage>420</fpage>
          -
          <lpage>427</lpage>
          .IEEE,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>K.Barkaoui et</surname>
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Minoux</surname>
          </string-name>
          .
          <article-title>A Polynomial Time Graph Algorithm to Decide Liveness of some basic classes of Bounded Petri Nets</article-title>
          .
          <source>In Application and theory of Petri Nets.LNCS 616</source>
          .pp.
          <fpage>62</fpage>
          -
          <lpage>75</lpage>
          ,Springer Berlin / Heidelberg.1992
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>