<!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>BPModelMasher: Manage Your Process Variants Effectively</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Sherif Sakr</string-name>
          <email>ssakr@cse.unsw.edu.au</email>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Emilian Pascalau</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ahmed Awad</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Weske</string-name>
          <email>mathias.weskeg@hpi.uni-potsdam.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Hasso-Plattner-Institute, University of Potsdam</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>NICTA and University of New South Wales</institution>
          ,
          <country country="AU">Australia</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Nowadays, modern organizations build large repositories of process models to describe and document their daily business operations. One reason for the large number of process models is the need to adapt with differnt business contexts, i.e. process variants. Automated maintenance of the consistency between process variants is an important goal that saves the time and efforts of process modelers. We present a query-based approach to maintain consistency among process variants called BPModelMasher. In particular, we maintain the link between the variant process models by process model views. These views are defined using, BPMN-Q, a visual query language for process models. Dynamic evaluation for the defined queries of the process views guarantee that the process modeler is able to get up-to-date and consistent status of the process model. In addition, our view-based approach allows building multiple configurations for a holistic view of related variants of the same process model. The conceptual results are illustrated with a real-world sample process on customer service from eBay.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Business process models play an effective role in providing a better understanding of the
business and facilitating communication between business analysts and IT experts. The
intensive use of business process models has its flip side. In practice, business processes
do not exist only under a single version which covers all the issues of the whole market.
Instead, many variants of a process may exist within the same enterprise in order to deal
with different business situations such as: targeting different customer types, relying on
particular IT systems or complying with specific national regulations. Therefore, we
can establish an analogy between process variants on the one hand and object oriented
inheritance on the other hand. A process variant is like a child class which extends
or overrides the behavior of the parent process. Usually, these variants are maintained
manually. A direct result of this manual maintenance is the risk of inconsistency. This
inconsistency appears when a parent process’s behavior is updated without updating the
child’s behavior accordingly [
        <xref ref-type="bibr" rid="ref7 ref8">7,8</xref>
        ]. Nevertheless, multinational companies, e.g, eBay,
have to keep many variants of business processes in order to deal with the previously
mentioned different business situations. Currently, a Save-as approach is followed to
create such variants which leads to losing the link between related models and makes it
possible to have many redundant models and inconsistent situations.
      </p>
      <p>
        The goal of this demonstration is to present a novel framework for simplifying
designing and managing business process model variants called BPModelMasher. The
framework takes advantage of process model repositories during the design time in
order to facilitate the reuse of process model fragments. By means of partial process
models, the user can model new variant processes efficiently. Each partial process model
is basically using two sets of notations: 1) Common process modeling constructs (e.g.,
tasks, control routing, control flow edges) which are used to imperatively describe the
new functionality provided by the process model. Elements of a partial process model
created using this notation are called the concrete parts of the model. 2) A set of
notation which is used to create views on the inherited behavior from the parent process. To
create these views, we use BPMN-Q [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], a visual language to query business process
models. Query elements of the partial process model are called the variable parts.
Using partial process models, we replace the manual save-as style of processes to create
variants with an approach that keeps the link between child and parent processes by
means of defining process views (queries).
      </p>
      <p>
        Our framework is built on top of the open modeling platform and repository Oryx [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ],
and the BPMN-Q query language [
        <xref ref-type="bibr" rid="ref1 ref10">1,10</xref>
        ] as a means to access and retrieve process
components from the process model repository. In particular, we summarize the main
strengths of our demonstrated system as follows: 1) It reduces the time and effort of the
business process modeling task [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. 2) The enabled reuse and view-definition facilities
on the process fragment level improve the quality and maturity of the newly
developed variant process models and relaxes the learning curve, particularly for novices in
a business domain [
        <xref ref-type="bibr" rid="ref11 ref2">2</xref>
        ]. 3) It facilitates the integration of different process views for a set
of underlying low-level process models and automatically maintains the consistency
among them [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]. This can be seen as supporting multiple inheritance among process
variants.
2
      </p>
      <p>
        Real-World Use Case of View-Based Management for Process
Variants
Currently, there are a number of graph-based business process modeling languages
(e.g., BPMN and EPC). Despite their variance in expressiveness and modeling
notation, they all share the common concepts of tasks, events, gateways (or routing nodes),
artifacts, and resources, as well as relations between them, such as control flow. To
define views over parent processes, we use the BPMN-Q notation [
        <xref ref-type="bibr" rid="ref1 ref10">1,10</xref>
        ]. The language
supports, by means of visual notations, querying all the control and artifact concepts of
business process models. Moreover, it introduces a set of new abstraction concepts that
are useful for different querying scenarios. The structural matching of a query against
a process results in a process subgraph (process fragment). In case that the subgraph is
empty, we know that there is no match. Otherwise, the subgraph represents the matching
part of the process to the query. Figure 1(a) illustrates a sample process model
definition using the BPMN notations, Figure 1(b) illustrates a sample definition of a process
model view using the BPMN-Q notations and that nodes and edges highlighted in grey
in Figure 1(a) illustrate the matching part of the process model.
      </p>
      <p>With more than 90 million active users globally, eBay is the world’s largest online
marketplace. eBay connects individual buyers and sellers, as well as small businesses
(a) Sample business process model
A
//</p>
      <p>D
(b) A BPMN-Q query
in 38 markets using 16 languages 3. Therefore, eBay has huge repositories of business
processes. However, many of these processes are variants of other processes. The
variability is imposed on a vertical axis (represented by different departments within the
organization) and on a horizontal axis (emphasized by different business elements and/or
business aspects, i.e., regulations, IT infrastructure, customer types, countries, payment
methods). In principle, the number of possible process variations is determined by the
degree of freedom the system has, i.e., the number of possible arrangements of different
business contexts. A business process that is influenced by 6 business context elements
fb1; : : : ; b6g, e.g., country, region, etc, that respectively have the following number of
subtypes f8; 2; 5; 5; 3; 7g, will end up having more than 8000 variants. The immense
management effort that is required to ensure the consistency of the process models in
such a context is a very difficult and complex undertaking.</p>
      <p>Figure 2(a) illustrates two variants of an eBay process model in the context of
customer support. As the labels in the figure state that one of the models is called a Parent
process and the other is called a Child process. A child process can reuse either
parts of or the entire parent process. The terminology of child and parent is related to the
inheritance concept, as the child (sub) process reuses behavior from the parent (super)
process, similarly to how subclasses reuse (inherit) functionality from the super-classes.
Any arbitrary process can be used as a parent process. Currently, a child process is
de3 http://www.ebayinc.com/who; June 6th 2010
rived by making a copy of the parent process and editing that copy, e.g., adding new
activities or arbitrary control flow elements. Hence, there is no connectivity between
the parent and the child processes. That is, a parent process could be edited by
another modeler who might add new functionality without it being reflected on the child
process, thus causing inconsistency between the child and parent processes. Manual
maintenance of process models consistency is quite exhaustive and inefficient.</p>
      <p>
        The notion of partial process model has been designed to address the above
mentioned challenges [
        <xref ref-type="bibr" rid="ref11 ref2 ref7">2,7</xref>
        ]. It describes a desired process model through a combination
of process model concrete elements and process views (queries). Figure 2(b) shows a
partial process model that models how the Child process of Figure 2(a) can be
obtained and maintained from the Parent process, depicted in the same figure. In
Figure 2(b), the parts with grey background represent new activities that are introduced
on the child process. To keep the relationship with inherited behavior, queries are used.
Q1 keeps the link with activity "take call" from the parent process model. Also,
Q2 keeps the relationship with the behavior of the parent process between activity "ask
for authentication data" on the one hand and a termination possibility and
activity "ask for issue" on the other hand. Thus, if the parent process behavior
is changed by any means of, e.g., adding extra activities between the two activities, this
is updated on the child process by reevaluating the queries against the parent process.
      </p>
      <p>Once a partial process model is defined, it can be stored in the repository as a
separate artifact that can be invoked in future. Indeed, there are two ways to invoke partial
models. The first invocation is to view it. In this case, all queries in the partial model
are matched to the respective parent processes. Matching parts are merged with
concrete parts and the modeler is given an up-to-date view on how the child process looks
like. In the view mode, the modeler might make changes to the process. In this case,
if the change concerns overriding the behavior from the parent process, the modeler
is warned and switched to the editing mode. The other invocation is to edit the partial
process model. In that case, the modeler is allowed to arbitrarily edit query components
or concrete components of the child process.
3</p>
      <p>System Architecture
The architecture of the BPModelMasher framework is illustrated in Figure 3 and
consists of the following main components.</p>
      <p>
        – Process Modeling, Querying, and Composition Environment provides the
process designer with a user-friendly modeling interface [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]. Users express their
intention by means of a partial process model. The query interface extracts the set of
process model queries from the partial process model, and passes them on to the
query processor.
– Process Model Repository. Our framework can be connected to several, disparate,
repositories to query process models that are stored remotely [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
– Uniform Language Interface translates process models of specific languages to a
common representation that is suitable to process model querying [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. This allows
to query a larger set of process models and can further be used to unify the query
interface and processor toward different process definition languages [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ].
– Query Processor &amp; Process Model Indexes. The query processor evaluates the
queries received from the query interface [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. It provides support for the
relaxModel Composer
      </p>
      <p>current model
Query Interface</p>
      <p>Model Designer
Query
Processor</p>
      <p>ProceInsdseMxodel
R Internal Storage</p>
      <p>Process
Model
Indexer</p>
      <p>R</p>
      <p>Uniform Language Interface
R</p>
      <p>R</p>
      <p>Client
Server
R</p>
      <p>R
Repository1</p>
      <p>Repository2</p>
      <p>
        Repositoryn
The demo will show that the business process modeling task can be very interactive
and efficient using the proposed framework. In particular, we will demonstrate that the
framework can improve the quality and the maturity of the process modeling task by
reusing different process model components which are previously developed by
business experts. Moreover, we will show how process designers can build different
process views over the underlying process models and how the framework can maintain
the consistency among these process variants automatically. The framework will be
demonstrated using three different datasets: 1) The process model repository of eBay
that has a set of innovative and special characteristics. 2) The dataset collected from
the online business process modeling repository, ORYX. . 3) The dataset of the SAP
reference model [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. These datasets covers many application domains. Sample partial
process models and process views will be ready to run, but users can visually edit and
design their own ad-hoc views (see Figure 4 for a snapshot). The end users will also be
able to view and validate the resulting process models for their ad-hoc definitions2.
      </p>
      <p>Besides the framework demonstration, we will discuss about the design choices
that we have made on defining the granularity of process model components, similarity
matching scores of process model components and the ranking process of the composed
process models. In addition, the results of a user-study evaluation on the precision of the
ranking of the composed process models over comprehensive datasets will be exhibited.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          .
          <article-title>BPMN-Q: A Language to Query Business Processes</article-title>
          .
          <source>In EMISA</source>
          ,
          <year>2007</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Kunze</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sakr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Design By Selection: A Reuse-based Approach for Business Process Modeling</article-title>
          .
          <source>In ER</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Polyvyanyy</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Semantic Querying of Business Process Models</article-title>
          .
          <source>In EDOC</source>
          , pages
          <fpage>85</fpage>
          -
          <lpage>94</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>T.</given-names>
            <surname>Curran</surname>
          </string-name>
          and G.Keller. SAP R/3 Business Blueprint - Business Engineering mit den R/3- Referenzprozessen. Addison-Wesley,
          <year>1999</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>G.</given-names>
            <surname>Decker</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            <surname>Overdick</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Oryx - sharing conceptual models on the web</article-title>
          .
          <source>In ER</source>
          , pages
          <fpage>536</fpage>
          -
          <lpage>537</lpage>
          ,
          <year>2008</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <given-names>R.</given-names>
            <surname>Dijkman</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            <surname>Dumas</surname>
          </string-name>
          , and
          <string-name>
            <given-names>L.</given-names>
            <surname>Garc</surname>
          </string-name>
          <article-title>´ıa-Ban˜uelos. Graph Matching Algorithms for Business Process Model Similarity Search</article-title>
          . In BPM, pages
          <fpage>48</fpage>
          -
          <lpage>63</lpage>
          ,
          <year>2009</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>E.</given-names>
            <surname>Pascalau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sakr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>On Maintaining Consistency of Process Model Variants</article-title>
          .
          <source>In BPM Workshops</source>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>E.</given-names>
            <surname>Pascalau</surname>
          </string-name>
          ,
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          ,
          <string-name>
            <given-names>S.</given-names>
            <surname>Sakr</surname>
          </string-name>
          , and
          <string-name>
            <given-names>M.</given-names>
            <surname>Weske</surname>
          </string-name>
          .
          <article-title>Partial Process Models to Manage Business Process Variants</article-title>
          .
          <source>In IJBPIM</source>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>M. La Rosa</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Reijers</surname>
            ,
            <given-names>W.</given-names>
          </string-name>
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Mendling</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          <string-name>
            <surname>Dumas</surname>
            , and
            <given-names>L.</given-names>
          </string-name>
          <string-name>
            <surname>GarciaBanuelos. Apromore</surname>
          </string-name>
          :
          <article-title>An advanced process model repository</article-title>
          .
          <source>Expert Syst. Appl.</source>
          ,
          <volume>38</volume>
          (
          <issue>6</issue>
          ):
          <fpage>7029</fpage>
          -
          <lpage>7040</lpage>
          ,
          <year>2011</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <given-names>S.</given-names>
            <surname>Sakr</surname>
          </string-name>
          and
          <string-name>
            <given-names>A.</given-names>
            <surname>Awad</surname>
          </string-name>
          .
          <article-title>A Framework for Querying Graph-Based Business Process Models</article-title>
          .
          <source>In WWW</source>
          , pages
          <fpage>1297</fpage>
          -
          <lpage>1300</lpage>
          ,
          <year>2010</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          <article-title>2 Online demo</article-title>
          and screen casts: http://bpmnq.sourceforge.net/BPModelMasher.html
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>