<!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 Method for Partitioning BPEL Processes for Decentralized Execution*</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Daniel Wutke</string-name>
          <email>wutke@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Daniel Martin</string-name>
          <email>martin@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <email>leymann@iaas.uni-stuttgart.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Architecture of Application Systems University of Stuttgart Universitatsstrasse 38</institution>
          ,
          <addr-line>70569 Stuttgart</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Service orchestrations are a common means to compose individual services to either higher-level services or potentially complex composite applications. The Web Service Business Process Execution Language (WS-BPEL) is an example for a language that allows for de ning automatically executable orchestrations of Web services. As of today, BPEL process are typically executed in a centralized manner; the process model is deployed on a single work ow management system which, during process instance execution, interprets the process de nition and interacts with the orchestrated Web services on behalf of the user. In previous work, we have presented an approach which enables decentralized execution of BPEL processes based on a decentralized process model and supporting runtime infrastructure. In this paper we describe a method for automatic splitting of a process among the partners participating in its execution, referred to as process partitioning.</p>
      </abstract>
      <kwd-group>
        <kwd>Process partitioning</kwd>
        <kwd>decentralized process enactment</kwd>
        <kwd>BPEL</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        One of the key aspects of the Service-oriented Architecture (SOA) are service
compositions following the so-called two-level programming paradigm where
individual reusable services are composed into high-level services or potentially
complex service orchestrations which can executed automatically using work ow
management systems (WfMS). The means for de ning the \wiring" between the
compound services is provided by work ow de nition languages such as the Web
Service Business Process Execution Language (WS-BPEL) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. As of today, the
automatic execution of a BPEL process typically comprises the deployment of
the process model to a single WfMS and { after process instantiation triggered
by incoming messages sent by clients to the WfMS { continuous evaluation of (i)
the process' control ow de ned in the process model and (ii) the current state of
* This work is supported by the EU funded project TripCom (FP6-027324),
http://www.tripcom.org.
the process' instance data by the WfMS's navigator component; hence we refer
to process navigation being a centralized process.
      </p>
      <p>
        However, a number of reasons, ranging from outsourcing of process fragments
to runtime performance optimizations without the need for process model changes,
motivate the need for a decentralized execution environment for BPEL processes.
Hence, in previous work [
        <xref ref-type="bibr" rid="ref2 ref3 ref4">2,3,4</xref>
        ], we have presented an approach that allows for
(nearly) arbitrary process splitting by enabling distributed navigation among the
partners participating in a process' execution. Following this approach, once can
realized di erent deployment of the same process model within the spectrum
from ranging from centralized execution to fully decentralized execution where
each \step" (i.e. activity) being carried out by the process is executed by a
di erent process participant. Finding an \adequate" distribution, also referred to
as partitioning, of the process is dependent on a number of in uential factors.
Subject of this paper is the presentation and discussion of these factors and a
high-level description of an approach to the process partitioning problem that
addresses each of the identi ed in uential factors.
      </p>
      <p>The remainder of the paper is structured as follows. In Section 2 the EWFN
process model provides the basis for the proposed approach is described to the
extend necessary for the discussion of the partitioning procedure. Based on
this foundation, Section 3 introduces the general idea of process partitioning,
discusses various parameters that in uence process partitioning and outlines a
procedure that addresses each of the de ned partitioning parameters. In Section 4
a brief overview of a few related approaches which are either particularly relevant
to the problem discussed in the paper due to either addressing the concrete
problem of partitioning BPEL processes or similar parameters in uencing process
partitioning are presented.
2</p>
    </sec>
    <sec id="sec-2">
      <title>Decentralized Enactment of BPEL Processes</title>
      <p>Coordinating a number of distributed clients, where each of those clients realizes
a de ned part of an overall process requires communication of both process
control ow and process instance data among the clients participating in the
process' execution. In this context, control ow refers to the individual client's
execution being started according to the order de ned in the process model; the
term instance data characterizes both data being \visible" in process models
such as BPEL variables, partner links (which can be source or destination of
assignment operations) or correlation sets as well as \invisible" instance data
such as the state of a scope or the state of incoming message activities. While
this information is provided in the WS-BPEL speci cation through a description
of the language's operational semantics, this description is { due to its informal
textual nature { neither suitable for automatic execution by WfMSs nor may it
serve as input for process partitioning.</p>
      <p>
        As a result, the formalism of Executable Work ow Networks (EWFN) has
been developed on the basis of colored, non-hierarchical Petri nets [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] and
Boolean networks [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ]; it allows for explicitly describing the data communicated
during process instance execution using the communication primitives of the the
Linda Tuplespace model [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] { read for non-destructive and take for destructive
consumption of data, write for production of data { plus a number of extensions
that address process execution-speci c requirements such as the sync operation
for synchronizing join operations [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
      </p>
      <p>PartnerLinks
Assign
Variables</p>
      <p>Ended</p>
      <sec id="sec-2-1">
        <title>Assign</title>
        <p>Check for
open IMA
tu3
Check Correlation
Consistency t2
te5
Failed
IMA
States
tu4</p>
        <p>te2
te6
te6</p>
        <p>Finalize
Reply
tu7
3
t
Ended
Ended
WS
t4Endpoint
t4 Reply</p>
      </sec>
      <sec id="sec-2-2">
        <title>Sequence</title>
        <p>Correlations</p>
        <p>Variables PartnerLinks</p>
        <p>Figure 1 depicts the EWFN representation of a BPEL sequence activity
with two contained activities. Activities are depicted as dashed rectangles and
comprise (similar to Petri nets) transitions and places. Following the EWFN
formalism, transitions represent a piece of application logic and carry out the
actual processing. Transitions coordinate themselves by consuming tokens from
and producing tokens to places which provide passive bu ers for tokens; the tokens
are self-contained in the sense that they provide enough information to uniquely
identify each token communicated in an EWFN. On the level of the infrastructure
supporting execution of EWFNs, places are realized by tuplespaces, transitions
by tuplespace clients. The arcs between transitions and places represent the
individual operations supported by the tuplespace interface and may be annotated
with a weight representing the operation cost, resulting e.g. from the volume of
the data being communicated as part of that operation.</p>
        <p>As an example, transition t1 of the assign activity represents an assignment
of a value to either a BPEL variable or a partner link. To represent process
control ow t1 is activated by a token becoming available in its Start place;
once t1 has nished its execution is signals its successful completion to the
subsequent activity by producing a corresponding token to its Ended activity.
Consuming and producing process control ow information is depicted as directed
black arcs between places and transitions and transitions and places respectively.
During execution of their application logic, transitions may consume and produce
further tokens representing instance data; in case of the depicted assign activity
this might include the modi cation of the value of a variable or the endpoint
reference assigned to a partner link. Similar to BPEL activities, EWFNs can be
nested as presented in the example with the sequence activity surrounding the
assign and receive activities. The operational semantics of the sequence
activity is de ned as each contained activity becoming ready to execute once its
preceding activity has completed its execution. In the EWFN this is represented
by collapsing the Ended place of the assign activity and the Start place of the
receive activity into one place.
3</p>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Process Partitioning</title>
      <p>The term process partitioning refers to the procedure of assigning information
about the partner the corresponding node of the EWFN is executed by during
instance runtime to each transition and place of an EWFN. This process is
in uenced by a number of parameters which can be classi ed in three groups.
Process model As outlined before, the EWFN of a BPEL process provides
a formal description of (i) the steps carried out during process instance
execution and (ii) the data being communicated along the way. As a result it
is one of the major parameters of the process partitioning procedure.
Service infrastructure Through BPEL's interaction activities (e.g. invoke
and receive) the BPEL process may interact with Web service clients and
the Web services it orchestrates. As the partners providing a service used by
the process are in any event process participants they are potentially suitable
candidates for executing a part of the processes orchestration logic as well.
Organizational factors Organizational factors re ect parameters that are not
necessarily a result of the process structure or its service landscape, but
are de ned manually by users. It might e.g. be desired to manually de ne
the partition of a certain place that contains BPEL variable data for data
ownership reasons.</p>
      <p>
        The proposed process partitioning approach comprises three phases and is
an extension of the procedure presented in [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] in the sense that it also relies on
the notion of di erent kinds of nodes { xed, heavy, and light { whose partition
assignment is addressed in consecutive phases of the partitioning algorithm as
depicted in Table 1; once a partition of a been determined in on of the phases
the node is not considered in the further phases of the algorithm.
      </p>
      <p>Fixed nodes represent nodes with partitioning information de ned a priori by
manual user input and re ect organizational partitioning parameters. To allow
for maximum exibility, each node of an EWFN { transitions and places { can
become a xed node. Interaction activities, i.e. those points of a BPEL process
Phase
1. Fixed Nodes</p>
      <sec id="sec-3-1">
        <title>2. Heavy Nodes</title>
      </sec>
      <sec id="sec-3-2">
        <title>3. Light Nodes</title>
        <p>
          Examined Arbitrary nodes Interaction activities: Non-interaction
Objects invoke, receive, activities; instance
pick, reply data
Partitioning Manual assignment by Automatic service Graph partitioning
Method user; rules discovery and service applied to the process'
selection; rules EWFN
where interaction with its service landscape occurs, are referred to as heavy
nodes. Their partitioning information is determined automatically using means
for service discovery (based on the service's functional characteristics through its
WSDL description) and service selection (based on the service's non-functional
properties such as service invocation cost, service response time, etc. re ected
through WS-Policy descriptions). In addition, partitioning information of heavy
nodes might be dependent on deployment information (e.g. for de ning on which
endpoint the process can receive incoming messages) or other heavy nodes (e.g.
in case of receive-reply pairs to support synchronous Web service bindings).
Light nodes re ect non-interaction activities as well as process instance data
for which no partitioning information has been de ned until this point. Their
partitioning is performed by migrating them to the partition of adjacent xed
or heavy nodes as de ned in the process' EWFN. Since an EWFN is a directed
weighted graph and the problem is a variant of the well-known graph partitioning
problem with the optimization criteria of minimizing the cost of inter-partition
interactions, existing optimization algorithms such as Simulated Annealing [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ]
are used to realize this phase of the partitioning algorithm.
4
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Related Work</title>
      <p>
        In [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ], the authors introduce a work ow system architecture for supporting
large-scale distributed applications called Mentor based on TP monitors and
object request brokers. Decentralized work ow execution in Mentor is achieved
by rule-based partitioning of a work ow based on activity and state charts
into a set of sub-work ows which are then enacted by a number of distributed
work ow engines that are synchronized using Mentor. In [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ], a BPEL process
model is manually split by a user (e.g. for reasons of process outsourcing) in a
number of fragments and a corresponding BPEL process (along with necessary
deployment information) is created for each fragment. The BPEL processes are
then deployed and executed at the partners participating in the process' execution.
For supporting BPEL's scope and while activities, a central coordinator is
required. In [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] a similar approach to distributed execution of BPEL processes is
presented supporting automatic process partitioning based on an analysis of a
program dependence graph generated for the process and a corresponding cost
model.
      </p>
    </sec>
    <sec id="sec-5">
      <title>Conclusions</title>
      <p>In this paper we have outlined a process model that enables decentralized
execution of BPEL processes and allows for nearly arbitrarily fragmented process
execution. Thereby we have stressed the need for an algorithm for de ning process
partitions based on a number of in uential factors and have presented a high-level
overview of the proposed algorithm and how it addresses the individual process
partitioning parameters.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <source>Organization for the Advancement of Structured Information Standards: Web Services Business Process Execution Language Version</source>
          <volume>2</volume>
          .0 {
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard</surname>
          </string-name>
          (
          <year>March 2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Wutke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Model and Infrastructure for Decentralized Work ow Enactment</article-title>
          .
          <source>In: SAC '08: Proceedings of the 2008 ACM Symposium on Applied Computing</source>
          , New York, NY, USA, ACM (
          <year>2008</year>
          )
          <volume>90</volume>
          {
          <fpage>94</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. Daniel Martin and
          <string-name>
            <given-names>Daniel</given-names>
            <surname>Wutke</surname>
          </string-name>
          and Frank Leymann:
          <article-title>EWFN { a Petri net dialect for tuplespace-based work ow enactment</article-title>
          .
          <source>Volume 380 of CEUR Workshop Proceedings., CEUR-WS.org (September</source>
          <year>2008</year>
          )
          <volume>7</volume>
          {
          <fpage>14</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wutke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>A novel approach to decentralized work ow enactment</article-title>
          .
          <source>Enterprise Distributed Object Computing Conference</source>
          ,
          <year>2008</year>
          . EDOC '
          <volume>08</volume>
          . 12th International IEEE (Sept.
          <year>2008</year>
          )
          <volume>127</volume>
          {
          <fpage>136</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Jensen</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <source>Coloured Petri Nets</source>
          , Vol.
          <volume>1</volume>
          :
          <string-name>
            <given-names>Basic</given-names>
            <surname>Concepts</surname>
          </string-name>
          .
          <source>EATCS Monographs on Theoretical Computer Science</source>
          . Berlin, Heidelberg, New York: Springer-Verlag (
          <year>1992</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Langner</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schneider</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wehler</surname>
          </string-name>
          , J.:
          <article-title>Prozessmodellierung mit ereignisgesteuerten Prozessketten (EPKs) und Petri-Netzen</article-title>
          .
          <source>Wirtschaftsinformatik</source>
          <volume>39</volume>
          (
          <issue>5</issue>
          ) (
          <year>1997</year>
          )
          <volume>479</volume>
          {
          <fpage>489</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Gelernter</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Generative Communication in Linda</article-title>
          .
          <source>ACM Transactions on Programming Languages and Systems</source>
          <volume>7</volume>
          (
          <year>1985</year>
          )
          <volume>80</volume>
          {
          <fpage>112</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Martin</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wutke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Synchronizing control ow in a tuplespacebased, distributed work ow management system</article-title>
          .
          <source>In: ICEC '08: Proceedings of the 10th international conference on Electronic commerce</source>
          , New York, NY, USA, ACM (
          <year>2008</year>
          ) 1{
          <fpage>9</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Nanda</surname>
            ,
            <given-names>M.G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chandra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sarkar</surname>
            ,
            <given-names>V.</given-names>
          </string-name>
          :
          <article-title>Decentralizing Execution of Composite Web Services</article-title>
          .
          <source>Proceedings of the 19th Annual ACM SIGPLAN Conference on Objectoriented Programming, Systems,Languages, and Applications</source>
          (
          <year>2004</year>
          )
          <volume>170</volume>
          {
          <fpage>187</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kirkpatrick</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gelatt</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vecchi</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Optimization by Simulated Annealing</article-title>
          .
          <source>Science</source>
          <volume>220</volume>
          (
          <issue>4598</issue>
          ) (
          <year>1983</year>
          )
          <volume>671</volume>
          {
          <fpage>680</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Muth</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wodtke</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weissenfels</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dittrich</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weikum</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>From Centralized Work ow Speci cation to Distributed Work ow Execution</article-title>
          .
          <source>Journal of Intelligent Information Systems</source>
          <volume>10</volume>
          (
          <issue>2</issue>
          ) (
          <year>1998</year>
          )
          <volume>159</volume>
          {
          <fpage>184</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Khalaf</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Role-based decomposition of business processes using bpel</article-title>
          .
          <source>In: ICWS '06: Proceedings of the IEEE International Conference on Web Services</source>
          , Washington, DC, USA, IEEE Computer Society (
          <year>2006</year>
          )
          <volume>770</volume>
          {
          <fpage>780</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>