<!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>On BPMN Process Fragment Auto-Completion</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Oliver Kopp</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Frank Leymann</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>David Schumm</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Tobias Unger</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>BPMN Process Fragments</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Institute of Architecture of Application Systems, University of Stuttgart</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Process fragments provide reusable granules of business processes to enable process modeling based on existing knowledge. Current verification tools cannot deal with BPMN process fragments and support complete BPMN processes only. To enable verification for BPMN process fragments, we sketch how a single BPMN fragment can be completed to a BPMN process, where additional gateways and start events are added. ¡ A process fragment is intended as a reusable granule for business process design: Parts, which are reoccurring in multiple processes do not have to be modeled from scratch, but stored in a process fragment library, where they can be managed and retrieved. The main characteristics of process fragments are (i) control links with either no source or no target (called fragment entries and fragment exits or dangling edges) and (ii) place holders for variability (called regions). Regarding publicly available tool support for BPMN process verification, there is a Petri net semantics for BPMN available [5] and model checkers for Petri Nets (e.g. LoLa [18]). These tools, however, lack support for handling BPMN process fragments. To enable existing tooling to handle BPMN process fragments, there are two possibilities: (i) modify the tooling to support BPMN process fragments and (ii) to provide a method to add a minimum set of elements to a BPMN process fragment to form a complete business process without any non-standard elements. This enables any tooling to exploit the reuse concept of process fragments. This paper reasons on the second approach. The objective is to generate a BPMN process, where for each task there exists a process execution path. In other words, the resulting BPMN process has to be relaxed sound [3]. We opted for this criterion as it provides “an adequate correctness understanding” [4]. We present our concept of BPMN process fragments in Sect. 2 and discuss the auto-completion issues in Sect. 3. Section 4 presents related work and Sect. 5 concludes and discusses future work.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        In this paper, we follow the fragment definition by Schumm et al. [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ]. There, a
process fragment is defined as “connected graph, however with significantly relaxed
completeness and consistency criteria compared to an executable process graph.
[. . .] A process fragment has to consist of at least one activity and there must
be a way to complete it to an executable process graph”. To ease understanding,
we adopted the Business Process Model and Notation (BPMN) standard for the
graphical representation of process fragments in [
        <xref ref-type="bibr" rid="ref19">19</xref>
        ]. Figure 1 shows basic BPMN
constructs: A task represents a work item which has to be performed in a process
by a human being or executed by a service or program invocation. Sequence flows
are used for connecting and gateways for forking and joining the control flow.
We extended the BPMN notation by a shape representing a region and by an
icon representing constraints which can be annotated to process elements such
as tasks, regions, and gateways. The usage of annotations is explained in [
        <xref ref-type="bibr" rid="ref20">20</xref>
        ].
      </p>
      <p>Activity
Region</p>
      <p>Control flow
Message flow</p>
      <p>XOR Gateway</p>
      <p>Annotation
lead to a proper process execution. In case of the example, this approach is valid.
In case the control flow of entries is joined via an AND join, this approach is not
valid as the process execution will be stuck at the AND join as there will never
be tokens on each incoming link.</p>
      <p>
        Theorem 5.1 by Kiepuszewski et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] shows that “every sound model with
multiple end nodes can be transformed into an equivalent sound model with a
unique end node” [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. Polyvyanyy et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] state that “The reverse technique
can be applied to models with multiple start nodes”. They, however, provide no
proof for this claim. For an auto-completion for fragment entries we need such a
technique. The approach by Kiepuszewski et al. requires the model to consist
of AND and XOR joins only. Mendling et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] showed that all OR joins in
(acyclic) EPC process models can be converted to a process model containing
only XOR and AND splits and joins.
      </p>
      <p>We intend to apply the technique by Kiepuszewski et al. by using the following
steps:
1. Merge all end nodes to a single end node.
2. Convert the BPMN model to a Petri net.
3. Reverse the edges in the process.
4. Apply the technique by Mendling et al. to eliminate all OR joins in the
process model.
5. Apply the technique by Kiepuszewski et al.
6. Convert the Petri net back to a BPMN model.
7. Change the newly created end node to a message start event.
8. Reverse the edges again.
9. Undo the merging of all end nodes.</p>
      <p>Regarding step 1, this merging requires that the end nodes are mutually exclusive.
Figure 4 presents the auto-completed fragment.</p>
      <p>
        It is not proven whether this approach is valid. The reversal of the edges
might change properties of the Petri net [
        <xref ref-type="bibr" rid="ref12">12</xref>
        ]. For instance, the reversal of a free
choice Petri net does not preserve the property of free choice.
      </p>
      <p>We claim that it is not possible to automatically deduct concrete conditions
on the sequence flows going out from the new root activity as we cannot guess
the intention of the fragment designer. The fragment does not state how the
fragment entries have to be reached and which conditions decide which fragment
entry has to be taken. As current process verification abstracts from data, the
concrete conditions are not necessary for the completion.
4</p>
    </sec>
    <sec id="sec-2">
      <title>Related Work</title>
      <p>
        Polyvyanyy et al. [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ] showed how a subset of an unstructured BPMN models can
be converted to a structured BPMN model. They require the model to contain
activities, control links, and XOR and AND forks and joins only. The Refined
Process Structure Tree (PST [
        <xref ref-type="bibr" rid="ref21">21</xref>
        ]) is used to (i) classify a process models which
can be structured and (ii) structure the process model. A “sound and safe acyclic
process model is inherently unstructured if its RPST has a rigid component for
which the modular decomposition of its ordering relations contains a primitive
[module].” [
        <xref ref-type="bibr" rid="ref16">16</xref>
        ]. This technique requires the process model having one entry and
one exit. They rely on the technique presented by Kiepuszewski et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], which
we also do.
      </p>
      <p>
        Other auto-completion approaches rely on existing business processes or
process variants stored at a repository. During editing [
        <xref ref-type="bibr" rid="ref11 ref2 ref8">2, 8, 11</xref>
        ] or runtime [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ],
fragments matching the current process model/instance are selected. In our
approach, however, we do not rely on existing process models and process
variants, but do a purely syntactical extension. Syntactical autocompletion is
offered by Mazanek and Minas in the case of BPMN [
        <xref ref-type="bibr" rid="ref14">14</xref>
        ]. The authors, however,
rely on block-structured business process models. In this paper, we discussed
arbitrary structured process models.
      </p>
      <p>
        Generating adapters might also be a solution to auto-complete a process
fragment. “An adapter is an artifact acting as mediator between services.” [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ].
A service here needs to be executable or at least model the behavior of the
implementation. A fragment is not executable and the behavior of the fragment
cannot be directly derived as the relation of the entries to each other is not
directly specified by the fragment. In other words, a fragment does not state
if the entries are mutually exclusive or if all entries have to be taken for each
instance of the fragment.
      </p>
      <p>
        Gschwind et al. [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] presented a technique for process modeling by using
patterns during the design of a process. One starts with a plain process and may
only add activities if this inclusion conforms to a pattern. That implies that
each intermediate process model is a structured process model. The fragment
approach, however, enables creating and storing unstructured parts of processes.
      </p>
      <p>
        Fragments as reusable parts have been investigated by Avrilionis et al. [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] in
the case of Petri nets and by Rolland et al. [
        <xref ref-type="bibr" rid="ref17">17</xref>
        ] in the case of a process
metamodel intended for artificial intelligence. Our work applies the idea of process
fragments to modern business process modeling languages. Subprocesses are also
a unit of reuse, but restrict the logical form to a single logical entry and a single
logical exit and are not intended to be copied into a process, but used as separate
process [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ].
5
      </p>
    </sec>
    <sec id="sec-3">
      <title>Conclusion and Outlook</title>
      <p>
        In this paper, we reasoned on auto-completion of process fragments to either
gain nearly-executable process models or nearly-complete fragments. A nearly
complete fragment can be used as a part of a process model without the need
of additional activities to correctly trigger the fragment entries. The concrete
proposal is to apply the techniques by Kiepuszewski et al. [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ] and Mendling
et al. [
        <xref ref-type="bibr" rid="ref15">15</xref>
        ] to BPMN process models. This enables a proper auto-completion of
fragments, where the types of the joins are AND, OR, and XOR. A proof of the
presented technique is not provided in this paper and left as future work. In case
arbitrary join conditions are used, the proposed approach will not work. Thus,
future work is to classify arbitrary join conditions into (i) those which can be
converted to XOR and AND gateways and into (ii) those which cannot.
      </p>
      <p>We did not implement the proposed transformation. Thus, we did not proof
whether BPMN process fragments can be really verified using a model checking
tool. In case the auto-completed fragment is presented to the modeler of the
fragment, the modeler might be surprised that the fragment looks differently
than he has modeled it. This might lead to confusion. Therefore, we propose to
show verification results on the original fragment and not on the auto-completed
one.</p>
      <p>In the discussion, we did not define what a valid fragment is and how to verify
whether a fragment is valid. For instance, a fragment can be modeled, where an
activity a is never reached. We would like to consider such a fragment as invalid
fragment. As there is currently no criteria for valid fragments, our future work is
to define such criteria.</p>
      <p>Acknowledgments This work was supported by funds from the European
Commission (contract no. 215175 for the FP7-ICT-2007-1 project COMPAS,
http://www.compas-ict.eu and contract no. FP7-213339 for the
FP7-ICT-20071 project ALLOW, http://www.allow-project.eu/).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Avrilionis</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Cunin</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          , Fernstr¨om, C.:
          <article-title>OPSIS: a View Mechanism for Software Processes which Supports their Evolution and Reuse</article-title>
          . In: ICSE. IEEE (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Born</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Brelage</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Markovic</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pfeiffer</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weber</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Auto-completion for Executable Business Process Models</article-title>
          .
          <source>In: Business Process Management Workshops. LNBIP</source>
          , vol.
          <volume>17</volume>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Dehnert</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rittgen</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Relaxed Soundness of Business Processes</article-title>
          .
          <source>In: Advanced Information Systems Engineering. LNCS</source>
          , vol.
          <source>2068</source>
          . Springer (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Dehnert</surname>
          </string-name>
          , J.,
          <string-name>
            <surname>Van Der Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          :
          <article-title>Bridging the gap between business models and workflow specifications</article-title>
          .
          <source>International Journal of Cooperative Information Systems</source>
          <volume>13</volume>
          (
          <issue>3</issue>
          ),
          <fpage>289</fpage>
          -
          <lpage>332</lpage>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Dijkman</surname>
            ,
            <given-names>R.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Ouyang</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Semantics and analysis of business process models in BPMN</article-title>
          .
          <source>Information and Software Technology</source>
          <volume>50</volume>
          (
          <issue>12</issue>
          ),
          <fpage>1281</fpage>
          -
          <lpage>1294</lpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Gierds</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <string-name>
            <surname>Finding</surname>
            <given-names>Cost-Efficient</given-names>
          </string-name>
          <string-name>
            <surname>Adapters</surname>
          </string-name>
          .
          <source>In: AWPN. CEUR Workshop Proceedings</source>
          , vol.
          <volume>380</volume>
          .
          <string-name>
            <surname>CEUR-WS.org</surname>
          </string-name>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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. LNCS</source>
          , vol.
          <volume>5240</volume>
          . Springer (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Hornung</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Koschmider</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oberweis</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Rule-based Autocompletion Of Business Process Models</article-title>
          .
          <source>In: CAiSE Forum</source>
          <year>2007</year>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Kiepuszewski</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>ter Hofstede</surname>
          </string-name>
          , A.,
          <string-name>
            <surname>van der Aalst</surname>
          </string-name>
          , W.:
          <article-title>Fundamentals of control flow in workflows</article-title>
          .
          <source>Acta Informatica</source>
          <volume>39</volume>
          (
          <issue>3</issue>
          ),
          <fpage>143</fpage>
          -
          <lpage>209</lpage>
          (
          <year>March 2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Kopp</surname>
            ,
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Eberle</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Unger</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>The Subprocess Spectrum</article-title>
          .
          <source>In: BPSC. LNI</source>
          , vol. P-
          <volume>177</volume>
          . Gesellschaft fu¨r Informatik e. V. (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Koschmider</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>A¨ hnlichkeitsbasierte ModellierungsunterstÃĳtzung fÃĳr Gescha¨ftsprozesse</article-title>
          .
          <source>Ph.D. thesis</source>
          , Fakulta¨t fu¨r Wirtschaftswissenschaften,
          <source>Institut fu¨r Angewandte Informatik und Formale Beschreibungsverfahren (AIFB)</source>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Lohmann</surname>
          </string-name>
          , N.:
          <article-title>Personal discussion at ZEUS 2011</article-title>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <surname>Lu</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sadiq</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Governatori</surname>
          </string-name>
          , G.:
          <article-title>On managing business processes variants</article-title>
          .
          <source>Data &amp; Knowledge Engineering</source>
          <volume>68</volume>
          (
          <issue>7</issue>
          ),
          <fpage>642</fpage>
          -
          <lpage>664</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <surname>Mazanek</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Minas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Business Process Models as a Showcase for Syntax-Based Assistance in Diagram Editors</article-title>
          .
          <source>In: Model Driven Engineering Languages and Systems. LNCS</source>
          , vol.
          <volume>5795</volume>
          . Springer (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <string-name>
            <surname>Mendling</surname>
            , J., van Dongen,
            <given-names>B.F.</given-names>
          </string-name>
          , van der Aalst:,
          <string-name>
            <surname>W.M.P.</surname>
          </string-name>
          :
          <article-title>Getting Rid of OR-Joins and Multiple Start Events in Business Process Models</article-title>
          .
          <source>Enterprise Information Systems (EIS) 2</source>
          (
          <issue>4</issue>
          ),
          <fpage>403</fpage>
          -
          <lpage>419</lpage>
          (
          <year>October 2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Polyvyanyy</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          , Garc´
          <fpage>ıa</fpage>
          -Ban˜uelos, L.,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Structuring Acyclic Process Models</article-title>
          .
          <source>In: BPM. LNCS</source>
          , vol.
          <volume>6336</volume>
          . Springer Berlin / Heidelberg (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Rolland</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Prakash</surname>
          </string-name>
          , N.:
          <article-title>Reusable Process Chunks</article-title>
          . In: DEXA. Springer (
          <year>1993</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Schmidt</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>LoLA: A Low Level Analyser</article-title>
          . In: ICATPN. pp.
          <fpage>465</fpage>
          -
          <lpage>474</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Schumm</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Karastoyanova</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Leymann</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Strauch</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Fragmento:
          <article-title>Advanced Process Fragment Library</article-title>
          . In: ISD. Springer (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Schumm</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          , et al.:
          <article-title>Integrating Compliance into Business Processes: Process Fragments as Reusable Compliance Controls</article-title>
          . In: MKWI (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Vanhatalo</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          , V¨olzer, H.,
          <string-name>
            <surname>Koehler</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          :
          <source>The Refined Process Structure Tree. Data Knowl. Eng</source>
          .
          <volume>68</volume>
          (
          <issue>9</issue>
          ),
          <fpage>793</fpage>
          -
          <lpage>818</lpage>
          (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>