<!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>The Shared Process Model</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>C´edric Favre</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jochen Ku¨ster</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hagen Vo¨lzer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IBM Research - Zurich</institution>
          ,
          <country country="CH">Switzerland</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Maintaining different but consistent views on the same process is often necessary in BPM projects. For example, a business analyst typically works on a business process model at a different level of abstraction than an IT architect. These views evolve independently and synchronizing them is not trivial. In this demonstration, we showcase our Shared Process Model prototype that allows different stakeholders to work on different views of a business process model while keeping these views synchronized. In particular, we will look at scenarios where a business view and an IT view are modified and a subset of the modifications need to be propagated from one view to the other. This demonstration targets the general BPM audience interested in ensuring consistency between various level of realisation of a business process model and solving the related round tripping problems. This demonstration will also appeal to people interested in process comparison and process merging - the two core techniques used by our prototype to propagate changes from one view to the other.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        The Shared Process Model is a research prototype built on top of the BPMN2
Modeler — an Eclipse-based graphical BPMN 2.0 model editor [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. The Shared
Process Model provides to the users two different views on a process, a business
view and an IT view as illustrated by Fig. 1.
Supported operations: The Shared Process Model supports the independent
development of a business-view and an IT view of a process through tree key
operations:
get returns a copy of the current version of the IT or business view,
change allows the user to modify his copy of the IT or business view, and
update allows the user to synchronize his copy of the IT or business view with
the Shared Process Model. Each change can be either designated as a
common or a private change. A common change is automatically propagated by
the Shared Process Model to the other view whereas a private change is not.
Central features: The Shared Process Model allows a user to modify either
the business or the IT view and to propagate a subset of these modifications to
the other view. For example, the IT architect might decide to update changes
made to the main control-flow of the process as common but to keep private the
addition of the exception flow. The IT architect may need to propagate changes
to the business view because the initial business model is incomplete, contains
modeling errors, contradicts some IT requirements, or does not faithfully
represent the actual business process. Propagating changes is also required when
the business or the IT requirements change. The reasons and frequency of these
updates are presented in more detail in a technical report [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>
        It also ensures that the two views remain consistent, i.e., the IT view is
a ‘faithful’ representation of the business view and vice et versa. The enxact
notions of consistency considered ad how they are ensured or checked is out of
scope of this paper but are presented in the technical report [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ].
      </p>
      <p>Finally, the Shared Process Model provides a set of model refactoring
operations to support the user in modifying a view while retaining its consistency
with the other view. For example, it provides refactoring operations to refine an
activity into a subprocess or into a set of activities together with the control-flow
between them, to specify that an activity is implemented as a script task or a
service task, and to simplify a portion of the process into a single activity.
Shared Process Model implementation and change propagation: Fig. 2
illustrates the internal of our implementation a Shared Process Model: two
BPMN 2.0 process models representing the two views and correspondences (the
highlighted vertical arrows) relating the nodes of the two models. Note that
correspondences can point to multiple corresponding nodes and that some nodes of
the IT view do not have a corresponding node in the business view.</p>
    </sec>
    <sec id="sec-2">
      <title>The Shared Process Model in Action</title>
      <p>
        We now present a short scenario where the Shared Process Model is used to
synchronize a business and an IT view on a process. A screen-cast of featuring
this scenario is available on the project webpage [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. This scenario features two
actors Alan, a business analyst and Paul, an IT architect.
      </p>
      <p>Initialization of the Shared Model First, Alan captures the business process
model illustrated by Fig. 3. Alan initializes the Shared Process Model, which now
contains this process in both views and the appropriate correspondences. From
now on, Alan will work on the business view and Paul on the IT view. Alan asks
Paul to create an implementation of the process model.</p>
      <p>Fig. 3: Initial business process model
Private and Common Changes: Using refactoring operations, Paul refines
the specification of the activities by specifying their realization, some activities
are implemented as script tasks other by service tasks. He also adds the exception
flow. These changes are only relevant to the IT view. Therefore, Paul commits
the changes as private. Paul then realizes that he can optimize the control-flow
of the process and that Alan forgot one activity. These changes are relevant to
business view and Paul updates them as common. The IT view now displays the
process in Fig. 4 while the business view displays the process illustrated on top
of Fig. 2.
Private refactoring: Paul wants to convert the two human activities into
one. He uses the simplify selection refactoring wizard, which turns a selection of
elements into a single activity and reroutes the incident edges of the selection
accordingly. The refactoring also creates the correspondence between the two
business activities and the IT activity. This change is a private change. The
Shared Process Model now contains the two views illustrated by Fig. 2.
Common changes using correspondences Finally, Paul inserts a new
activity between ‘Validate Pin’ and ‘Input Transaction Data’ as a common change
which results in the IT view illustrated by Fig. 5. Looking at Fig. 2, one realizes
that the translation of this change, as described in Sect. 2, requires to navigate
the correspondences and to perform a structural analysis.
Updating this change results in the business view illustrated by Fig. 6. The
two views have evolved and are now significantly different. However, the Shared
Process Model is still able to propagate automatically changes between the two
views ensuring that they stay consistent maintaining the correspondences
between its different elements.</p>
    </sec>
    <sec id="sec-3">
      <title>Limitations and future work</title>
      <p>In this prototype, we focused on the propagation of control-flow related
modifications. The propagation of some attribute modifications such as, for example,
changing the type of an event is not implemented but could easily be added. We
also consider the implementation of a user interface allowing a user to approve
or reject the changes made by another user. For example, Alan could approve
only a subset of the common changes proposed by Paul.</p>
      <p>We only presented the modifications of two views: business and IT. The
Shared Process Model can be generalized to any two BPMN 2.0 views. The
architecture of the prototype as well as comparison and merging components
would scale up to a larger number of views. However, the correspondences would
require a more complex representation and management.</p>
      <p>We currently support scenarios where IT view and business view
modifications are interleaved. Ultimately, we aim to integrate the Shared Process Model
in a modern BPM suite where models sit in a shared repository, the Shared
Process Model would then be a shared object in the repository and new
scenarios would involve concurrent editing of the IT and business view. Support to
prevent, detect, and resolve conflicts arising from concurrent editing is necessary
for these scenarios.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <source>The BPMN 2</source>
          .0 Modeler available at http://eclipse.org/projects/project.php? id=soa.bpmn2-modeler
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>M.</given-names>
            <surname>Castelo Branco</surname>
          </string-name>
          ,
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kuester</surname>
          </string-name>
          , and
          <string-name>
            <surname>H.</surname>
          </string-name>
          <article-title>V¨olzer. An Empirical Study on Consistency Management of Business and IT Process Models</article-title>
          . available at http: //gsd.uwarterloo.ca/reportstudybpm
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>C.</given-names>
            <surname>Favre</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Kuester</surname>
          </string-name>
          , and
          <string-name>
            <surname>H.</surname>
          </string-name>
          <article-title>V¨olzer. The Artifact Consistency Management project</article-title>
          : http://researcher.watson.ibm.com/researcher/view_project.
          <source>php?id=3210</source>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>J.</given-names>
            <surname>Kuester</surname>
          </string-name>
          , H. V¨olzer, C. Favre,
          <string-name>
            <given-names>M. Castelo</given-names>
            <surname>Branco</surname>
          </string-name>
          , and
          <string-name>
            <given-names>K.</given-names>
            <surname>Czarnecki</surname>
          </string-name>
          .
          <article-title>Supporting Different Process Views through a Shared Process Model</article-title>
          .
          <source>Technical report, IBM Research</source>
          ,
          <year>RZ3823</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5. J. Ku¨ster,
          <string-name>
            <given-names>C.</given-names>
            <surname>Gerth</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>F¨orster, and</article-title>
          <string-name>
            <given-names>G.</given-names>
            <surname>Engels</surname>
          </string-name>
          .
          <article-title>Detecting and resolving process model differences in the absence of a change log</article-title>
          .
          <source>Business Process Management</source>
          , pages
          <fpage>244</fpage>
          -
          <lpage>260</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>