<!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>Consolidation of Interacting BPEL Process Models with Fault Handlers</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sebastian Wagner</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Oliver Kopp</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <email>leymanng@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</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The interaction behavior between processes of organizations and their suppliers can be modeled by using choreographies. When an organization decides to gain more control about their suppliers and to minimize transaction costs they may decide to insource these companies. This also requires the integration of the partner processes into the organization. In previous work we proposed an approach to merge (consolidate) interacting BPEL process models of different partners into a single process model by deriving control flow links between the process models from their interaction specification. In this work we are detailing this consolidation approach. Thereby, special attention is turned on extending the consolidation operations in a way that process models with fault handlers can be merged.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>To reduce transaction costs or to gain more control companies often decide to integrate
suppliers into their organization (in-sourcing, mergers, and acquisitions). This requires
the integration of the processes and the organizational structure of the two companies. In
this work we focus on the integration on the process-level. More precisely, we want to
merge (or consolidate) complementing process models whose interaction behavior is
described by a choreography.</p>
      <p>
        Process modeling languages such as BPEL [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] or BPMN [
        <xref ref-type="bibr" rid="ref11">11</xref>
        ] offer different
language constructs to raise and handle faults that work similar to throw-catch constructs
in traditional programming languages such as Java. As fault handling constructs can also
cause message exchanges between interacting processes they are also affected by the
consolidation. In this paper we want to describe a technique to merge BPEL process
models that communicate via fault handlers. Moreover, we describe an extension of the
merge operations proposed in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
      </p>
      <p>
        We use BPEL4Chor [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] to model BPEL choreographies as this language provides a
means to define message links between the communication activities of the interacting
BPEL processes.
      </p>
      <p>We assume that the reader is familiar with BPEL. Nevertheless, we give a brief
overview about BPEL’s fault handling concepts in Sect. 2. In Sect. 3 an overview on
the merge operations is provided and extensions to them are discussed. Then, Sect. 4
presents a technique to merge processes that communicate via BPEL fault handlers.
After discussing related work in Sect. 5, Sect. 6 concludes this paper and provides an
outlook on future work.</p>
    </sec>
    <sec id="sec-2">
      <title>BPEL Fault Handling Basics</title>
      <p>BPEL offers three language constructs to repair faulty situations during process execution,
namely fault handlers, compensation handlers and termination handlers. If a fault occurs
within a scope all running activities within this scope are terminated and its fault handlers
are called. A fault handler is represented by a catch or catchAll block. Thereby, multiple
catch blocks can be defined for a scope. Each catch block catches a particular fault that
may be thrown during execution of the scope and contains BPEL activities to handle
this fault. A catchAll block contains logic to catch all other faults that do not match
to a particular catch block. If no explicit fault handlers are defined for a scope it has
an implicit default fault handler attached to it. If any kind of fault occurs during the
execution of the scope the default fault handler triggers compensation handling for its
child scopes (see below) and finally rethrows the fault to its parent scope. If this scope
does not provide a fault handler for this fault either, it is propagated up to its parent
scope and so on until the process scope is reached. If the process scope cannot catch
the fault the process fails and is terminated.</p>
      <p>Compensation handlers contain activities to undo work that was successfully
performed by a scope they are attached to, e. g., canceling a flight that was booked by
the activities of the scope. Hence, they are only executed if their associated scope has
completed successfully.</p>
      <p>
        To control the termination of a scope that is still running a termination handler can be
attached to it. Within the termination handler activities can be defined that are performed
before the actual termination of the scope. If no explicit termination handler was defined
for a scope its default termination handler compensates its child scopes. A more detailed
discussion about fault and compensation handling concepts in BPEL was provided by
Khalaf et al. [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Asynchronous Merge
3</p>
    </sec>
    <sec id="sec-3">
      <title>Asynchronous and Synchronous Consolidation</title>
      <p>We introduced the consolidation op- Process A Process B Process Pmerged
icenhrar[to1ino3on]us.sTtochomemeamrimguenoaicfsayttnhinceghcrpoornnosocouelssidsaamntdioodsnyenilss- Odpae•fqS:uvein Odp•eaRfq:Cuverc deS•fS:AvindeRfo:ovtrc •SRBC
tphhaaavrtteitchtihpeeaantstoasmminiecthcaeocntmitvreiotrilgeeflsdoowpfrtorhceeelasdtsiifomfneosredanestl IvninvS→So•kme m RemcRR→eCCi•vvrce AOvspSinsaY→iqNguvSrnec anOdEpSmYapNqtRuCye
in the original choreography. The basic Opaque Opaque S• RC•
idea behind the consolidation algorithm is OSpCaOqPuEe OSpCaOqPuEe
that the message links imply control flow Flow
relations between the activities of the com- Choreography CAB Merged Process Model
municating process models. The message Figure 1. Asynchronous Merging Operation
link m in Fig. 1 implies for instance that
the successor RC of the receive activity is always performed after the predecessor
activity S of the invoke activity S in process model A as RC cannot be performed
before S completed. However, no statement can be made about the execution sequence
between S and RC , e. g., if they have to be performed simultaneously or if S is
performed before RC and so on. This is different from the synchronous scenario depicted
in Fig. 2. There RC is always performed before S . As activity S does not complete
until it received a response message from RP that is performed after RC . Given these
implicit control flow dependencies, the sending and receiving activities can act as merge
points. Therefore the consolidation operation materializes the implicit control flow to
explicit control flow relations between the activities.</p>
      <p>
        The consolidation algorithm to merge an arbitrary number of process models is
described in the following. As a prerequisite we assume that the choreography is modeled
correctly [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] and deadlock free [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Moreover, we assume there exists just one instance of
each participant per choreography instance, i. e., interaction patterns involving multiple
instances of one participant such as one-to-many send/receive [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are not supported
yet by the consolidation algorithm. Another restriction we make is that a repeatable
constructs such as a BPEL ForEach loop do not contain any communication activities
that are replaced by control flow links between the process models to be merged. As this
would violate the BPEL restriction that repeatable constructs must not be crossed by
control flow links [SA00070] 1.
      </p>
      <p>In a first step a new process model Pmerged is created that contains a flow as root
activity. For each of the process models P1 to Pn to be merged a separate scope is created
in the flow activity of Pmerged. This ensures that the scope activities are performed
simultaneously. Each scope contains the root activity (along with its child activities)
of one of the process models P1 to Pn. The purpose of the scope is to isolate the
activities of the process models from each other as they were also isolated in the original
choreography. To avoid that an uncaught fault thrown in one scope causes the other scope
to crash (as uncaught faults are propagated up to the process scope) a catchAll fault
handler is added to the scopes as shown in Fig. 2. The catchAll contains a compensate
activity to emulate the default compensation that would have been triggered in an original
process without an explicit fault handler. In case an explicit fault handler was defined in
a catchAll block on the original process scope nothing is changed. If a process scope of
a process to be merged has already a a catch block defined simply the catchAll block
is added to this fault handler.</p>
      <p>
        Then the message links are materialized to control flow links. In the asynchronous
case the invoke activity S is replaced by an assign activity SY NS and the receive
activity RC by an empty activity SY NRC. SY NS emulates the message transfer between
between the former invoke and receive activity, i. e., it copies the message from the
input variable vs of the invoke to the variable vrc of the receive activity where the
message was copied to before. To perform the assignment the declaration of variable
vrc is lifted to the parent scope that encloses the two scopes that contain the participant
activities. Otherwise, SY NS could not access vrc. The empty activity SY NRC replaces
the former receive RC. To avoid name clashes between variables it might be necessary
to adapt the variable names accordingly during the consolidation. The incoming and
outgoing links of S and RC are mapped to SY NS and SY NRC, respectively. An additional
link from SY NS to SY NRC is created. This link ensures that SY NRC is not started before
SY NS was executed.
1 Static Analysis (SA) Fault Codes defined in the BPEL specification [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]
Synchronous Merge
&lt;catch FHA
faultName=“F1”/&gt;
      </p>
      <p>Process A</p>
      <p>The synchronous merge is sketched in5 Fig. 2. There additionally the reply activity
© Sebastian Wagner
RP is replaced by the reply activity SY NRP to emulate the transfer of the response
message sent via message link m0. SY NRP copies the value of the former reply variable
vrp to the output variable of the former invoke activity vout. The declaration of vout
has to be lifted to the parent scope as well to make this variable accessible for SY NRP.
The empty activity SY NSR is added for the same reason SY NRC was added. The control
links of RC are mapped to SY NRP and the outbound links of S are mapped to SY NRC.
Moreover, a new link is created to connect SY NS and SY NSR and another one between
SY NRP and SY NSR to ensure that the successors of the former invoke activity are not
started before.
4</p>
    </sec>
    <sec id="sec-4">
      <title>Consolidation in the Context of Fault Handlers</title>
      <p>In this section we discuss the challenges that arise when materializing the control flow
from message links between communication activities that reside within BPEL fault
handlers. Thereby, we focus on the cross boundary link constraint imposed by the BPEL
specification [SA00071]. This constraint specifies that no control link must point to a
target activity within a fault handler from outside the fault handler, i. e., no link must
point into a catch or catchAll block.</p>
      <p>In the following we distinguish between three different scenarios (i) fault handlers
without communicating activities (ii) fault handlers with only outgoing message links
and (iii) fault handlers with at least one incoming message link.</p>
      <p>The first scenario is trivial as there is no communication between the fault handlers
of the two process models that have to be merged. Consequently, they can be simply
merged with the consolidation operations introduced in 3.</p>
      <p>The second is scenario is depicted in Fig. 3. In process model A the fault handler
F HA is attached to the scope SA. F HA contains an asynchronous invoke activity A4
that is related to the corresponding receive activity B2 in process model B via message</p>
      <p>Scenario 2: FHs with Outbound Links
link m. Note, that for simplicity reasons the flow activity containing SA and SB is not
explicitly depicted in Fig. 3 and in the following figures.</p>
      <p>Process A</p>
      <p>To merge the process models in a first step the merge operations introduced in
Sect. 3 are apCplhieodre.oTghriasprehsyuCltAsBin process model Pmerged. As the new control flow links
materialized from the message links leave the fault handler boundaries outbound only,
the cross boundary link constraint is not violated.</p>
      <p>T© hSeebasstiacneWnaganerrio in Fig. 4 is very similar to the prev7ious one except that invoke activity
A4 is synchronous, hence, a second message link from the reply activity points back
StocAe4n.Tahreisoync3h:roFnoHusscownsolidation operantiodn createkssfrom the message link m2 the
ith Inbou Lin
control flow link l2. This link crosses the fault handler boundary of F HA inbound in
order to realize that A5 is performed after B2 or B3 respectively. This violates the cross
boundary link constraint.</p>
      <p>SA
def: vin
…</p>
      <p>A1
Opaque</p>
      <p>A2
Opaque
…</p>
      <sec id="sec-4-1">
        <title>Process A</title>
        <p>FHA
def: vout
def: va</p>
        <p>A3</p>
        <p>A4
Ininv→omke
vm2 →vou1t
A5
Opaque
Flow
m1</p>
      </sec>
      <sec id="sec-4-2">
        <title>Process B</title>
        <p>def: vrc
def: vrp</p>
        <p>SB
…</p>
        <p>B1
Receive</p>
        <p>B2
Opaque</p>
        <p>B3
Reply
vrp → m2
…
Scenario 3: FHs with Inbound Links - Solution
Process Pmerged</p>
        <p>def: va
SFH def: vin</p>
        <p>A8
SA
…</p>
        <p>A1
Opaque</p>
        <p>A2
Opaque
…</p>
        <p>Flow</p>
        <p>FHA
A7
Empty
A3</p>
        <p>A4
Avsins→igvrnc</p>
        <p>A6
Em^pty</p>
        <p>A5
Opaque
Flow
l1
l2</p>
        <p>To develop a solution to overcome this
problem control flow links pointing into a
fault handler have to be avoided, hence, the
control flow has to be modified accordingly.</p>
        <p>To resolve the incoming link issue we can
either remove the fault handler completely or
we move the activities with incoming links
out of fault handler. Removing the fault
handler completely is not an option as a fault
handler can be activated any time during
runtime of a scope if a fault is thrown. This
behavior cannot be emulated by using other
BPEL constructs. Hence, we suggest a
solution where the fault handler is kept and the
fault handling activities are factored out of
it.
usually happens immediately after SA was completed) and SFH terminated due to an
error in its parent scope the default termination handler compensates all successfully
executed child scopes of SFH. In case a fault is thrown during the execution of the fault
handler FHA this fault is simply thrown to its parent scope. Also this behavior is kept
as SFH does not catch any fault, i. e., it simply rethrows the fault to its parent scope that
used to be the parent scope scope of SA. This also happens when SA throws a fault that
is not caught by fault handler FHA.
5</p>
      </sec>
    </sec>
    <sec id="sec-5">
      <title>Related Work</title>
      <p>
        Compared to many other techniques that merge processes that are semantically equivalent
such as different variants of the same process, we aim to merge collaborating processes.
Mendling and Simon [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] propose for instance an approach where semantically equivalent
events and functions of Event Driven Process Chains [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ] are merged. Ku¨ster et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
describe how change logs can be employed to merge different process variants that were
created from the same original process.
      </p>
      <p>
        Instead of directly generating a BPEL orchestration out of a BPEL4Chor
choreography, an intermediate format may be used. There is currently no approach keeping the
structure of the generated orchestration close to the structure of the original choreography.
For instance, Lohmann and Kleine [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] do not generate BPEL scopes out of Petri nets,
even if the formal model of Lohmann [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] generates a Petri net representation of BPEL
scopes.
6
      </p>
    </sec>
    <sec id="sec-6">
      <title>Conclusion and Outlook</title>
      <p>
        In this work we extended the process consolidation approach presented in [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ] and [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ].
We have shown, how to isolate the activities of the different partners from each other
by using BPEL scopss and we also extended the asynchronous and synchronous merge
operations to reduce the number of control flow links that may be created during the
consolidation operation. The main contribution of this work is a technique to merge
process models that interacted via fault handlers before they were merged. To satisfy the
constraint that no control links must point into a fault handler we have shown a technique
to factor the fault handling activities out of the handler.
      </p>
      <p>In future works we also have to propose a way to merge process models that interact
via compensation handlers and event handlers. This is even more challenging as they
allow neither inbound nor outbound control flow links. Another issue we have to address
is that our current merge operations create process models that violate the
peer-scopedependency rule. Basically, this rule states that two scopes enclosed within the same
parent scope must have no cyclic control-flow dependencies, otherwise the compensation
order of these scopes cannot be determined. However, in practice this rule is not enforced
by engines such as the Apache ODE2 or BPEL-g3.
2 http://ode.apache.org/
3 http://code.google.com/p/bpel-g/</p>
      <p>
        In this paper, we informally argued that the consolidation approach is correct. A first
approach to provide a more formal validation has been presented in [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. Our ongoing
work is to evaluate the Petri net formalizations with respect to formal foundations for
our merging approach.
      </p>
      <p>Acknowledgments This work was partially funded by the BMWi project Migrate!
(01ME11055) and the BMWi project CloudCycle (01MD11023).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Barros</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
          </string-name>
          , A.:
          <article-title>Service Interaction Patterns</article-title>
          . In: BPM. Springer (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Interacting services: From specification to execution</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>68</volume>
          (
          <issue>10</issue>
          ),
          <fpage>946</fpage>
          -
          <lpage>972</lpage>
          (
          <year>Apr 2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Decker</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          , et al.:
          <article-title>Non-desynchronizable Service Choreographies</article-title>
          . In: ISCOC 2008
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Khalaf</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Roller</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Revisiting the Behavior of Fault and Compensation Handlers in WS-BPEL</article-title>
          . In: OTM 2009
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. Ku¨ster, J.,
          <string-name>
            <surname>Gerth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          , Fo¨rster,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Engels</surname>
          </string-name>
          , G.:
          <article-title>A Tool for Process Merging in Business-Driven Development</article-title>
          .
          <source>In: Proceedings of the Forum at the CAiSE</source>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>A Feature-Complete Petri Net Semantics for WS-BPEL 2.0</article-title>
          . In: WS-FM'
          <volume>07</volume>
          :
          <string-name>
            <given-names>Web</given-names>
            <surname>Services and Formal Methods</surname>
          </string-name>
          , 4th International Workshop (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kleine</surname>
          </string-name>
          , J.:
          <article-title>Fully-automatic Translation of Open Workflow Net Models into Simple Abstract BPEL Processes</article-title>
          . In: Modellierung. Gesellschaft fu¨r Informatik e. V. (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reisig</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          :
          <article-title>Analyzing BPEL4Chor: Verification and Participant Synthesis</article-title>
          .
          <source>In: WS-FM'07: Web Services and Formal Methods</source>
          , 4th International Workshop (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Simon</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Business Process Design by View Integration</article-title>
          .
          <source>In: BPM Workshops</source>
          . Springer (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <source>OASIS: Web Services Business Process Execution Language Version</source>
          <volume>2</volume>
          .
          <fpage>0</fpage>
          -
          <string-name>
            <given-names>OASIS</given-names>
            <surname>Standard</surname>
          </string-name>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Object Management</surname>
          </string-name>
          <article-title>Group (OMG): Business Process Model and Notation (BPMN) Version 2</article-title>
          .0 (
          <issue>2011</issue>
          ),
          <source>OMG Document Number: formal/2011-01-03</source>
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Scheer</surname>
            ,
            <given-names>A.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Thomas</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Adam</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          :
          <article-title>Process Aware Information Systems: Bridging People and Software Through Process Technology, chap. Process Modeling Using Event-Driven Process Chains</article-title>
          . Wiley-Interscience (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Towards Choreography-based Process Distribution In The Cloud</article-title>
          .
          <source>In: Proceedings of the 2011 IEEE International Conference on Cloud Computing and Intelligence Systems</source>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Wagner</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Towards Verification of Process Merge Patterns with Allen's Interval Algebra</article-title>
          . In: ZEUS. CEUR,
          <string-name>
            <surname>Bamberg</surname>
          </string-name>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>