<!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 the Uniquei cation of DMN Decision Tables</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kimon Batoulis</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.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>The Decision Model and Notation (DMN) prescribes decision tables as the standardized way of expressing decision logic. The rules of the decision table may be overlapping, meaning that given some input, multiple rules of the table match and some con ict resolution strategy has to be applied to determine the nal output. Therefore, the input-output behavior of tables with overlapping rules is not immediately clear, which makes them hard to understand and unsuitable for analysis tasks. In this paper, we present a tool that transforms DMN decision tables with overlapping rules into equivalent ones that only contain exclusive rules, a process we call uniquei cation.</p>
      </abstract>
      <kwd-group>
        <kwd>DMN</kwd>
        <kwd>Decision Table Analysis</kwd>
        <kwd>Uniquei cation</kwd>
        <kwd>Camunda</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>
        The Decision Model and Notation (DMN) [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] is an OMG standard for the
design of decisions. In DMN, a decision is modeled on two levels. The decision
requirements level represents the dependencies between decisions and what input
data is necessary. The decision logic level, in turn, de nes the logic of each
individual decision. DMN speci es decision tables as the default option for
that and prescribes a standardized design. An important attribute of a DMN
decision table is its hit policy. This attribute becomes important when tables
with overlapping rules are designed.
      </p>
      <p>Consider the table in Fig. 1. This table assigns a credit rating score to a person
R
1
2
3
4
5</p>
      <p>Income (k)
Number ≥ 0</p>
      <p>≤ 30
[10..60]
 [20..95]
≥ 80
≥ 40</p>
      <p>Assets (k)
Number ≥ 0</p>
      <p>≤ 30
[10..25]
 [40..90]</p>
      <p>≥ 85</p>
      <p>Credit Rating</p>
      <p>A, B, C, D, E</p>
      <p>A
B
C
D
E
based on their income and assets. However, for certain inputs more than one rule
matches. For example, for the input (15; 10) both rules 1 and 2 are eligible. This
is a con ict that requires further guidance, because it is not clear which rule's
output should be chosen in this case. Therefore, a table with overlapping rules
has to indicate a hit policy that should be applied in such cases. This policy is
represented by a single letter in the upper left corner of the table. For instance,
the table in Fig. 1 speci es a rule order policy, represented by the letter R. With
this policy the outputs of all matching rules are collected in a list which is sorted
according to the order of the matching rules in the table. Therefore, the table
would return [A; B] as the decision result given the input (15; 10).</p>
      <p>Apparently, the set of possible outputs of a decision table can be di erent
from the outputs of the individual rules, and depending on how many overlapping
rules there are, this set may not be obvious. For example, the set of possible
outputs of the example table is:</p>
      <p>A; B; C; D; E; [A; B]; [C; D]; [C; E]; [D; E]; [C; D; E]:
This set is not easily identi able by looking at the table. The same holds for the
other way round. Which inputs are responsible for which outputs? Phrased more
generally, what is the input-output behavior of the table?</p>
      <p>
        Knowing the input-output behavior of a table eases understanding its logic.
Also, it facilitates conducting certain analysis tasks that are based on the
inputoutput behavior, such as checking the sound integration of a decision table with
a process model [
        <xref ref-type="bibr" rid="ref1 ref2 ref5">1, 2, 5</xref>
        ]. Therefore, we developed and implemented an algorithm
that translates a decision table with any number of overlapping rules and any hit
policy into an equivalent one (i.e., one having the same input-output behavior)
containing only exclusive rules|a process we call uniquei cation, which was
already described in [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]. In such a table the input-output behavior is clearly
visible from the individual rules.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Tool</title>
      <p>
        The tool to uniqueify DMN decision tables is implemented in dmn-js, a DMN
decision table editor developed by Camunda1. Our implementation builds upon
functionality provided in a tool to verify DMN decision tables [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] and also a tool
to check the soundness of decision-aware business processes [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. In fact, it is an
extension of [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], with added functionality for table uniquei cation.
      </p>
      <p>Our tool is available for download together with exemplary models, the
pseudocode of the algorithm, and a screencast at https://bpt.hpi.uni-potsdam.
de/Public/TableUniqueification.</p>
      <p>In the following, we will apply the tool to the example from Section 1. Fig. 2
shows the interface of the tool after the table was opened. Since this is an
extension of an existing tool, there are several buttons at the top. The rightmost
one triggers the algorithm for uniqueifying the table. This will translate the table
into an equivalent one (in terms of input-output behavior) that now consists
only of exclusive rules. The view of the tool displaying this translated table is
shown in Fig. 3. The table has 15 rules, all of them being unique (i.e., exclusive).</p>
      <p>A Tool for the Uniquei cation of DMN Decision Tables
Therefore, the table's hit policy is now changed to unique, denoted by the letter
U in the upper left corner.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Maturity</title>
      <p>In this section, we discuss two aspects regarding our tool. First, we report the
results of our performance analysis of the uniquei cation algorithm. Second, we
discuss the tool's maturity.</p>
      <p>For the performance analysis, we generated 1000 synthetic decision tables
with up to 50 rows and 30 columns. The results showed that there are two factors
that the runtime of the algorithm depends on: On the one hand, it is in uenced
by the number of overlapping rules of the table. The more overlapping rules
there are, the more exclusive rules there can potentially be in the translated</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Batoulis</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Haarmann</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Various notions of soundness for decisionaware business processes</article-title>
          . In: Mayr,
          <string-name>
            <given-names>H.C.</given-names>
            ,
            <surname>Guizzardi</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            , Ma, H.,
            <surname>Pastor</surname>
          </string-name>
          ,
          <string-name>
            <surname>O</surname>
          </string-name>
          . (eds.) Conceptual Modeling. pp.
          <volume>403</volume>
          {
          <fpage>418</fpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2017</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>
          . In: Carmona,
          <string-name>
            <given-names>J.</given-names>
            ,
            <surname>Engels</surname>
          </string-name>
          ,
          <string-name>
            <given-names>G.</given-names>
            ,
            <surname>Kumar</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.) Business Process Management Forum. pp.
          <volume>106</volume>
          {
          <fpage>124</fpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <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>A tool for checking soundness of decision-aware business processes</article-title>
          .
          <source>In: Proceedings of the BPM Demo Track and BPM Dissertation Award co-located with 15th International Conference on Business Process Modeling (BPM</source>
          <year>2017</year>
          ), Barcelona, Spain,
          <year>September 13</year>
          ,
          <year>2017</year>
          . (
          <year>2017</year>
          ), http: //ceur-ws.
          <source>org/</source>
          Vol-1920/BPM_2017_paper_184.pdf
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <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>Disambiguation of dmn decision tables</article-title>
          . In: Abramowicz,
          <string-name>
            <given-names>W.</given-names>
            ,
            <surname>Paschke</surname>
          </string-name>
          ,
          <string-name>
            <surname>A</surname>
          </string-name>
          . (eds.)
          <source>Business Information Systems</source>
          . pp.
          <volume>236</volume>
          {
          <fpage>249</fpage>
          . Springer International Publishing,
          <string-name>
            <surname>Cham</surname>
          </string-name>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Hasic</surname>
            ,
            <given-names>F.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Smedt</surname>
            ,
            <given-names>J.D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vanthienen</surname>
          </string-name>
          , J.:
          <article-title>Augmenting processes with decision intelligence: Principles for integrated modelling. Decision Support Systems (</article-title>
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Laurson</surname>
            ,
            <given-names>U</given-names>
          </string-name>
           .,
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.:</given-names>
          </string-name>
          <article-title>A tool for the analysis of DMN decision tables</article-title>
          .
          <source>In: Proceedings of the BPM Demo Track 2016 Co-located with the 14th International Conference on Business Process Management (BPM</source>
          <year>2016</year>
          ), Rio de Janeiro, Brazil,
          <year>September 21</year>
          ,
          <year>2016</year>
          . pp.
          <volume>56</volume>
          {
          <issue>60</issue>
          (
          <year>2016</year>
          ), http://ceur-ws.
          <source>org/</source>
          Vol-
          <volume>1789</volume>
          /bpm-demo
          <article-title>-2016-paper11</article-title>
          . pdf
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7. OMG:
          <article-title>Decision Model and Notation, Version 1</article-title>
          .1 (May
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>