<!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>Faster and better Business Process Modeling with the IBM Pattern-based Process Model Accelerators</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Ce´dric Favre</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Thomas Gschwind</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jana Koehler</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Wolfgang Kleino¨der</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alexander Maystrenko</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Krenar Muhidini</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hagen Vo¨lzer</string-name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Janette Wong</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>IBM Software Group</institution>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>IBM Zurich Research Laboratory</institution>
          ,
          <addr-line>Sa ̈umerstrasse 4, CH-8803 Ru ̈schlikon</addr-line>
          ,
          <country country="CH">Switzerland</country>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>Jacobs University Bremen</institution>
        </aff>
      </contrib-group>
      <abstract>
        <p>The IBM Pattern-based Process Model Accelerators add a set of patterns, transformations, refactoring operations, and a control-flow analysis feature to IBM WebSphere Business Modeler that make it easy for users to apply common best practices when modeling business processes. As a result, users create and edit higher-quality process models and they benefit from the automation of tedious editing tasks resulting in productivity gains and a more enjoyable user experience. This demo targets participants with interest on faster process modeling approaches leading to higher-quality process models.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 Introduction</title>
      <p>Many tools exist that allow users to model business processes. Traditionally, these tools
use a drawing approach where users drag and drop modeling elements on the canvas
and connect them by control and data flow. The loose connection between the drawing
operations and the actual process modeling leads to the following problems: Manual
operations slow down the modeling process and switch the user’s attention from the
modeling problem to a drawing exercise. Users often lose track of the control-flow that
they design when connecting single modeling elements and adding gateways to their
process model. As a result, many traditionally created process models contain modeling
errors and, for example, cannot be correctly simulated.</p>
      <p>
        We demonstrate the IBM Pattern-based Process Model Accelerators1 for IBM
WebSphere Business Modeler that allow users to compose business process models from
patterns and to apply semantically correct change operations to the entire model or
selected parts. Although the business process patterns are well-known from the literature,
e.g., as workflow patterns [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ], there are no modeling tools that would support users in
correctly applying patterns. Only the ADEPT 2 editor [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] supports some block-oriented
editing patterns. Our accelerators also contain a control-flow analysis feature that
detects and displays control-flow errors.
1 See http://www.ibm.com/developerworks/websphere/tutorials/0906_gschwind/.
      </p>
      <p>
        Patterns, Transformations, and Refactoring operations
The accelerators are based on the pattern-based process editing techniques described
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. They are beneficial in many process modeling scenarios, e.g., when creating a
process model from scratch, refining an existing process model, or correcting errors.
      </p>
      <p>For easy access to the accelerators, we have designed a palette as shown in Figure 1
that provides an icon for each available pattern, transformation, and refactoring
operation. An accelerator is applied by optionally selecting some model elements and then
clicking on one of the icons in the palette.</p>
      <p>Sequence, Alternative Compound, Parallel Compound, Loop
Insert Task
Insert Process
Duplicate Element
Merge Elements
Replace Global Process
Remove Region
Close Branches
Merge Stop Nodes
Join Stop Nodes
Activity to the Gateway Form
Automatically Order Branches
Alternative Branch</p>
      <p>Parallel Branch</p>
      <p>Reorder Sequence
Convert to Alternative Compound</p>
      <p>Convert to Sequence
Extract Subprocess
Inline Subprocess</p>
      <p>Associate Data
Autolink Elements</p>
      <p>Toggle Gateways</p>
      <p>Patterns describe frequently used modeling solutions for recurring process
scenarios and allow users to model processes by composing basic process fragments. To
instantiate a pattern, a wizard is available that contains a picture and description of the
pattern as well as fields to enter parameters such as the names of gateways and activities
and their data inputs or outputs, see Figure 2. In addition, the Alternative and Parallel
Branch patterns allow users to correctly create models with unstructured, i.e., non-block
structured control-flow.</p>
      <p>Transformations allow users to easily apply a complex change to a process model.
A transformation can be understood as a macro-editing operation that combines a
sequence of several editing steps that add, delete, or modify elements in the process
model. For example, the Autolink Elements transformation adds control-flow
connections to elements that are already placed on the canvas following a recommended
graphical layout.</p>
      <p>
        Refactoring operations allow users to restructure an existing process model without
changing its external behavior and have been inspired by known software refactoring
practices, see for example [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Refactoring operations are used to improve the
readability and to simplify the structure of the process model. For example, the Close Branches
operation manipulates the flow of a process model, whereas the Extract and Inline
Subprocess operations allow users to reorganize the model elements across the subprocess
hierarchy found in process model.
3
      </p>
    </sec>
    <sec id="sec-2">
      <title>Control-flow analysis</title>
      <p>
        Composing process models using patterns guarantees that process models are free of
control-flow errors. However, many traditionally created models contain control-flow
errors. As it is likely that users may interleave pattern application with manual
editing steps, it is necessary to make it easier to detect and locate control-flow errors.
Therefore, the accelerators contain a control-flow analysis component that embeds a
soundness checker into a business-user-oriented interface. The checker implements the
classical notion of soundness to characterize the correctness of a process model [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ]
and distinguishes two types of control-flow errors: deadlock and lack of
synchronization. As analysis technique, state-space exploration is used, combined with the parsing
technique provided by the Process Structure Tree (PST) [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] that decomposes a process
model into smaller fragments that can be analyzed in isolation. A recent case study [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]
has shown that models can be checked within a few milliseconds, which allows users
to perform an analysis at any time without slowing down the editing process.
      </p>
      <p>The user triggers the analysis for a process or a process catalog. The analysis
results are displayed in form of a message indicating the error type, the erroneous process
fragment, and, if possible, the cause of the error by some identified model element(s).
By clicking on a message, the error is visualized in the process model by highlighting
the edges of the process fragment in which the error was localized and marking the
identified model element(s), see Figure 3. One run of the analysis can detect several
independent control-flow errors within one process model—up to one error per fragment.
Error: Fragment between Work Permit Holder? and Join contains a deadlock
caused by (Work Permit Holder?) and detected on (Join)</p>
      <p>Once an error has been identified, transformations can be used to correct the error.
By linking some of the transformations to the PST, the behavior of these
transformations can be controlled. For example, the Toggle Gateway transformation toggles AND
and XOR gateway’s logic based on the PST. In an unsound fragment, only a selected
gateway will be toggled, whereas in a sound fragment, all gateways will be toggled that
are necessary to preserve the fragment’s soundness.
4</p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion</title>
      <p>In this demo, we present the IBM Pattern-based Process Model Accelerators that add
a set of patterns, transformations, refactoring operations, and a control-flow analysis
feature to the IBM WebSphere Business Modeler tool. By using the accelerators, users
move away from traditional process drawing to an approach in which they apply
common best practices. Complex process models can be created much faster and are free
of control-flow errors. The benefits of an improved process model quality are manifold
when simulating processes, translating them into execution language, or executing them
directly by a workflow engine.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Van Der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ter</surname>
            <given-names>Hofstede</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>A.H.M.</given-names>
            ,
            <surname>Kiepuszewski</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Barros</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.P.</surname>
          </string-name>
          :
          <article-title>Workflow patterns</article-title>
          .
          <source>Distrib. Parallel Databases</source>
          <volume>14</volume>
          (
          <issue>1</issue>
          ) (
          <year>2003</year>
          )
          <fpage>5</fpage>
          -
          <lpage>51</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Reichert</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rinderle</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kreher</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dadam</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Adaptive process management with ADEPT2</article-title>
          .
          <source>In: 21st Int. Conference on Data Engineering</source>
          , IEEE (
          <year>2005</year>
          )
          <fpage>1113</fpage>
          -
          <lpage>1114</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Gschwind</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wong</surname>
          </string-name>
          , J.:
          <article-title>Applying patterns during business process modeling</article-title>
          .
          <source>In: BPM-08</source>
          . Volume
          <volume>5240</volume>
          ., Springer LNCS (
          <year>2008</year>
          )
          <fpage>4</fpage>
          -
          <lpage>19</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Fowler</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Refactoring - Improving the Design of Existing Code</article-title>
          .
          <string-name>
            <surname>Addison-Wesley</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          v.d.,
          <string-name>
            <surname>Hirnschall</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.M.W.:</given-names>
          </string-name>
          <article-title>An alternative way to analyze workflow graphs</article-title>
          .
          <source>In: CAiSE-02</source>
          . Volume
          <volume>2348</volume>
          ., Springer LNCS (
          <year>2002</year>
          )
          <fpage>535</fpage>
          -
          <lpage>552</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Vanhatalo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , Vo¨lzer, H.,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.:</given-names>
          </string-name>
          <article-title>The refined process structure tree</article-title>
          .
          <source>In: BPM-08</source>
          . Volume
          <volume>5240</volume>
          ., Springer LNCS (
          <year>2008</year>
          )
          <fpage>100</fpage>
          -
          <lpage>115</lpage>
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Fahland</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Favre</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jobstmann</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lohmann</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          , Vo¨lzer, H.,
          <string-name>
            <surname>Wolf</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>Instantaneous soundness checking of industrial business process models</article-title>
          .
          <source>In: BPM-09</source>
          . Accepted.
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>