<!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>A Tool for Checking Soundness of Decision-Aware Business Processes</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kimon Batoulis</string-name>
          <email>Kimon.Batoulis@hpi.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mathias Weske</string-name>
          <email>Mathias.Weske@hpi.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>
          ,
          <addr-line>Potsdam</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>Based on the Decision Model and Notation (DMN), decision logic can be outsourced from process models to standardized decision models. This requires considerations of the sound integration of the two types of models. In this paper, we describe an open-source tool that checks the soundness of such decision-aware process models, inspired by the traditional workflow soundness notion. This includes ensuring that the process can continue after a decision has been taken, and that all activities following the decision can be executed. Our tool is scalable and its relevance has been established based on two empirical evaluations.</p>
      </abstract>
      <kwd-group>
        <kwd>BPMN</kwd>
        <kwd>DMN</kwd>
        <kwd>Soundness</kwd>
        <kwd>Camunda</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>from now on. Based on some user info the decision task determines a set of ads that
are relevant for the customer. Afterwards, depending on the outcome of the decision,
measures such as displaying warnings about alcohol must be taken, or if only toys should
be advertised the user is redirected to a designated webpage for children. We call these
fragments of process models decision fragments, defined by their structure of beginning
with a decision task, followed by a split gateway, followed by two or more tasks. The
tasks are enabled via the conditions of the split gateway’s outgoing edges, which refer to
the outcome of the decision. The DMN decision table associated with the decision task
Determine ads is shown in Fig. 2. This table is the top-level decision table of a DMN
decision model, consisting of just this table with two inputs, Age and Has Children. The
corresponding DMN decision requirements diagram is not shown for simplicity.</p>
      <p>
        Complementing process models with decision models requires considerations about
the correctness of the resulting decision-aware process models. The presented tool checks
two behavioral criteria that must be fulfilled for a correct integration, namely decision
deadlock freedom and dead branch absence [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ]. Validating these two criteria ensures
that the traditional soundness criteria for workflow nets [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ] are still fulfilled even for
decision-aware processes. On the one hand, decision deadlock freedom requires every
table of the decision model to be complete and that for each output of the top-level
decision at least on edge condition of the decision fragment evaluates to true. This makes
sure that the decision fragment does not contain deadlocks. On the other hand, dead
branch absence demands that for each edge condition there is at least one decision output
such that the condition becomes true. This ensures that the decision fragment does not
contain dead branches. The presented tool implements an efficient and scalable algorithm
to check these behavioral criteria.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Tool</title>
      <p>
        The tool to check the soundness of decision-aware business processes is implemented in
dmn-js, a DMN decision table editor developed by Camunda1. Parts of our
implementation rely on functionality provided in a tool to verify DMN decision tables [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. Our
tool is available for download together with exemplary models, the pseudocode of the
algorithms, a user guide and two screencasts at https://bpt.hpi.uni-potsdam.
de/Public/BpmnDmnSoundness/WebHome.
      </p>
      <p>In the following, we will apply the tool to the example from Section 1. Fig. 3 shows
the interface of the tool after the process model was imported to the decision table editor
via the import BPMN button and the check soundness button was clicked to check for the
two behavioral soundness criteria. The results are presented in the table Analysis results.
First of all, the output set of the decision table is computed and displayed. This is defined
to be the set of outputs the table can produce given the domains of the input variables,
the rules, and the hit policy. The table in the example has four rules that operate on an
integer and a boolean input. Furthermore, it is a multi-hit table with a rule order policy,
denoted by the letter R in the upper left corner. Consequently, if two rules rules match for
the same input, the output of both rules will be returned as a list ordered by the order of
the rules. For example, only rule 4 matches for the input (10, f alse) (or (10, true)), so
the only output will be T oys. However, for input (13, f alse) both rules 2 and 4 match,
such that the outputs of both rules are returned in a list: [V ideogames, T oys].
3</p>
      <p>After the entire table output set was computed, the behavioral criteria are checked. In
the example in Fig. 3, the decision deadlock freedom criterion is violated because no edge
condition of the decision fragment evaluates to true for the output [V ideogames, T oys].
All other outputs fulfil at least one edge condition. For example, the output T oys perfectly
matches the lower branch condition and the upper condition is satisfied for the last two
outputs because they contain the element Alcohol.</p>
      <p>To get rid of the error, we could now either change the table so that every output
is covered by an edge condition or adapt the decision fragment so that the uncovered
output is accounted for. For instance, we could try to add another branch with the
condition Ads == V ideogames and check soundness again. This will lead to the result
displayed in Fig. 4. Unfortunately, the output [V ideogames, T oys] is still uncovered.
Additionally, by adding the new branch we violated the dead branch absence criterion
since the condition Ads == V ideogames is actually unreachable. There is no output
of the decision table that is exactly equal to V ideogames. To eliminate both errors the
branch condition should be changed to Ads contains V ideogames. In this way, the
uncovered output will match this condition, which in turn is not unreachable anymore.
In this section, we discuss three aspects regarding our tool. First, we report our findings
from two empirical studies we conducted regarding the practical relevanve of our notion
of soundness of decision-aware business processes. Second, we discuss the scalability of
our algorithm. Lastly, we describe our tool’s maturity.</p>
      <p>In one study regarding the practical relevance of our notion we asked participants
of an online course on process and decision modeling to design a BPMN process and
an associated DMN decision model given a textual description of a billing process. We
received 70 valid submissions, 43 (61%) of which violated at least one of the behavioral
criteria. In another study, we analyzed a process management project of a large German
insurance company that serves to handle invoices of insured customers automatically.
This project contains 86 decision-aware business processes. In 26 (30%) of those we
detected violations of our soundness criteria.</p>
      <p>
        With respect to scalability, our implementation is divided into two parts, one for
computing the output set of a decision table, and one for checking the two behavioral
criteria. The former part extends the code for finding overlapping rules in a tool for
DMN decision table verification [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ], described in detail in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. We reuse this code to
implement a function to find all sets of rules that match for some input. Given this
information and the hit policy of the table, the output set can be computed. The algorithm
in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] is described to be scalable. Our code does not introduce additional complexity.
Our modification adds simple set intersection operations and sorts the matching rules
according to their priority if demanded by the hit policy. For the second part of our
implementation—checking the behavioral criteria—the complexity is given by the
number of possible outputs of the table times the number of branches of the decision
fragment. Therefore, our algorithm has the same scalability as the one in [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ].
      </p>
      <p>Our tool is able to check the sound integration of decision fragments with
toplevel decision tables with any number of output variables (a DMN decision table may
have more than one output variable column) and any kind of hit policy. Regarding the
decision fragment, its split gateway can be an exclusive, inclusive or complex gateway.
Furthermore, the edge conditions can be made up of conjunctions or disjunctions of
unary tests. Each unary test is an expression that compares the output of the table to
another value. For the comparison, in case of single value outputs the usual arithmetic
comparison operators appropriate for the type of the variable can be used. In case of list
outputs, equality and containment operators are available. In the end, the result of the
comparison will either be true or false so that it can be easily decided whether or not
an output is covered or a branch is reachable. Note that we assume that a decision table
has finitely many rows and therefore also finitely many outputs. Similarly, a decision
fragment is assumed to have a finite number of branches each consisting of finitely many
unary tests. Therefore, our soundness check is guaranteed to terminate.</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Aalst</surname>
            ,
            <given-names>W.M.P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hee</surname>
            ,
            <given-names>K.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hofstede</surname>
            ,
            <given-names>A.H.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sidorova</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Verbeek</surname>
            ,
            <given-names>H.M.W.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Voorhoeve</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Wynn</surname>
          </string-name>
          , M.T.:
          <article-title>Soundness of workflow nets: classification, decidability, and analysis</article-title>
          .
          <source>Formal Aspects of Computing</source>
          <volume>23</volume>
          (
          <issue>3</issue>
          ),
          <fpage>333</fpage>
          -
          <lpage>363</lpage>
          (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Batoulis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Soundness of decision-aware business processes</article-title>
          .
          <source>In: BPM Forum</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Calvanese</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dumas</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>U</surname>
          </string-name>
          ¨ lari Laurson, Maggi,
          <string-name>
            <given-names>F.M.</given-names>
            ,
            <surname>Montali</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Teinemaa</surname>
          </string-name>
          ,
          <string-name>
            <surname>I.</surname>
          </string-name>
          :
          <article-title>Semantics and analysis of dmn decision tables</article-title>
          .
          <source>In: BPM</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4. U¨lari Laurson, Maggi,
          <string-name>
            <surname>F.M.:</surname>
          </string-name>
          <article-title>A tool for the analysis of dmn decision tables</article-title>
          .
          <source>In: BPM Demo Track</source>
          . pp.
          <fpage>56</fpage>
          -
          <lpage>60</lpage>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <source>OMG: Business Process Model and Notation, Version 2.0.2 (January</source>
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6. OMG:
          <article-title>Decision Model and Notation, Version 1</article-title>
          .1 (May
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <given-names>Von</given-names>
            <surname>Halle</surname>
          </string-name>
          ,
          <string-name>
            <given-names>B.</given-names>
            ,
            <surname>Goldberg</surname>
          </string-name>
          ,
          <string-name>
            <surname>L.</surname>
          </string-name>
          :
          <article-title>The Decision Model: A Business Logic Framework Linking Business and Technology</article-title>
          . Taylor and Francis Group (
          <year>2010</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>