<!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>Extending a Business Process Modeling Tool with Process Con guration Facilities: The Provop Demonstrator</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Manfred Reichert</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Steve Rechtenbach</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alena Hallerbach</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Bauer</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Group Research and Advanced Engineering</institution>
          ,
          <addr-line>Daimler AG, Ulm</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>Institute of Databases and Information Systems, University of Ulm</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This tool demonstration presents an extension of the ARIS Business Architect in order to better cope with the high variability of business process models in practice. This extension is based on our Provop framework which provides sophisticated support for con guring and managing large collections of process variants. We have applied our tool in case studies in the healthcare as well as the automotive domain.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Motivation</title>
      <p>One of the fundamental challenges for business process modeling is to cope with
the multitude of variants that may exist for a particular process. In previous
work, we introduced the Provop framework for con guring and managing such
process variants at a high level of abstraction [1{3].</p>
      <p>
        Provop provides an operational approach for variant con guration; i.e., a
concrete process variant can be con gured out of a prede ned master process
by applying a set of high-level change patterns [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] to it. Thereby, contextual
information is utilized for enabling (semi-)automated variant con guration [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ].
      </p>
      <p>In the following we use the process of handling vehicle repair in a garage as
running example (cf. Fig. 1a). In our tool demonstration we additionally provide
examples from two case studies which we conducted in the automotive industry
and the healthcare domain; i.e., we demonstrate how the process variants dealing
with change management in automotive engineering and medical procedures in
a hospital can be captured in our approach.</p>
      <p>Our running example starts when receiving a vehicle. After a diagnosis is
made, the vehicle is repaired if necessary. During diagnosis and repair the
vehicle is maintained; e.g., oil and wiper uid are checked. The process ends when
handing over the vehicle back to the customer. Depending on the context (i.e.,
country-, garage- and vehicle-speci c variables), di erent process variants are
needed. Fig. 1b -Fig. 1d show three of them: Variant 1 (cf. Fig. 1b) assumes that
the damaged vehicle requires a checklist of \Type 2" to perform the
diagnosis. Thus, activities Diagnosis and Repair are adapted by modifying attribute
Checklist to value \Type 2". Additionally, the garage omits maintenance of
the vehicle as this is considered as special service not o ered together with the
repair process. At model level this is realized by skipping activity Maintenance.
Consider now Variant 2 (cf. Fig. 1c): due to country-speci c regulations, a nal
security check is required before handing over the vehicle to the customer; i.e.,
activity Final Check has to be added when compared to the master process
from Fig. 1a. Finally, Variant 3 (cf. Fig. 1d) will become relevant if a checklist of
\Type 2" is required for diagnosis and repair, the garage does treat maintenance
separately, and there are legal regulations requiring a nal security check.</p>
      <p>Note that in practice, hundreds of variants exist for the vehicle repair
process. Contemporary BPM tools do not provide adequate support for modeling
and maintaining such a large number of process variants. Generally, con guring
process variants constitutes a non-trivial challenge when considering the many
syntactical and semantical constraints the con gured process variants have to
obey in a given application context. One challenge is to design a master process
that can serve as reference for con guring a family of related process models.
Another one is to design, model, and structure the adjustments that may be
applied to con gure the di erent process variants out of this master process.</p>
      <p>This tool demonstration picks up our Provop framework and shows how it
can be applied to an existing BPM tool in order to support the modeling and
management of process variants. Section 2 summarizes basic concepts of Provop
and Section 3 gives insights into the Provop demonstrator.</p>
    </sec>
    <sec id="sec-2">
      <title>The Provop Framework for Modeling Process Variants</title>
      <p>
        Generally, a process model variant (process variant for short) can be created
by cloning a given process model and adjusting it according to the speci c
requirements of its application context [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Provop has adopted this metaphor (cf.
Fig. 2). A particular process variant can be con gured by applying a set of
prede ned adaptations to a common master process (denoted as base process
in Provop). For describing corresponding model adaptations, Provop supports
well-de ned change patterns: INSERT / DELETE / MOVE process fragment
and MODIFY process element attribute.
      </p>
      <p>
        In Provop a base process may be associated with adjustment points that
correspond to the entries or exits of activities and connector nodes (e.g., split
nodes) respectively (cf. Fig. 2). This enables designers of process adaptations
to refer to speci c model fragments. Using explicit adjustment points we can
restrict the regions of the base process to which adaptations may be applied when
con guring a variant. Finally, to enable more complex process adaptations as well
as their reuse in di erent context, Provop allows to group change operations into
reusable operation sets, which we denote as options: i.e., a particular variant is
con gured by applying a subset of the pre-modeled options to the base process.
Thereby, Provop ensures soundness of the con gured variant models [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Fig. 3 shows a base process with 3 corresponding options. This base process
comprises 4 adjustment points to which options may refer; e.g., Option 3 refers to
adjustment points Repair Completed and Ready for Hand Over, which then
serve as anchors for the activity to be inserted by this option. When applying
Options 1 and 2 together to the base process, for example, we obtain Variant 1
(cf. Fig. 1b). The model of Variant 2 (cf. Fig. 1c) may be created by
applying Option 3 solely. Finally, Variant 3 (cf. Fig. 1d) results when rst applying
Option 2 and then Option 3 to the base process from Fig. 3a.</p>
      <p>Provop provides additional features enabling the automated con guration of
process variants. They utilize the process context and consider semantic
constraints regarding possible adaptations of the given base process [1{3].</p>
    </sec>
    <sec id="sec-3">
      <title>The Provop Demonstrator</title>
      <p>Our Provop tool demonstrates how an existing BPM tool can be enriched with
features for process variant management. Respective support is urgently needed
in practice. Using the examples from our case studies and the described one, we
demonstrate how to model a base process, how to de ne pre-de ned adjustment
of this process (i.e., options), and how to con gure concrete variants by applying
a subset of these options to the given base process. The latter includes soundness
checks and context-based user assistance.</p>
      <p>When realizing our Provop demonstrator we decided to use an existing BPM
tool as implementation basis and to enhance it with facilities for process variant
con guration and management. We have selected ARIS Business Architect for
this purpose. ARIS Business Architect supports a variety of modeling notations
(e.g., EPC and BPMN) and is widely used in practice for modeling, analyzing and
optimizing business processes. The general limitations of contemporary BPM
tools in respect to variant modeling also apply to the current ARIS Business
Architect version, which enables the creation of new process variants by copying
an existing model repository and by modifying its objects afterwards. However,
this approach results in high redundancies of model data.</p>
      <p>Another decision we made when implementing our Provop demonstrator
concerns the choice of the meta model for representing base processes,
corresponding options, and process variant models. We rst applied Event Process Chains
(EPCs). Unfortunately, EPCs do not o er grouping functions, which are highly
relevant in our context in order to be able to group parameters of a particular
change operation as well as to group change operations (into options). To enable
grouping in ARIS Business Architect, in principle, model folders may be used
as workaround. However, we decided to use the BPMN notation instead since it
provides di erent grouping mechanism as required in our approach.</p>
      <p>In our Provop demonstrator, basically, each option is realized as single BPMN
model. Within these models corresponding operations of an option are
encapsulated in \pools"; i.e., graphical and logical containers. Relevant parameters of a
particular change operation (e.g., adjustment points marking a process fragment
to be deleted) are speci ed using \lanes", which constitute sub-containers of a
particular pool and another lane respectively.</p>
      <p>A speci c ARIS report, which we implemented using ARIS script, realizes the
transformation of a base process to a particular process variant. More precisely,
for a base process (represented as BPMN model), variant con guration starts
with selecting a set of options (cf. Fig. 4). Following this, the change operations
of the selected options are applied to the base process. This results in a sound
BPMN model, which then represents the con gured process variant. In our tool
demonstration we give detailed insights into this con guration procedure.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Hallerbach</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Guaranteeing soundness of con gurable process variants in Provop</article-title>
          .
          <source>In: Proc. 11th IEEE Conference on Commerce and Enterprise Computing (CEC09)</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Hallerbach</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Managing process variants in the process lifecycle</article-title>
          .
          <source>In: Proc. ICEIS'08 Conference</source>
          . (
          <year>2008</year>
          )
          <volume>154</volume>
          {
          <fpage>161</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Hallerbach</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Capturing variability in business process models: the Provop approach</article-title>
          .
          <source>Journal of Software Process Improvement and Practice</source>
          (
          <year>2009</year>
          )
          <article-title>(accepted for publication)</article-title>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle-Ma</surname>
          </string-name>
          , S.:
          <article-title>Change patterns and change support features - enhancing exibility in process-aware information systems</article-title>
          .
          <source>Data and Knowledge Engineering</source>
          <volume>66</volume>
          (
          <year>2008</year>
          )
          <volume>438</volume>
          {
          <fpage>466</fpage>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hallerbach</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bauer</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Context-based con guration of process variants</article-title>
          .
          <source>In: Proc. of the 3rd Int. Workshop on Technologies for Context-Aware Business Process Management (TCoB'08)</source>
          . (
          <year>2008</year>
          )
          <volume>31</volume>
          {
          <fpage>40</fpage>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>