<!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 Scenario-View Based Approach for Supporting Mediated Web Service Interaction</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Zhangbing Zhou?</string-name>
          <email>zhangbing.zhou@deri.org</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Digital Enterprise Research Institute, National University of Ireland at Galway</institution>
          ,
          <addr-line>IDA Business Park, Lower Dangan, Galway</addr-line>
          ,
          <country country="IE">Ireland</country>
        </aff>
      </contrib-group>
      <pub-date>
        <year>2008</year>
      </pub-date>
      <abstract>
        <p>Web service interactions have triggered the initiative to identify and solve mismatches from a behavioral aspect. However, current approaches are limited because they mainly focus on control- ow and largely ignore data- ow. Such ignorance may cause unexpected or wrong, even unsupported interactions. To address these problems, we propose a scenario-view based approach, which considers both control- ow and data- ow, to support Web service interactions. We rstly generate scenarios and views for describing a public process. Then, the degree of compatibility of two public processes is computed based on pairwise compatibility of their views. A process mediator is generated for compatible public processes, and thus an interaction is carried out despite mismatches exist among them. This novel approach will bene t service modelers and users not only for a better understanding of public processes, but also for improved capability to identify and solve mismatches, which will further facilitate Web service interactions.</p>
      </abstract>
      <kwd-group>
        <kwd>Public Process</kwd>
        <kwd>Compatibility</kwd>
        <kwd>Process Mediator</kwd>
        <kwd>Mediated Service Interaction</kwd>
        <kwd>Scenario</kwd>
        <kwd>View</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Nowadays, enterprises are able to encapsulate (parts of) their business processes
and publish them as Web services [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. Then they can discover desired Web
services, compose them into a new value-added one, and carry out an interaction for
achieving a given goal. An interaction in Web service domain can be described
as a ow of messages, which may contain a set of data, exchanged among Web
services [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]. The major challenging problems that remain are: (1) how to check
whether Web services are compatible [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], (2) how to identify and solve potential
mismatches, and (3) how to conduct a successful interaction. Because of the
inherent autonomy and heterogeneity of Web services, messages are often di erent
in format and granularity, and public processes, i.e. the external behavior of
Web services [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], are often diverse in activities and messages in terms of form
and sequence. Thus, it is di cult, if not impossible, to nd two public processes
that are completely compatible [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. A Web service interaction is usually carried
out with the help of data or process mediators [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ], which is called a mediated
service interaction. For simplicity but without loss of generality, we assume that
there is no heterogeneity at a data level among Web services.
      </p>
      <p>
        Current approaches for checking compatibility, e.g. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], for
supporting process mediators, e.g. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], and for facilitating service
interactions, e.g. [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], mainly focus on control- ow but largely ignore
data- ow. They are limited to support mediated service interactions.
      </p>
      <p>
        To address these problems above, we propose a scenario-view based approach
to support mediated service interactions:
{ We automatically generate scenarios and views for a public process
considering both control- ow and data- ow. A scenario is a complete execution path
[
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] for a public process. Data dependencies are represented by a data
dependency graph, which is optimized into a minimal data dependency graph.
Then reduction rules are proposed to identify and remove unnecessary
control dependencies speci ed by sequence, And and Loop blocks in a scenario,
and a view is generated to represent this scenario for analysis purposes. A
public process can be described as a nite set of views.
{ Based on pairwise compatibility of their views, we compute the degree of
compatibility for two public processes, which indicates whether they can
carry out an interaction with certain conditions. However, for any two views,
compatibility is a binary relation and means that mismatches existing
between them are resolvable [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
{ Based on control dependencies and data dependencies, we propose to
generate a process mediator automatically for facilitating the interaction among
compatible public processes.
      </p>
      <p>
        To the best of our knowledge, our scenario-view based approach is the rst
study to support mediated service interactions considering both control- ow and
data- ow. Because our approach focuses on a behavioral aspect of Web services,
it is very useful to support intra-/inter-organizational work ow cooperation [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
The major contribution of this work includes four aspects: rstly, it will bene t
service modelers and users for a better understanding of public processes.
Secondly, it will provide guidelines for creation and evolution of public processes.
Thirdly, it will provide a novel approach to compute the degree of
compatibility of public processes although mismatches may exist among them. Finally, it
will generate process mediators for solving resolvable mismatches among public
processes, and thus facilitates mediated service interactions.
      </p>
      <p>Our work in this study will be presented as follows. A motivation example is
presented in Section 2. A de nition and graphical notations for a public process
is shown in Section 3. Scenarios and views are generated for describing a public
process in Section 4. Then compatibility of public processes is computed based
on pairwise compatibility of their views in Section 5, and process mediators are
presented in Section 6. Finally, related work is discussed and a conclusion is
drawn in Section 7 and 8.</p>
    </sec>
    <sec id="sec-2">
      <title>A Motivating Example</title>
      <p>ReqA expects a discount from ToyS. However, Figure 2 shows a snippet of an
interaction that ReqA gets a normal price: "S: Customer Information " is sent
out by ReqA. But for some reasons, it is later than "S: Toy Items " of t1. For
his side, ToyS waits "R: Customer Information " for t2 after receiving "R: Toy
Items". If t1 &gt; t2, ToyS improperly assume that ReqA should not send "S:
Customer Information" and then give a normal price.</p>
      <p>If there is a process mediator in the middle, ToyS will be noti ed by the
process mediator that "S: Customer Information " has been sent out by ReqA.
Then ToyS will wait for "S: Customer Information " and give a discount.</p>
      <p>
        This example indicates that, without the support of a process mediator, Web
services may carry out an unexpected, or wrong, interaction.
According to current approaches, e.g. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], for checking
compatibility, ReqB and ToyS are assumed as incompatible. Process mediation
approaches, e.g. [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], regard this mismatch as unresolvable [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>If a process mediator exists in the middle considering both control
dependencies and data dependencies, a successful interaction is possible. To do this,
ToyS is noti ed by the process mediator that ReqB will not send "S: Customer
Information" before receiving "R: Price", and thus a null message is sent from
the process mediator to ToyS as "S: Customer Information ". Then ToyS can
executes the following activity "S: Price". However, ToyS will update this message
whenever "S: Customer Information " is provided by ReqB. Figure 3 shows how
this mediated service interaction is carried out. For simplicity, activities that do
not contribute to this interaction are not presented.
Our motivating example shows that current approaches are insu cient to check
compatibility of public processes, and are limited to support mediated service
interactions. Their main shortcoming is that: they only consider control
dependencies, but largely ignore data dependencies. As illustrated in the toy shop
shown in Figure 1-c, a sequence constraint between "R: Customer Information "
and "S: Price" speci es a control dependency. However, a data dependency
between them is optional. This feature causes that a direct service interaction
shown in Figure 2 is unexpected or wrong, and a mediated service interaction
shown in Figure 3 can be successfully carried out.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Public Process: A De nition and Graphical Notations</title>
      <p>Below we give a de nition for a public process where messages and guard
functions are the rst-class elements.</p>
      <p>De nition 1 (Public Process). A public process p is the ve-tuple (MSG,
ACT, CNT, GRD, ARC), where MSG=fmsgg is is a nite set of messages,
ACT=factg is a nite set of activities for sending or receiving messages, CNT=fStart,
Failure, End, Xor Split, Xor Join, And Split, And Joing are control elements,
GRD=fgrdg is a nite set of guard functions related to control elements, and
ARC=farcg is a nite set of arcs that connect activities and control elements.</p>
      <p>We assume that one message contains one data. Both activities and control
elements are the nodes in a public process. Figure 4 shows six basic graphical
notations to model a public process. These notations are supported by
JGraphPad 1, based on which our prototype is implemented. In addition, our notations
can model six ordering structures speci ed by WfMC 2.</p>
      <sec id="sec-3-1">
        <title>1 http://www.jgraph.com/jgraphpad.html.</title>
        <p>2 http://www.wfmc.org/standards/docs.htm.</p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Generating Scenarios and Views for a Public process</title>
      <p>We rstly generate all scenarios for a public process. Data dependencies are
presented as a data dependency graph, which presents a nite set of mandatory or
optional data dependencies in a public process or a scenario. However, a data
dependency is redundant and can be safely removed if it is implicitly speci ed
by other data dependencies. A minimal data dependency graph is generated
where there are no redundant data dependencies. Then we propose three
reduction rules to identify and remove unnecessary control dependencies speci ed by
sequence, And and Loop blocks in a scenario. With the help of a minimal data
dependency graph, we generate a view for a scenario by applying three reduction
rules recursively. A public process includes a nite set of scenarios. A scenario
has a corresponding view which represents this scenario for analysis purposes.
A public process can be described as a nite set of views. For the sake of space
limitation, our algorithms are not presented.
4.1</p>
      <sec id="sec-4-1">
        <title>Generating Scenarios for a Public Process</title>
        <p>Only one path of a Xor block can be enabled in a given execution depending
on the status of guard functions. Similarly, only one branch can be enabled in
a given execution for a Branch control elements that contribute to exclusive
relation. Then, a nite set of scenarios can be generated for a public process.</p>
        <p>De nition 2 (Scenario). A scenario sce is a complete execution path for a
public process p, which is de ned by the ve-tuple (M SGsce, ACTsce, CN Tsce,
GRDsce, ARCsce) generated from those of p. For any node in a scenario
except Start, Failure/End, And Split, And Join, and Branch control elements for
modeling loops, it has only one entering and one leaving edge.</p>
        <p>There are two scenarios for ToyS, and Figure 3-a shows one of them. There
are two scenarios for ReqB, and Figure 3-b shows one of them.
4.2</p>
      </sec>
      <sec id="sec-4-2">
        <title>Optimizing Data Dependencies into a Minimal Data</title>
      </sec>
      <sec id="sec-4-3">
        <title>Dependency Graph</title>
        <p>
          Similar as [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ], we assume that data dependencies can be extracted from a public
process with the help of process modelers.
        </p>
        <p>De nition 3 (Data Dependency Graph). A data dependency graph dg for
a public process (MSG, ACT, CNT, GRD, ARC) is a directed, connected and
acyclic graph, which is de ned by the two-tuple (DAT Adg, DEdg), where DAT Adg
= fdatag is a nite set of data generated from MSG, which are the nodes in this
graph. DEdg = DEd(Mg) [ DEd(Og) a nite set of edges, which are the direct links
in this graph specifying the dependency relations among data. DEd(Mg) is for
mandatory dependencies, and DEd(Og) is for optional dependencies.</p>
        <p>One data is regarded as dependent on another data if (1) a direct link
connects them (directly dependent), or (2) several direct links form a path leading
from one data to another (indirectly dependent). Then a data dependency graph
can be represented as a nite set of dependent relations. A data dependency
graph is called functionally equivalent to another data dependency graph if any
dependency relation in one data dependency graph can exist in another data
dependency graph directly or indirectly.</p>
        <p>
          De nition 4 (Minimal Data Dependency Graph). A minimal data dependency
graph dgmin: (DAT Amin, DEmin) is generated from a data dependency graph
(DATA, DE), where DAT Amin = DATA, DEmin DE. (DAT Amin, DEmin)
is functionally equivalent to (DATA, DE), but 8 de 2 DEmin: (DAT Amin,
(DEmin fdeg)) is not functionally equivalent to (DATA, DE).
Control- ow structures of a scenario specify execution orders of activities.
However, the execution of some activities may not follow these orders. An example
is "R: Toy Items" and "R: Customer Information" in Figure 3-a since they
are not data dependent on each other. Thus, we present three reduction rules
to identify and remove unnecessary control dependencies speci ed by Sequence,
And and Loop blocks. In a scenario, only one path is allowed for a Xor block
and a branch for a Branch control element that speci es an exclusive relation.
They are functionally equivalent to Sequences. We follow [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] for the function:
fold, for replacing several contiguous nodes by a single node.
        </p>
        <p>Rule 1 (Sequence). A sequence of activities are folded into a single node if
data dependencies among them are not mandatary.</p>
        <p>Rule 2 (And). An And block with its And Split and And Join is folded into
(1) a single node if all activities in each path can be folded into a single node or
(2) a sequence of nodes otherwise.</p>
        <p>The rule for And block is shown by Figure 6-a and 6-b. An And block suggests
that all its paths are executed in parallel. However, there are no control and data
dependencies among activities of di erent paths. This means that an And block
can be converted into a sequence of activities as shown in Figure 6-c.</p>
        <p>Rule 3 (Loop). A Loop block is folded into (1) a single node if the Loop body
can be folded into one node or (2) a sequence of nodes otherwise. Guard functions
are de ned in the last node to specify the exit conditions of the Loop block. There
are possibly multiple instances for any node during execution phases.</p>
        <p>
          This rule is shown by Figure 6-d and 6-e. A Loop block iterates over one or
several nodes until its exit conditions are satis ed, but it doesn't iterate forever
in real cases. As suggested by [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ], a Loop block can be simulated as a sequence of
at most N repetitions of its Loop body, where N depends on a given execution.
We rstly introduce the concept: view, and its related concept: checkpoint.
        </p>
        <p>De nition 5 (Checkpoint). A checkpoint cp includes a nite set of contiguous
activities in a scenario in which data dependencies among them are not
mandatory. A checkpoint is de ned by the four-tuple (label, ACT, DATA, GRD), where
label for its label. ACT for activities, DATA for required data, and GRD for
guard functions, are generated from those of the scenario.</p>
        <p>Required data are generated with the help of the minimal data dependency
graph of a scenario. E.g., according to Figure 5, "R: Toy Items" is required to
"S: Price", but "R: Customer Information" not.</p>
        <p>De nition 6 (View for a Scenario). A view vw for a scenario (M SGsce,
ACTsce, CN Tsce, GRDsce, ARCsce) is the ve-tuple (M SGvw, CP, cp0, cpf ,
DEvw). M SGvw = M SGsce, CP=fcpg is a nite set of checkpoints, cp0 is the
initial checkpoint, and cpf is the nal one, while DEvw = fdeg is a nite set of
direct links connecting checkpoints to specify data dependencies among them.</p>
        <p>With the help of a minimal data dependency graph, reduction rules can be
applied to a scenario recursively until no nodes can be folded anymore. Then
checkpoints can be generated and a view can be derived.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Computing the Degree of Compatibility</title>
      <p>In this section, we focus on the compatibility of two public processes since the
majority of interactions are related to two partners, and an interaction involving
multiple partners can often be decomposed into several pairwise interactions.</p>
      <p>Compatibility aims to check whether two public processes can carry out a
successful interaction. Before discussing compatibility, we present what an
interaction is, and how an interaction is regarded as successful. Then we compute the
degree of compatibility of two public processes based on pairwise compatibility
of their views. Due to the space limitation, our algorithms are not presented.
5.1</p>
      <sec id="sec-5-1">
        <title>What is a Successful Interaction?</title>
        <p>An interaction means that several public processes, if compatible, can be
composed into a complex one for achieving a given goal. Since a scenario represents
a complete execution path of a public process, an interaction of public processes
is actually an interaction among scenarios of these public processes.</p>
        <p>A scenario, or a public process, speci es a set of messages sent to or received
from its potential partner(s) following a pre-de ned order. Therefore, an
interaction can be regarded as a ow of messages exchanged among scenarios. If this
ow of message can lead each scenario from its Start control element to its nal
control element, this interaction is regarded as successful. Some mismatches may
exist among these scenarios. However, the mismatches are resolvable and can be
handled by a process mediator.
5.2</p>
      </sec>
      <sec id="sec-5-2">
        <title>Computing the Degree of Compatibility</title>
        <p>For any two scenarios, if a ow of messages exchanged between them can carry
out a successful interaction, this indicates that this ow of messages can lead
their views from their initial checkpoints to their nal checkpoints. In this case,
these two views are regarded as compatible. On the other hand, if two views are
not compatible, these two views cannot interact since at least one checkpoint in
a view cannot be guaranteed.</p>
        <p>Based on pairwise compatibility of their views, we can de ne the degree of
compatibility for two public processes p1 and p2. We assume that there are n1
views in p1. For a view vi (1 i n1) in p1, we de ne a function comp(vi j p2)
to specify whether there is a compatible view in p2 if comp(vi j p2) = 1, or
comp(vi j p2) = 0 otherwise. Thus, the degree of compatibility for p1 to p2 is:
Compatibility(p1; p2) =
(1)
P1n1 comp(vi j p2)
n1</p>
        <p>Compatibility at a view level is a symmetric relation. However, compatibility
at a public process level is an antisymmetric relation, and Compatibility(p1; p2)
and Compatibility(p2; p1) are often di erent. Based on the degree of
compatibility, we de ne three classes of compatibility for two public processes p1 and
p2:
{ No compatibility if Compatibility(p1; p2) = 0.
{ Partial compatibility if 0 &lt; Compatibility(p1; p2) &lt; 1.</p>
        <p>{ Full compatibility if Compatibility(p1; p2) = 1.</p>
        <p>No compatibility means that two public processes cannot interact in any case,
and full compatibility means that one public process can interact with another in
any case, while partial compatibility means that one public process can interact
with another in at least one but not all cases.</p>
        <p>ToyS and ReqB are fully compatible with each other. Since there are two
views for ToyS and two views for ReqB, and any view in ToyS has a compatible
view in ReqB and vise versa.
6</p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Generating Process Mediators</title>
      <p>A process mediator aims to facilitate an interaction if mismatches exist among
public processes. Since how to generate process mediators is our ongoing work,
in this section, we present our strategies:
{ There is a space for a process mediator, in which each public process has
a sub-space for saving messages. Public processes do not communicate with
each other directly. Instead, they send or receive messages to or from a
process mediator. This means that production and consumption of messages
are time-independent.
{ For any message sent by one public process, (1) a process mediator
immediately forward it to other public processes that are ready to receive it, and (2)
a process mediator checks whether it is potentially expected by other public
processes in the future. If yes, the process mediator saves this message for
these public processes for possible later usage.</p>
      <p>It is possible that a message is consumed by several public processes.
However, if no public process interests in this message now and in the future, it
is dropped o immediately and silently.
{ In case that a message is expected by a public process and this message is
not available in its sub-space. A process mediator will check whether this
message is sent out by other public processes already. If yes, this public
process blocks and waits until this message is available.
{ In case that all public processes are expecting to receive messages and thus
an interaction blocks. A process mediator will check each public process:
whether data dependencies between current activities and their following
activities are not mandatory. If true, the process mediator will generate a
null message (or an ACK message if acknowledgement is needed) for this
public process to execute current activities.
7</p>
    </sec>
    <sec id="sec-7">
      <title>Related Work</title>
      <p>We discuss the related work from the following four aspects: analysis of public
processes, compatibility, process mediation and service interaction.</p>
      <p>
        Analysis of public processes: This aspect includes: Control- ow based
methods [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] only focus on control- ow and largely ignore data- ow.
Dependency based methods [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ] analyze dependencies from data, control, service and
cooperation aspects. This work bene ts much to our dependency analysis. View
based methods [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ] investigate the relation of private and public processes
from a control- ow aspect. Current approaches focus on either a control- ow or
data- ow aspect, and are limited to support mediated service interactions.
      </p>
      <p>
        Compatibility: In [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], the authors presented an analysis for protocol
compatibility based on several general protocol operators. Two classes of protocol
compatibility are de ned: partial or full compatibility. This work presents a solid
theoretic analysis for compatibility from the control- ow aspect. In [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], the
authors checked business process compatibility based on c-graph and u-graph.
Two work ow modules are semantically compatible if they are syntactically
compatible, and their composed system is usable. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], the authors established a
consistent, multi-lateral collaboration by propagating parameter constraints and
execution sequences among local work ows. This work may not t to Web
services where trust, privacy, and security are critical issues. In [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ], the authors
veri ed compatibility following a client/server model. However, these approaches
mainly focus on control- ow, and aim to support direct service interactions.
      </p>
      <p>
        Process mediation: There are mainly two kinds of approaches: in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ],
DERI 3 researchers presented ve basic patterns for process mediation,
integrated process mediation as a component in WSMX 4, and speci ed the
interaction mode with other components. In [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], Benatallah et al presented
an adapter-based approach to semi-automatically solve business protocol
mismatches. Mismatch patterns were used to formalize the mismatches and thus to
provide a uniform mechanism to address mismatches. In addition, they proposed
to identify actual mismatches semi-automatically (may need the help of service
providers), and generated adapters to solve them. However, current approaches
are control- ow based and ignore data- ow almost. They are limited to support
mediated service interactions.
      </p>
      <p>
        Service interaction: In [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ], the authors proposed a Public-to-Private
approach for inter-organizational work ow interoperations based on inheritance.
This is a top-down approach and may not t to Web service domain. In [
        <xref ref-type="bibr" rid="ref18">18</xref>
        ], a
bottom-up approach was presented to establish a consistent, multi-lateral
collaboration in a decentralized way. As discussed previously, it may not t to Web
service domain. A view-based approach [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] was proposed to support dynamic
inter-organizational work ow cooperation including three steps: advertisement,
interconnection, and cooperation. Taken together, current approaches mainly
focus on control- ow, and aim to support direct service interactions only.
8
      </p>
    </sec>
    <sec id="sec-8">
      <title>Conclusion</title>
      <p>In this paper, we rstly identi ed that, without a process mediator, some Web
service interactions could be unexpected or wrong, and some could fail. We also
revealed that current approaches are insu cient to check compatibility and to
support process mediators because they mainly focus on control- ow and largely</p>
      <sec id="sec-8-1">
        <title>3 http://www.deri.org/.</title>
        <p>4 http://www.wsmx.org/.
ignore data- ow. To solve these problems, we have proposed a novel approach
to automatically generate scenarios and views for describing public processes,
to compute the degree of compatibility of public processes based on pairwise
compatibility of their views, and to generate process mediators for supporting
mediated service interactions.</p>
        <p>
          We have implemented the prototype to generate scenarios and views for
public processes, and to compute the degree of compatibility. Furthermore, we
propose to support replacement [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ] besides interaction. Due to the space limitation,
we have not presented them in this paper.
        </p>
        <p>Acknowledgments. The work presented in this paper was supported (in part)
by the EU funded TripCom Speci c Targeted Research Project under Grant No.
FP6-027324, and (in part) by the Lion project supported by Science Foundation
Ireland under Grant No. SFI/02/CE1/I131.</p>
        <p>We thank Sami Bhiri and Laurentiu Vasiliu for their continuous discussion
and valuable comments on purging research problems and solutions.</p>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Representing, analysing and managing web service protocols</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          .
          <volume>58</volume>
          ,
          <issue>3</issue>
          , 327{
          <fpage>357</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Grigori</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nezhad</surname>
            ,
            <given-names>H.R.M.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Toumani</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Developing Adapters for Web Services Integration</article-title>
          .
          <source>Proc. of CAiSE</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Chebbi</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dustdar</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Tata</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>The view-based approach to dynamic interorganizational work ow cooperation</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          .
          <volume>56</volume>
          ,
          <issue>2</issue>
          , 139{
          <fpage>173</fpage>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cimpian</surname>
            ,
            <given-names>E.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Mocan</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <source>WSMX Process Mediation Based on Choreographies. Proc. of 1st Intl. Workshop on Web Service Choreography and Orchestration for Business Process Management at the BPM</source>
          <year>2005</year>
          .
          <article-title>(</article-title>
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Fensel</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Bussler</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>The Web Service Modeling Framework WSMF</article-title>
          .
          <source>Journal of Electronic Commerce Research and Applications</source>
          .
          <volume>113</volume>
          {
          <issue>137</issue>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Fu</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bultan</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Su</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>Analysis of interacting BPEL web services</article-title>
          .
          <source>Proc. of WWW</source>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Hao</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Cao</surname>
          </string-name>
          , J.:
          <article-title>WSXplorer: Searching for Desired Web Services</article-title>
          .
          <source>Proc. of CAiSE</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Haselwanter</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kotinurmi</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Moran</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vitvar</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Zaremba</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>WSMX: A Semantic Service Oriented Middleware for B2B Integration</article-title>
          .
          <source>Proc. of ICSOC</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kim</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>WSMX: A Semantic Service Oriented Middleware for B2B Integration</article-title>
          .
          <source>Proc. of SKG</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>On Compatibility of Web Service</article-title>
          .
          <source>Petri Net Newsletter</source>
          .
          <volume>65</volume>
          ,
          <issue>12</issue>
          {
          <fpage>20</fpage>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Analyzing Web Service based Business Processes</article-title>
          .
          <source>Proc. of FASE'05</source>
          , Part of ETAPS'
          <volume>05</volume>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Nezhad</surname>
            ,
            <given-names>H.R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Benatallah</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martens</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Curbera</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Casati</surname>
          </string-name>
          , F.:
          <article-title>SemiAutomated Adaptation of Service Interactions</article-title>
          .
          <source>Proc. of WWW</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zhang</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lin</surname>
            ,
            <given-names>L.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Shi</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          :
          <article-title>Compatibility Analysis of Web Services</article-title>
          .
          <source>Proc. of WI</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Modeling and analyzing interorganizational work ows</article-title>
          .
          <source>Proc. of CSD</source>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.:</given-names>
          </string-name>
          <article-title>The P2P Approach to Interorganizational Work ows</article-title>
          .
          <source>Proc. of CAiSE</source>
          (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Lassen</surname>
          </string-name>
          , K.B.:
          <article-title>Translating unstructured work ow processes to readable BPEL: Theory and implementation</article-title>
          .
          <source>Information and Software Technology</source>
          .
          <volume>50</volume>
          ,
          <issue>3</issue>
          , 131{
          <fpage>159</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17. van der Aalst W.M.P.,
          <string-name>
            <surname>de Medeiros</surname>
            ,
            <given-names>A.K.A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Weijters</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.J.M.M.</surname>
          </string-name>
          <article-title>: Process Equivalence: Comparing Two Process Models Based on Observed Behavior</article-title>
          .
          <source>Proc. of BPM</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Wombacher</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Decentralized establishment of consistent, multi-lateral collaborations</article-title>
          .
          <source>PhD Thesis</source>
          at Facultiy of Informatics, Technical University Darmstad. (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Qinyi Wu</surname>
            ,
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pul</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sahai</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Barga</surname>
          </string-name>
          , R.:
          <article-title>Categorization and Optimization of Synchronization Dependencies in Business Processes</article-title>
          .
          <source>Proc. of ICDE</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Zhao</surname>
            ,
            <given-names>X.</given-names>
          </string-name>
          and
          <string-name>
            <surname>Liu</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Tracking over Collaborative Business Processes</article-title>
          .
          <source>Proc. of BPM</source>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>