<!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>Communication models for services</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Niels Lohmann</string-name>
          <email>niels.lohmann@uni-rostock.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Mathematics and Computer Science, Technische Universiteit Eindhoven</institution>
          ,
          <addr-line>P. O. Box 513, 5600 MB Eindhoven</addr-line>
          ,
          <country country="NL">The Netherlands</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Universitat Rostock, Institut fur Informatik</institution>
          ,
          <addr-line>18051 Rostock</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Communication is an essential aspect of services. Services do not only realize simple request-response scenarios, but increasingly implement complex and stateful communication protocols. Such a protocol speci es the order in which messages are sent and received by a service and is an essential part of a service description. Services are usually not executed in isolation, but as a collaboration which is composed of several services. The behavior of such a collaboration is not only determined by the communication protocol of each participating service, but also by the way messages are exchanged. A communication model speci es the properties of the message channels between the services and de nes the way how messages are sent and received. This paper studies and classi es several dimensions of communication models and describes their impact to the behavior of service compositions.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The paradigm of service orientation aims at replacing complex monolithic systems
by a composition of several simpler, yet logically or geographically distributed
components, called services. This distributed nature introduces new problems,
because independent services need to collaborate to reach a common goal. One
way to achieve correct collaboration is to o er standardized service descriptions.
The most prominent example is the language WS-BPEL [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] which emerged as
standard to specify executable Web services as well as to describe communication
protocols on an abstract level. WS-BPEL received much attention from academia,
and there exists a variety of formalizations of the communication protocol of a
WS-BPEL process; van Breugel and Koshkina [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] present a survey of hundreds of
papers. However, these formalizations usually focus on the execution order of the
service's activities and provides an answer to the question when communication
takes place, but give little details on the way how messages are exchanged.
      </p>
      <p>Although a communication protocol speci es many dependencies between
activities | be it internally or between one service's send activity and another
service's receive activity | other details remain unspeci ed. Is the message
exchange atomic, or is sending and receiving decoupled? Can the receiver block
the sender? Can messages be bu ered, and if yes, how many of them? Each of
these questions is not addressed by the WS-BPEL speci cation. However, they
still have an impact on the behavior of the overall collaboration.</p>
      <p>We observed that | apart from a vague distinction between synchronous and
asynchronous message exchange | there does not exist a common understanding
how communication should be modeled. This in turn makes it hard to compare
existing results on the formalization and analysis of services. To this end, this
paper studies communication models. A communication model speci es the
aspects of the message exchange such as those previously sketched. It may
also include the occurrence of faults. A fault is an undesired and abnormal
scenario (i. e., a bu er over ow) for that the subsequent behavior is unspeci ed.
A communication model thereby can be seen as the missing piece to completely
describe and reason about the behavior of a service composition. Note that
communication models are not tied to any speci c service description language
or formalization.</p>
      <p>
        This paper is not a survey on existing service description languages or service
formalizations; we refer the interested reader to survey [
        <xref ref-type="bibr" rid="ref11 ref16">11,16</xref>
        ]. Actually,
Kazhamiakin et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] already study a wide spectrum of communication models and
investigate questions related to their expressive power. Compared with that
approach, this paper aims at providing an intuitive classi cation of communication
models which is not guided by expressive power or a concrete formalization; the
dimensions studied in Sect. 2 are more general than those of Kazhamiakin et al.
Furthermore, this paper does not discuss the suitability of certain communication
models nor tries to compare formalisms or service description languages with
respect to their assumed communication model(s) as it is done by approaches
such as the service interaction patterns [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Instead, we want to highlight certain
e ects and consequences which arise with the choice of a certain communication
model. We do this by examining in Sect. 3 the service's behavior from the point of
view of partner services. Section 4 concludes the paper and lists several directions
of future work.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Dimensions of communication models</title>
      <p>The most apparent impact of the choice of a communication model becomes visible
in the level of abstraction of the message bu er; that is, the infrastructure which
transfers messages between two services. In case of synchronous communication,
message exchange is assumed to be instantaneous: Messages are not bu ered and
no intermediate state in which a sent message is pending is modeled. Thereby,
the meaning of the term \synchronous" is closer to \isochronous" rather than
\synchronization", because the latter can also be realized with two messages
modeling a handshake.</p>
      <p>On the other hand, sending of a message can be decoupled from receiving;
that is, sent messages are bu ered until they are received and, as a consequence,
communication is asynchronous. Even though considering intermediate states
yields in an increased complexity, asynchronous communication allows for more
e cient communication, because sender and receiver do not need to constantly
synchronize, but can be executed more autonomously. Thereby, asynchronous
communication naturally supports the distributed setting of services.
blocking sending
In the simplest communication model, message exchange is atomic. The sender
waits until the receiver is ready for the message exchange, and then they
synchronize by executing the sending and the receiving activity simultaneously. In
this setting, the state in which the message is sent, but not yet received, is not
modeled: the message channel is abstracted from. Consequently, the message
exchange is executed in an all-or-nothing fashion. It is notable that the direction
of the message exchange is irrelevant from a technical point of view, because
there exists no distinguished initiator.</p>
      <p>
        Variants of this synchronous communication loosen this symmetry between
sender and receiver and allow for nonblocking execution of the sending activity.
In case the sending activity can be executed independently from the receiving
activity, the setting in which the receiving activity is not ready for execution
(i. e., the synchronization fails) needs to be speci ed. Then, the message can be
either discarded or a fault occurs. The former scenario is motivated by signal
nets [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] which introduce one-sided synchronization of modules in the setting of
control engineering. Desel [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] describes an application to services.
      </p>
      <p>
        Figure 1 provides an overview of the di erent dimensions of synchronous
communication models. The most prominent service model using synchronous
communication is the \Roman model " [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] in which message transfer is speci ed
by a synchronous communication model that assumes blocking sending. The
same communication model is also used by earlier formalizations of interaction
such as I/O automata [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] or interface automata [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
2.2
      </p>
      <sec id="sec-2-1">
        <title>Asynchronous message exchange</title>
        <p>In contrast to synchronous message exchange, asynchronous communication
models re ne the message exchange and decouple the sending of a message from
its receiving. This is usually motivated by performance issues, and the fact that
the actual moment a message is received should be modeled independently of the
moment of the sending. Consequently, the state in which the message is in transit
(i. e., already sent but not yet received) is explicitly modeled. Consequently, an
asynchronous communication model not only needs to specify the characteristics of
the sending of a message, but also its transfer and its receipt. These characteristics
can be grouped into properties of the employed message bu er (including how it
can be accessed by the receiving activity) and sending strategies.
buffer: ordering
buffer: capacity
buffer: quantity
ordered
unordered
bounded
unbounded
one buffer</p>
        <p>multiple buffers
blocking sending
(only for bounded buffer)</p>
        <p>Message bu ers. An asynchronous communication model needs to specify
three aspects of message bu ers: their capacity, their organization, and their
quantity.</p>
        <p>The capacity of a message bu er determines the maximal number of messages
which can be simultaneously bu ered. In literature, the case in which a message
bu er is unbounded is often considered. This absence of a capacity is typically
motivated as a proper abstraction from a concrete, but unknown upper bound.
Actually, the determination of the maximal capacity is not trivial, because it is
not only in uenced by the service under consideration, but also by those services
which are composed to it. Nevertheless, the need of a nite and xed capacity
is motivated by the middleware which realizes the communication of services in
reality. If the capacity is not known in advance, it may be approximated using
capacity considerations or static analysis techniques, or it is chosen su ciently
large.</p>
        <p>
          The second aspect speci es how bu ered messages are organized. As
Kazhamiakin et al. [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], we distinguish ordered and unordered bu ers. In the rst case, the
order in which messages are added to the bu er is preserved, and the receiver only
has access to the \oldest" (i. e., earliest sent) element. Ordered bu ers are usually
modeled by FIFO queues. In the second case, messages are bu ered unordered,
modeling a channel in which messages may overtake one another. Consequently,
the receiver has access to all bu ered messages. This scenario over-approximates
any transfer delay an asynchronous medium can introduce.
        </p>
        <p>Finally, communication can be organized using multiple bu ers. In the setting
of ordered bu ers, this allows the receiver to access more messages and hence
may enable more message-receiving activities compared with the case where
only one message can be accessed. For the unordered case, multiple bu ers do
not introduce additional behavior. In addition, by organizing each message in a
separate ordered bu er, unordered bu ers can be simulated.</p>
        <p>Sending strategies. Similar to synchronous message exchange, di erent
parameters in uence the way sending activities are executed. For unbounded bu ers, a
nonblocking sending is the simplest case. In case a bu er capacity is assumed,
the situation in which the bu er is full needs to be speci ed. Either, the message
cannot be sent (blocking) or sending is nonblocking and the message is discarded,
a bu ered message is overwritten, or an error occurs.</p>
        <p>Figure 2 diagrams the four dimensions of asynchronous communication models.
Obviously, the bu er capacity and the bu er quantity need to be explicitly
speci ed further than \bounded" and \multiple", respectively.</p>
        <p>
          As an example from literature, open nets (previously called open work ow
nets) use interface places to model a message bu er. Using Petri net places yields
an asynchronous communication model with a single unordered bu er. The model
itself does not pose a capacity of the bu er and hence open nets impose an \always
succeed" sending strategy. Similarly, concurrent automata [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] assume a multiset
as channel model, yielding a single unordered bu er. Communicating FSM [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ]
employ unbounded ordered bu ers (i. e., FIFO queues) to model communication.
Hence, sending is nonblocking. In case a service communicates with more than
one other service, one FIFO queue is assumed for each pair of services.
3
        </p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Impact of communication models</title>
      <p>
        The previous section sketched di erent dimension of communication models. In
this section, we demonstrate how the choice of a communication model has an
impact on the controllability of a service. A service is controllable [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ] if there
exists a partner service such that their composition can always eventually reach
a nal state in which the message channels (if modeled) are empty. To visualize
service models, we use BPMN [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ] as graphical notation.
      </p>
      <p>As a rst example, consider the service in Fig. 3(a). It controllable if we
assume synchronous communication. An asynchronous communication model
would need to specify a bu er capacity of at least 2 in case messages are not
discarded, because a communication partner cannot observe the receipt of the
A message. Figure 3(b) shows compatible partner for bounded channels with a
\discard" strategy.</p>
      <p>Figure 3(c) demonstrates the impact of ordering of bu ered messages: this
service can only be controlled with synchronous communication or ordered bu ers,
because reordering of messages A and B results in a situation in which a partner
needs to \guess" whether to send a C or D message, and any guess could
yield unreceived messages. A similar situation occurs in the interaction with
the service in Fig. 3(d). This service cannot be controlled with an asynchronous
communication model at all, because the result internal choice (modeled by
an XOR gateway) cannot observed by a communication partner. In contrast, a
partner with a synchronous communication model with blocking sending, however,
can control the service.</p>
      <p>Figure 3(e) shows an example of the impact of the bu er quantity. If we
assume a single ordered bu er, this service is controllable, for instance by the
service in Fig. 3(f). If we assume the transfer of message E takes very long (e. g.,
in case of a large video le), we cannot speed up the service composition by
sending it concurrently to other messages as it is done in Fig. 3(g) which would
receive A
receive B
send C
(a)
send A
send B
receive C
(b)
timeout
receive A</p>
      <p>receive B
receive B</p>
      <p>receive A
receive C
receive D
receive A</p>
      <p>receive B
(c)
(d)
receive A</p>
      <p>send A
send B
send C
receive B</p>
      <p>receive C
receive D</p>
      <p>send D
receive E
(e)
send E
(f)
send A</p>
      <p>send E
receive B</p>
      <p>receive C
send D
(g)
be a correct partner in case we assume a distinct bu er for message E or an
unordered bu er.</p>
      <p>
        The presented examples show that the communication model has an impact
to the overall behavior of a service. In particular, message bu ers may introduce
\new" behavior by enabling message-receiving activities. This additional behavior
may yield in concurrent and more exible service compositions on the one hand,
but also in undesired problems such as deadlocks or unreceived messages on
the other hand. In the context of unordered asynchronous communication, we
already studied the reasons which may lead to uncontrollable service models [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ].
Further impacts of synchronous communication on controllability are reported
by Wolf [
        <xref ref-type="bibr" rid="ref23">23</xref>
        ] and Wolf [
        <xref ref-type="bibr" rid="ref22">22</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>Conclusion</title>
      <p>We brie y studied communication models. By sketching di erent dimensions, we
re ned and systematized the vague synchronous/asynchronous distinction which
can be found in the literature. Furthermore, we demonstrated the impact of
di erent communication models with respect to controllability. We showed that
one and the same service model (given as BPMN diagram) can be controllable or
uncontrollable depending on the chosen communication model.</p>
      <sec id="sec-4-1">
        <title>Future Work</title>
        <p>
          Directions of future work are manifold. First, we plan to extend the dimensions
of the communication models with other aspects related to instantiation
semantics [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], lossy channels, or topologies. Second, this more detailed distinction can
be used to classify and categorize further service formalisms from literature with
respect to their assumed communication model. This would not only help to
better compare and transfer results, but also to understand which communication
model is required to study certain properties. We already sketched the impact
to controllability in Sect. 3. Similarly, Kazhamiakin and Pistore [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] study the
impact of communication models to choreography realization [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] and provide an
algorithm which nds the \simplest" communication model under which a given
choreography can be realized.
        </p>
        <p>
          There already exist several approaches to translate between di erent
communication models. Fu et al. [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ] investigate necessary conditions for synchronizability,
viz. when it possible to safely abstract from channels. This abstraction is
motivated by the availability of more e cient veri cation techniques for synchronously
communicating services. The converse direction from synchronous to asynchronous
communication, called desynchronizability, is studied by Decker et al. [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. They
report of problems that may arise if a synchronous service choreography is
implemented by asynchronously communicating services. Here, the transformation
is motivated by the statement that atomic synchronous communication is an
unrealistic assumption in the area of inter-organizational business processes.
        </p>
        <p>
          Finally, the classi cation further needs to be further di erentiated against
many approaches to characterize several aspects in the area of business processes
and services in terms ofpatterns. Whereas the control ow of a service can be
investigated using work ow patterns [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ], other approaches such as enterprise
integration patterns [
          <xref ref-type="bibr" rid="ref14">14</xref>
          ], service interaction patterns [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ], or PAIS patterns [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ] also
take interaction into account. Consequently, we plan to investigate similarities
between interaction models and these patterns.
        </p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          v.d.,
          <string-name>
            <surname>Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          <year>t</year>
          .,
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          :
          <article-title>Work ow patterns</article-title>
          .
          <source>Distributed and Parallel Databases</source>
          <volume>14</volume>
          (
          <issue>1</issue>
          ),
          <volume>5</volume>
          {
          <fpage>51</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Alur</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Etessami</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yannakakis</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Inference of message sequence charts</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>29</volume>
          (
          <issue>7</issue>
          ),
          <volume>623</volume>
          {
          <fpage>633</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Alves</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , et al.:
          <source>Web Services Business Process Execution Language Version</source>
          <volume>2</volume>
          .0.
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard</surname>
          </string-name>
          ,
          <source>OASIS</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          <year>t</year>
          .:
          <article-title>Service interaction patterns</article-title>
          .
          <source>In: BPM 2005</source>
          . pp.
          <volume>302</volume>
          {
          <fpage>318</fpage>
          . LNCS 3649, Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Berardi</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>De Giacomo</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lenzerini</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mecella</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Automatic composition of e-services that export their behavior</article-title>
          .
          <source>In: ICSOC 2003</source>
          . pp.
          <volume>43</volume>
          {
          <fpage>58</fpage>
          . LNCS 2910, Springer (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Brand</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Za</surname>
            <given-names>ropulo</given-names>
          </string-name>
          , P.:
          <article-title>On communicating nite-state machines</article-title>
          .
          <source>J. ACM</source>
          <volume>30</volume>
          (
          <issue>2</issue>
          ),
          <volume>323</volume>
          {
          <fpage>342</fpage>
          (
          <year>1983</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Breugel</surname>
            ,
            <given-names>F.v.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koshkina</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Models and veri cation of BPEL (</article-title>
          <year>2006</year>
          ), unpublished manuscript, available at http://www.cse.yorku.ca/~franck/research/drafts/ tutorial.pdf
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. de Alfaro,
          <string-name>
            <given-names>L.</given-names>
            ,
            <surname>Henzinger</surname>
          </string-name>
          , T.A.:
          <article-title>Interface automata</article-title>
          .
          <source>In: ESEC 2001</source>
          . pp.
          <volume>109</volume>
          {
          <fpage>120</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kraft</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>Non-desynchronizable service choreographies</article-title>
          .
          <source>In: ICSOC 2008</source>
          . pp.
          <volume>331</volume>
          {
          <fpage>346</fpage>
          . LNCS 5364, Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Mendling</surname>
          </string-name>
          , J.:
          <article-title>Instantiation semantics for process models</article-title>
          .
          <source>In: BPM 2008</source>
          . pp.
          <volume>164</volume>
          {
          <fpage>179</fpage>
          . LNCS 5240 (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Desel</surname>
          </string-name>
          , J.:
          <article-title>Controlling Petri net process models</article-title>
          .
          <source>In: WS-FM 2007</source>
          . pp.
          <volume>17</volume>
          {
          <fpage>30</fpage>
          . LNCS 4937, Springer (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
          </string-name>
          , J.:
          <article-title>Conversation protocols: a formalism for speci cation and veri cation of reactive electronic services</article-title>
          .
          <source>Theor. Comput. Sci</source>
          .
          <volume>328</volume>
          (
          <issue>1-2</issue>
          ),
          <volume>19</volume>
          {
          <fpage>37</fpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Su</surname>
          </string-name>
          , J.:
          <article-title>Synchronizability of conversations among Web services</article-title>
          .
          <source>IEEE Trans. Software Eng</source>
          .
          <volume>31</volume>
          (
          <issue>12</issue>
          ),
          <volume>1042</volume>
          {
          <fpage>1055</fpage>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Hohpe</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Woolf</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Enterprise Integration Patterns: Designing, Building, and Deploying Messaging Solutions</article-title>
          .
          <string-name>
            <surname>Addison-Wesley Professional</surname>
          </string-name>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Kazhamiakin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>Analysis of realizability conditions for Web service choreographies</article-title>
          .
          <source>In: FORTE 2006</source>
          . pp.
          <volume>61</volume>
          {
          <fpage>76</fpage>
          . LNCS 4229, Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Kazhamiakin</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pistore</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Santuari</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          :
          <article-title>Analysis of communication models in web service compositions</article-title>
          .
          <source>In: WWW 2006</source>
          . pp.
          <volume>267</volume>
          {
          <fpage>276</fpage>
          .
          <string-name>
            <surname>ACM</surname>
          </string-name>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. Konig, R., Quack, L.:
          <article-title>Petri-Netze in der Steuerungstechnik</article-title>
          . Verlag Technik, Berlin (
          <year>1988</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>Why does my service have no partners? In: WS-FM 2008</article-title>
          . pp.
          <volume>191</volume>
          {
          <fpage>206</fpage>
          . LNCS 5387, Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Lynch</surname>
            ,
            <given-names>N.A.</given-names>
          </string-name>
          :
          <article-title>Distributed Algorithms</article-title>
          . Morgan Kaufmann (
          <year>1996</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Mulyar</surname>
          </string-name>
          , N.:
          <article-title>Patterns for process-aware information systems: an approach based on colored Petri nets</article-title>
          .
          <source>Ph.D. thesis</source>
          , Technische Universiteit Eindhoven, Eindhoven, The
          <string-name>
            <surname>Netherlands</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21. OMG:
          <article-title>Business Process Model and Notation, V1.1</article-title>
          . OMG Available Speci cation, Object Management Group (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Does my service have partners?</article-title>
          <source>LNCS T. Petri Nets and Other Models of Concurrency</source>
          <volume>5460</volume>
          (
          <issue>2</issue>
          ),
          <volume>152</volume>
          {
          <fpage>171</fpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Synchrone und asynchrone Kommunikation in o enen Work ownetzen</article-title>
          . Studienarbeit, Humboldt-Universitat zu Berlin, Berlin, Germany (
          <year>2007</year>
          ), (in German)
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>