<!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>WEB SERVICE INTERACTIONS: ANALYSIS AND DESIGN</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Xiang Fu</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Jianwen Su Tev k Bultan Department of Computer Science University of California at Santa Barbara</institution>
          ,
          <country country="US">USA</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>School of Computer &amp; Information Sciences Georgia Southwestern State University</institution>
          ,
          <country country="US">USA</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The conversation model captures interactions among the components of a composite web service. A conversation is the global sequence of messages exchanged among the components. We discuss the impact of asynchronous communication on the conversation behavior. It turns out that the conversation behavior is signi cantly different for synchronous and asynchronous communication and demands new techniques for static analysis of composite web services. We outline strategies of model checking service composition for both bottom-up and top-down design approaches.</p>
      </abstract>
      <kwd-group>
        <kwd>Process interactions</kwd>
        <kwd>conversations</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The success of business-to-consumer applications (e.g. in electronic
commerce) over the Internet and the web has already lead to the need of the
development of business-to-business applications. Integrating business processes of
different organizations through network accessible software components faces
several hurdles: (1) Different organizations could use different, incompatible
implementation platforms. (2) Organizations may not want to share the
internal details of their applications which can hinder integration. (3) No
organization would want their application to get stuck due to pauses in availability of a
software component residing in another organization.</p>
      <p>Web services standards and technologies provide a framework for
integration and interoperability of web accessible software applications by addressing
these challenges as follows:</p>
      <p>Standardized data transmission via XML enables interaction among
software components that are implemented using different platforms.
Loose coupling of interacting services through standardized interfaces
such as Web Service De nition Language (WSDL) provides a clear
separation between the internals of an application and its interface visible
to outside organizations.</p>
      <p>Use of asynchronous communication to lessen the effects of pauses in
availability of other services and slow data transmission through the
Internet.</p>
      <p>
        In this short paper, we focus on asynchronous communication and its
effects on the interaction behavior of composite web services. In asynchronous
communication when a message is sent, it is inserted into a FIFO message
queue, and the receiver consumes the message when it reaches to the front of
the queue. This type of asynchronous communication is supported by
message delivery platforms such as Java Message Service (JMS) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], Microsoft
Message Queuing Service (MSMQ) [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ], WebSphere, Web Logic Integration,
etc.
      </p>
      <p>We focus on the behavior of composite web services that usually consist
of many interacting component services. We consider two design approaches:
bottom-up that starts from developing (identifying through discovery)
component services, and top-down that derives the individual services from the
speci cation for the composite service. A main goal is to analyze composite
web services (obtained either through bottom-up or top-down) against
properties speci ed in some logic language.</p>
    </sec>
    <sec id="sec-2">
      <title>Modeling Interactions of Web Services</title>
      <p>
        A composite web service consists of a set of peers (or component services)
which communicate with each other using asynchronous messages. The
messages exchanged among the peers are XML documents. This model ts nicely
with the existing web service standards such as WSDL, BPEL (Business
Process Execution Language for Web Services), and WSCL (Web Service
Conversation Language [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]). In particular, we can view that each peer is de ned
as a BPEL service, while messages are received through its WSDL ports. As a
starting point, we restrict each peer to a nite state machine that communicates
with other peers through FIFO message queues.
      </p>
      <p>
        A promising component of the web services framework that facilitates
integration and interoperability is the conversation model [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ][
        <xref ref-type="bibr" rid="ref7">7</xref>
        ][
        <xref ref-type="bibr" rid="ref3">3</xref>
        ][
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A
conversation is the sequence of messages exchanged among web services recorded
in the order they are sent. Note that a conversation does not specify when
the receive events occur, it only speci es the global ordering of the send
events. Conversations allows speci cation and analysis of interactions among
web services. It is an intuitive model that is easy to understand and it allows
speci cation and analysis of interactions without exposing the
implementations details about the peers. For this reason, such a method of synchronizing
interactions is also a part of the recently proposed Web Service Choreography
Description Language (WS-CDL) [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ].
      </p>
    </sec>
    <sec id="sec-3">
      <title>Approaches to Design of Composite Web Services</title>
      <p>There are two fundamentally distinguished approaches to composite web
service design:</p>
      <p>In the bottom-up approach each peer participating in the web service
composition is speci ed separately (as a state machine) and then the
composed system can be studied by analyzing the combined behaviors
of these individual peer speci cations.</p>
      <p>In the top-down approach the desired global behavior is speci ed rst
and the detailed peer implementations are left blank initially. Any peer
implementation that conforms to the desired global behavior is an
acceptable implementation of a peer.</p>
      <p>Conversation protocols are a top-down speci cation for composite web
services. A conversation protocol is a nite state machine that speci es the
desired set of conversations for a composite web service. A composite web
service realizes a conversation protocol if the conversations accepted by the
conversation protocol are exactly those generated by the composite web
service. In other words, if the conversation sets of a conversation protocol and a
composite web service are equal then we say that the composite web service
realizes the conversation protocol.</p>
      <p>
        A conversation protocol is realizable if there exists a composite web service
that realizes it. It is known that not every conversation protocol is realizable;
however, if a conversation protocol is realizable then it is realizable by its
projections to each peer [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. We project a conversation protocol to a peer p by
replacing all transitions that have a send or a receive operation for which p
is neither the sender nor the receiver with empty transitions. A conversation
protocol is realizable if its projections to peers satisfy the synchronous
compatibility and autonomy conditions and, additionally, if the conversation
protocol satis es the lossless join condition [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>
        On the other hand, if we start from the peer implementation as in the
bottomup approach, the set of all possible conversations may not be identical to any
conversation protocols. The reason is that the conversation sets of some
composite web services may not be regular nor even context-free [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. A suf cient
condition, called synchronizability, of the conversation sets of composite web
services identical to conversation protocols is developed [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
    </sec>
    <sec id="sec-4">
      <title>Model Checking Conversations</title>
      <p>
        Given a composite web service where each peer is speci ed as a state
machine, an interesting problem is to verify if the conversations generated by the
composite web service satisfy certain properties. For example, it would be
very useful to verify properties such as a payment message is always
eventually followed by a receipt message. Such properties can be speci ed in Linear
Temporal Logic (LTL) [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] using the temporal operators G (globally), F
(eventually), X (next), and U (until). For example, the property above can be expressed
in LTL as follows: G(payment ! Freceipt).
      </p>
      <p>
        Model checking [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] is a technique for automated veri cation of temporal
logic properties on nite state systems. There are tools such as the Spin model
checker [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] which provide ef cient implementation of the model checking
techniques. However, most model checkers can only handle nite state
systems, whereas asynchronous communication with unbounded message queues
makes the state space of a composite web service in nite. One approach is
to put an upper bound on the sizes of the message queues and transform the
system to a nite state system. However, the state space of the composite web
service can increase exponentially with the increasing queue sizes. This
exponential increase in the state space can make veri cation of composite web
services infeasible for large queue sizes even for a highly optimized nite state
model checker such as Spin.
      </p>
      <p>
        Known results indicate that automated veri cation of conversation behavior
is not always possible in the presence of asynchronous communication with
unbounded queues [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ][
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>The synchronizability and realizability results lead to following veri cation
strategies. For example, in the case of bottom-up speci cations (design), the
analysis strategy consists of the following steps:
1 We rst check the synchronizability of the composite web service.
2 If the web service is synchronizable we verify the LTL properties on its
conversations. (In this case the results we obtain hold for all
conversations generated by the composite web service even in the presence of
unbounded message queues.)
3 If the web service is not synchronizable we verify the LTL properties
on its conversations by bounding the sizes of FIFO queues. In this case
the veri cation results we obtain are guaranteed as long as the message
queues remain within the speci ed bound. However if we nd that a
property is violated, then a counter-example generated using the model
checking techniques provide a concrete counter-example demonstrating
the error.</p>
      <p>A slightly different 3-step strategy is developed for top-down speci cation.</p>
      <p>
        The synchronizability and realizability analysis have been implemented as
a part of the Web Service Analysis Tool (WSAT) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The front-end of WSAT
accepts web service standards such as WSDL and BPEL. The core analysis
engine of WSAT is based on an internal state machine representation. The
back-end employs model checker Spin for veri cation. At the front-end, a
translation algorithm from BPEL to the internal state machine representation is
implemented, and support for other languages can be added without changing
the analysis and the veri cation modules of the tool. WSAT also supports XML
data manipulation by extending its internal state representation using transition
guards written as XPath expressions. The synchronizability and realizability
analysis are also extended to handle XML data manipulation. At the back-end,
translation algorithms are implemented from the internal state machine
representation to Spin. Based on the results of the realizability and the
synchronizability analysis, the LTL veri cation at the back-end can be performed using
the synchronous communication semantics instead of asynchronous
communication semantics.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>Conversation model provides a promising framework for analyzing
interactions among web services. Asynchronous communication can effect the
conversation behavior and if unbounded queues are used to model asynchronous
communication then the veri cation of temporal logic properties of
conversations becomes undecidable. We outlined two approaches to overcome the
dif culties that arise in veri cation due to asynchronous communication.
Synchronizability analysis identi es web service compositions for which the
conversation behavior does not change when synchronous communication is
replaced with asynchronous communication. This enables us to verify
properties of conversations using the simpler synchronous communication semantics
without giving up the bene ts of asynchronous communication. On the other
hand realizability analysis helps us to make sure that for top-down web service
speci cations asynchronous communication does not create unintended
behaviors. This enables us to verify the conversation properties at a higher level of
abstraction without considering the asynchronous communication semantics.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          [1]
          <string-name>
            <given-names>B.</given-names>
            <surname>Benatallah</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            <surname>Casati</surname>
          </string-name>
          , and
          <string-name>
            <given-names>F.</given-names>
            <surname>Toumani</surname>
          </string-name>
          .
          <article-title>Web service conversation modeling: A cornerstone for e-business automation</article-title>
          .
          <source>IEEE Internet Computing</source>
          ,
          <volume>8</volume>
          (
          <issue>1</issue>
          ):
          <volume>46</volume>
          
          <fpage>54</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          [2]
          <string-name>
            <given-names>D.</given-names>
            <surname>Brand</surname>
          </string-name>
          and
          <string-name>
            <surname>P.</surname>
          </string-name>
          <article-title>Za ropulo</article-title>
          .
          <article-title>On communicating nite-state machines</article-title>
          .
          <source>Journal of the ACM</source>
          ,
          <volume>30</volume>
          (
          <issue>2</issue>
          ):
          <volume>323</volume>
          
          <fpage>342</fpage>
          ,
          <year>1983</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          [3]
          <string-name>
            <given-names>T.</given-names>
            <surname>Bultan</surname>
          </string-name>
          ,
          <string-name>
            <given-names>X.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            <surname>Hull</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Conversation speci cation: A new approach to design and analysis of e-service composition</article-title>
          .
          <source>In Proc. Int. World Wide Web Conf. (WWW)</source>
          ,
          <year>May 2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          [4]
          <string-name>
            <given-names>E.M.</given-names>
            <surname>Clarke</surname>
          </string-name>
          ,
          <string-name>
            <given-names>O.</given-names>
            <surname>Grumberg</surname>
          </string-name>
          , and
          <string-name>
            <given-names>D. A. Peled. Model</given-names>
            <surname>Checking</surname>
          </string-name>
          . The MIT Press, Cambridge, Massachusetts,
          <year>2000</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          [5]
          <string-name>
            <given-names>X.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Bultan</surname>
          </string-name>
          , and
          <string-name>
            <given-names>J.</given-names>
            <surname>Su</surname>
          </string-name>
          .
          <article-title>Conversation protocols: A formalism for speci cation and veri cation of reactive electronic services</article-title>
          .
          <source>Theoretical Computer Science</source>
          ,
          <volume>328</volume>
          (
          <issue>1-2</issue>
          ):
          <volume>19</volume>
          
          <fpage>37</fpage>
          ,
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          [6]
          <string-name>
            <given-names>X.</given-names>
            <surname>Fu</surname>
          </string-name>
          ,
          <string-name>
            <given-names>T.</given-names>
            <surname>Bultan</surname>
          </string-name>
          , and
          <string-name>
            <surname>J. Su.</surname>
          </string-name>
          <article-title>WSAT: A tool for formal analysis of web services</article-title>
          .
          <source>In Proc. 16th Int. Conf. on Computer Aided Veri cation (CAV)</source>
          , pages
          <fpage>510</fpage>
          
          <fpage>514</fpage>
          , Boston, MA, July
          <year>2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          [7]
          <string-name>
            <given-names>J. E.</given-names>
            <surname>Hanson</surname>
          </string-name>
          , P. Nandi, and
          <string-name>
            <given-names>S.</given-names>
            <surname>Kumaran</surname>
          </string-name>
          .
          <article-title>Conversation support for business process integration</article-title>
          .
          <source>In Proc. 6th IEEE Int. Enterprise Distributed Object Computing Conference</source>
          ,
          <year>2002</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          [8]
          <string-name>
            <given-names>G. J.</given-names>
            <surname>Holzmann</surname>
          </string-name>
          .
          <source>The SPIN Model Checker: Primer and Reference Manual. AddisonWesley</source>
          , Boston, Massachusetts,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          [9]
          <string-name>
            <given-names>Java</given-names>
            <surname>Message</surname>
          </string-name>
          <article-title>Service</article-title>
          . http://java.sun.com/products/jms/.
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          [10]
          <string-name>
            <given-names>MicroSoft</given-names>
            <surname>Message Queuing</surname>
          </string-name>
          <article-title>Service</article-title>
          . http://www.microsoft.com/msmq/.
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <source>[11] Web Services Choreography Description Language Version</source>
          <volume>1</volume>
          .0. http://www.w3.org/ TR/ws-cdl-
          <volume>10</volume>
          /,
          <year>December 2004</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          [12]
          <string-name>
            <given-names>Web</given-names>
            <surname>Services Conversation</surname>
          </string-name>
          <article-title>Language (WSCL) 1.0</article-title>
          . http://www.w3.org/TR/2002/ NOTE-wscl10-20020314/,
          <year>March 2002</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>