<!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 Tool for Process Merging in Business-Driven Development</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Jochen M. Ku¨ster</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Christian Gerth</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Fo¨rster</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Gregor Engels</string-name>
          <email>engelsg@upb.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Department of Computer Science, University of Paderborn</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IBM Zurich Research Laboratory</institution>
          ,
          <addr-line>Sa ̈umerstr. 4 8803 Ru ̈schlikon</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <fpage>89</fpage>
      <lpage>92</lpage>
      <abstract>
        <p>Business-driven development favors the construction of process models at different abstraction levels and by different people. As a consequence, there is a demand for consolidating different versions of process models by merging them. In this paper, we study a basic scenario, derive requirements and present a prototype for detecting and resolving changes between process models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>
        The field of business process modeling has a long standing tradition. Recently, new
requirements and opportunities have been identified which allow the tighter coupling of
business process models to its underlying IT implementation: In Business-Driven
Development (BDD) [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], business process models are iteratively refined, from high-level
business process models into models that can be directly implemented. As a
consequence, business process models are a key artifact in BDD and advanced techniques for
consolidating different versions of a process model are needed.
      </p>
      <p>
        In general, such techniques for consolidating and merging process models have to
provide means for identifying differences between versions of process models and
resolving these by merging parts of process models. Specific techniques for process
merging heavily depend on the underlying modeling environment. Existing work on process
change management has focused mainly on the question of dynamic process changes
where changes are made on already running processes [
        <xref ref-type="bibr" rid="ref2 ref3">2, 3</xref>
        ]. Solutions include
techniques for migrating process instances to a new process schema and for identifying
those cases where this is not possible. In these approaches, process changes are usually
captured in a change log which is maintained by the process-aware information
system [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Recent work by Weber et al. [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] introduces the concept of compound change
operations (change patterns) for process models and compares existing workflow tools
with regards to their support for process change management.
      </p>
      <p>
        In contrast to existing work, our approach addresses the situation where no change
log describing process model changes exists. This is a common situation in process
modeling tools such as the IBM WebSphere Business Modeler [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and also occurs in
scenarios where process models are exchanged across tool boundaries.
      </p>
      <p>In this paper, we first discuss a basic scenario for process merging and then derive
important requirements for a solution. We then present key concepts of a prototype for
process merging realized as a plug-in for IBM WebSphere Business Modeler.</p>
      <p>Requirements for Process Merging and Tool Overview
Within business-driven development, process models are the central modeling artifacts.
In this context, business process models are manipulated in a team environment and
multiple versions of a shared process model need to be consolidated at some point in
time. A basic scenario is obtained when a process model V1 is copied and then changed
into a process model V2, possibly by another person. After completion, only some of
the changes shall be applied to the original model V1 to create a consolidated process
model. Figure 1 shows an example process model V1 that has been changed into a
process model V2.</p>
      <p>Both models describe the handling of a claim request by an insurance company. V1
starts with an InitialNode followed by the actions ”Check Claim” and ”Record Claim”.
Then, in the Decision, it is decided whether the claim is covered by the insurance
contract or not. In the case of a positive result the claim is settled. In the other case the claim
is rejected and closed, represented by the actions ”Reject Claim” and ”Close Claim”.</p>
      <p>V1
V2
initial
node
action
Check
Claim</p>
      <p>Record</p>
      <p>Claim
Record
Claim</p>
      <p>Check
Claim
decision</p>
      <p>Settle
Claim
Reject
Claim
Settle
Claim
Reject
Claim</p>
      <p>Close</p>
      <p>Claim
fork
merge
final
node
join
Pay
Out
Send</p>
      <p>Letter</p>
      <p>Although process models V1 and V2 are similar at the first sight, there are some
differences between the versions. The following differences can be detected:
– The positions of the actions ”Record Claim” and ”Check Claim” are changed.
– Action ”Close Claim” does not exist in V2.
– A new parallel structure (Fork and Join) is inserted in V2 together with two actions
”Pay Out” and ”Send Letter”.</p>
      <p>
        Process merging typically depends on the modeling language as well as on
constraints of the modeling environment. In our case, the modeling language is given by
the WebSphere Business Modeler which provides a language similar to UML 2.0
Activity Diagrams [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. In our modeling environment, no syntax-directed editing of process
models is performed and, as a consequence, also no change log is available. As such,
in contrast to databases and existing approaches in process-aware information systems,
there is no information about the performed changes on a process model. In the
following, we describe the key requirements that a solution to process merging should
fulfill:
– The solution must provide a technique to re-construct one possible change log
which represents the transformation steps for transforming one process model into
the other process model.
– The user should have the opportunity to select only some of the changes and apply it
to the original model in order to obtain a new third model which can be considered
as the merged process model.
– When applying changes, the user should not be restricted by prescribing a certain
order whenever possible.
– Dependencies between change operations should be made explicit and taken into
account when applying the changes. For example, when inserting a Fork, the
corresponding Join should also be inserted in order to obtain a correct process model.
– The solution should provide user-friendly resolution of changes in the way that it
reconnects inserted elements whenever possible and offers a possibility to perform
related changes together at one time.
Motivated by the requirements, we have developed an approach [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ] for process
merging which is divided into three steps. In the first step, we detect differences
between the two process models using correspondences between model elements and the
technique of Single-Entry-Single-Exit fragments (SESE fragments) [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ]. In the second
step, each detected difference is visualized according to the structure of the process
models that is affected by it. The third step is then to resolve differences between the
process models in an iterative way, based on the modeler’s preferences. Here, for each
difference, a resolution transformation is generated which resolves the difference
between the two models and (if necessary) automatically reconnects the control flow.
      </p>
      <p>
        The prototype has been implemented as an extension to the IBM WebSphere
Business Modeler (see Fig. 2). It currently supports the following functionality [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]: copying
of business process models, initial creation and update of correspondences,
decomposition of process models into SESE fragments and detection of differences between two
versions of a process model. In addition, the prototype provides several views that allow
to visualize and resolve differences as well as to manipulate correspondences.
      </p>
      <p>Fig. 2 shows versions V1 and V2 of the business process model introduced earlier
in this paper. The lower third of Fig. 2 illustrates the Difference View, which is divided
into three columns. The left and right hand columns show versions V1 and V2 of the
process model in a tree view, which abstracts from control flow details of the process
and focuses only on model elements of the process. The middle column of the difference
view displays the differences between the two versions, which are arranged according
to the structure of the process models and visualizes dependencies between differences.
Using this view, the differences can be iteratively resolved with our prototype.
3</p>
    </sec>
    <sec id="sec-2">
      <title>Conclusion</title>
      <p>User-friendly process merging is a key technique for practical business-driven
development. In this paper, we have first studied a basic scenario of process merging in BDD
and established key requirements. We have presented our prototype, which visualizes
differences between versions of process models and enables the resolution of
differences, by applying change operations in an iterative way that automatically reconnect
the control flow. Future work will include the elaboration of our approach for merging
process models in a distributed environment. In those scenarios, the concept of conflict
becomes important because one resolution can turn the other resolution non-applicable.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Mitra</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>Business-driven development. IBM developerWorks article</article-title>
          , http://www.ibm.com/developerworks/webservices/library/ws-bdd,
          <source>IBM</source>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Casati</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ceri</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pernici</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pozzi</surname>
          </string-name>
          , G.:
          <article-title>Workflow evolution</article-title>
          .
          <source>Data Knowl. Eng</source>
          .
          <volume>24</volume>
          (
          <issue>3</issue>
          ) (
          <year>1998</year>
          )
          <fpage>211</fpage>
          -
          <lpage>238</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Rinderle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dadam</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Disjoint and Overlapping Process Changes: Challenges, Solutions, Applications</article-title>
          . In Meersman, R.,
          <string-name>
            <surname>Tari</surname>
            ,
            <given-names>Z</given-names>
          </string-name>
          ., eds.: CoopIS'
          <fpage>04</fpage>
          . Volume 3290 of LNCS., Springer (
          <year>2004</year>
          )
          <fpage>101</fpage>
          -
          <lpage>120</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dumas</surname>
          </string-name>
          , M.,
          <string-name>
            <surname>van der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Process-Aware Information Systems</surname>
          </string-name>
          . Wiley (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Change Patterns and Change Support Features in Process-Aware Information Systems</article-title>
          . In Krogstie, J.,
          <string-name>
            <surname>Opdahl</surname>
            ,
            <given-names>A.L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sindre</surname>
          </string-name>
          , G., eds.: CAiSE'
          <fpage>07</fpage>
          . Volume 4495 of LNCS., Springer (
          <year>2007</year>
          )
          <fpage>574</fpage>
          -
          <lpage>588</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>: IBM WebSphere Business</surname>
          </string-name>
          <article-title>Modeler</article-title>
          . http://www.ibm.com/software/integration/wbimodeler/
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Object</given-names>
            <surname>Management</surname>
          </string-name>
          <article-title>Group (OMG): UML 2.0 Superstructure Final Adopted Specification</article-title>
          .
          <source>OMG document pts/03-08-02</source>
          . (
          <year>August 2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8. Ku¨ster,
          <string-name>
            <given-names>J.M.</given-names>
            ,
            <surname>Gerth</surname>
          </string-name>
          ,
          <string-name>
            <surname>C.</surname>
          </string-name>
          , Fo¨rster,
          <string-name>
            <given-names>A.</given-names>
            ,
            <surname>Engels</surname>
          </string-name>
          , G.:
          <article-title>Process Merging in Business-Driven Development</article-title>
          .
          <source>IBM Research Report RZ 3703</source>
          , IBM Zurich Research Laboratory (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Vanhatalo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Vo¨lzer, H.,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          :
          <article-title>Faster and More Focused Control-Flow Analysis for Business Process Models Through SESE Decomposition</article-title>
          .
          <source>In: ICSOC 2007</source>
          .
          <article-title>Volume 4749 of LNCS</article-title>
          ., Springer (
          <year>2007</year>
          )
          <fpage>43</fpage>
          -
          <lpage>55</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Gerth</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Business Process Merging - An Approach based on Single-Entry-</article-title>
          <string-name>
            <surname>Single-Exit Regions</surname>
          </string-name>
          . Diplomarbeit, Universita¨t Paderborn (
          <year>October 2007</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>