<!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 Decision Logic Veri cation in DMN Decision Tables</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Carl Corea</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Jonas Blatt</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Patrick Delfmann</string-name>
          <email>delfmanng@uni-koblenz.de</email>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Koblenz-Landau</institution>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>The Decision Model and Notation (DMN) is a popular standard to model company decision logic. Here, decision tables can be used to specify decision logic by the means of business rules. As these tables are modelled and maintained in an incremental and collaborative manner, this raises the need to verify the correctness of DMN decision tables. In this report, we therefore present a tool which allows to analyze the decision logic in DMN decision tables at design-time. Our tool implements all so-called veri cation capabilities from the recently proposed "business rule management capability framework" by Smit et al. [10], and also allows to detect errors distributed among multiple tables.</p>
      </abstract>
      <kwd-group>
        <kwd>DMN</kwd>
        <kwd>Decision Logic Analysis</kwd>
        <kwd>Camunda</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Introduction</title>
      <p>The Decision Model and Notation (DMN)1 is an OMG standard for the
representation of operational decision logic. Here, decisions can be expressed by the
means of so-called decision tables. Fig. 1 shows an exemplary decision table.
The columns of the table represent the input (income and assets) and output
(credit worthiness). The rows constitute individual rules. The rules in Fig. 1 can
be understood such that: if the income is 20 and the assets are &gt;50, then the
customer is not creditworthy (etc.).</p>
      <p>U Income (n) Assets (n)</p>
      <p>Creditworthy?</p>
      <p>20
[20..50]
[30..40]
&gt;50
&gt;50
&gt;100
false
false
true
Fig. 1: Exemplary decision table with modelling errors (units in thousands)</p>
      <p>While DMN provides a standard on how to represent decisions, the actual
content of the business rules is still the responsibility of the modeler. In turn,</p>
      <sec id="sec-1-1">
        <title>1 https://www.omg.org/spec/DMN/About-DMN/</title>
        <p>the modelled decision logic can potentially contain errors such as inconsistencies
or redundancies. An example of this is shown in Figure 1. First, the income
conditions for rules 1 and 2 are overlapping (e.g., for an income of exactly 20).
Furthermore, rule 2 completely subsumes rule 3. However, the respective
outputs are inconsistent, meaning that this modelling error must be attended to by
experts before rules can be merged.</p>
        <p>
          In practice, such modelling errors can occur frequently, as decision tables are
mostly maintained by multiple modelers. For example, Batoulis and Weske [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]
reported on a case study with a large insurance company, where those authors
found that 27% of analyzed rules contained overlaps. This calls for (automated)
means to support companies in the veri cation of decision logic [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ].
        </p>
        <p>
          In this context, Smit et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] have recently proposed the business rule
management (BRM) capability framework. This framework identi es speci c
decision logic level veri cation capabilities, derived from qualitative research with
industrial partners. Thus, those authors present a comprehensive set of veri
cation capabilities actually needed in practice. Therefore, our tool implements
these veri cation capabilities, which are: identical rule veri cation, equivalent
rule veri cation, subsumed rule veri cation, interdeterminism veri cation,
partial reduction veri cation, overlapping condition veri cation and missing rule
veri cation (We will discuss these capabilities in in Section 2).
        </p>
        <p>
          Detection capabilities
Literature IRduelnetsical ERquuleisvalent SRuublessumed Idnetteerr-minism COovnerdliatpiopninsg PRaerdtuiacltion RMuislesisng
Calvanese et al. (2016) [
          <xref ref-type="bibr" rid="ref5">5</xref>
          ] X o X X X
Laurson et al. (2016) [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] X X X o X
Batoulis et al. (2017) [
          <xref ref-type="bibr" rid="ref2">2</xref>
          ] X X X X
Calvanese et al. (2017) [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ] X o X X X
Batoulis et al. (2018) [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ] X X X o
Batoulis et al. (2018) [
          <xref ref-type="bibr" rid="ref4">4</xref>
          ] X X X
Calvanese et al. (2018) [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] X o X X o X
Corea et al. (2018) [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] X X X
This work X X X X X X X
Table 1: Overview of capabilities from [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] covered by existing approaches.
(X = Full support, o = partial support/not aligned with [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ])
        </p>
        <p>
          Table 1 shows an overview of DMN decision logic veri cation approaches that
have been introduced to the BPM community in recent years. To the best of our
knowledge, our tool is the rst to o er all decision logic level veri cation
capabilities by Smit et al. [
          <xref ref-type="bibr" rid="ref1">1</xref>
          ]2. Most prominently, we extend the works of Laurson
and Maggi [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] by covering the capabilities missing in their approach. Also, those
authors do not distinguish between identical rules, subsumed rules and
overlapping rules, but denote all these error types as overlaps. Here our approach
2 Please note that we do not implement "unnecessary facts veri cation", as this is
geared towards analyzing case-dependent facts and is beyond the scope of this report.
distinguishes errors aligned along the de nition in Smit et al. [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], to provide a
more ne-granular understanding for companies as a basis for resolution. Also,
to the best of our knowledge, whereas existing tools only allow to analyze
individual DMN decision tables, our tool is the rst to allow checking multiple tables
at once. In case that di erent modelers have created tables, inconsistencies or
overlaps between them can be analyzed.
2
        </p>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>Tool Description</title>
      <p>Our tool integrates camunda-dmn3, which is a Java library for DMN by
Camunda. Our project can be viewed at https://gitlab.uni-koblenz.de/fg-bks/
br-verification-tool. Also, an online-demo4 and screencast5 are available.</p>
      <p>
        Our browser-based tool allows to upload and analyze DMN decision tables.
The analysis is based on the framework by Smit et al. [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ]. As mentioned, this
framework was derived based on interviews with industrial partners, i.e. the
capabilities re ect analysis tasks needed in practice. Our tool therefore implements
all of the veri cation capabilities proposed in [
        <xref ref-type="bibr" rid="ref10">10</xref>
        ] as follows:
{ Identical rule veri cation. Detecting rules, which have an identical input,
i.e. are redundant.
{ Equivalent rule veri cation. Detecting rules, which are not identical, but
still semantically equivalent. Here, our tool can detect equivalent rules, based
on synonym relations.
{ Subsumed rule veri cation. Detecting individual rules, which are
subsumed by other rules, i.e. they are not necessary.
{ Interdeterminism veri cation. Detecting rules, which will always be
activated together, but have di ering or contradicting conclusions. For example,
rules must not yield that a customer is both credit worthy, and not credit
worthy, as this is logically inconsistent.
{ Partial reduction veri cation. Checking whether ranges can be combined
to simplify decision tables.
{ Overlapping condition veri cation. Detecting whether there are any
overlaps in rule conditions.
{ Missing rule veri cation. Detecting whether there are any missing
business rules, e.g., gaps in condition ranges.
      </p>
      <p>Our tool also allows an analysis of multiple decision tables at once, e.g. the
tool can be used to nd identical rules which are distributed across multiple
tables. A more detailed explanation and examples for the individual veri cation
capabilities can be found in the supplementary documentation6.</p>
      <p>Figure 2 shows an actual usage example. For this example, we uploaded the
decision table shown in Figure 1. The tool provides an overview of all errors</p>
      <sec id="sec-2-1">
        <title>3 https://github.com/camunda/camunda-engine-dmn 4 http://inconsistency.fg-bks.uni-koblenz.de:8090/ 5 https://youtu.be/yTXTKi3s6LM 6 https://gitlab.uni-koblenz.de/fg-bks/br-verification-tool/wikis/home</title>
        <p>found in the tables (1). There are 2 main tabs, namely for errors found within
single tables, or errors including multiple tables (2). Users can browse the errors
and click on the "show" button (3) to highlight the concerned rules. Users can
also edit and re-verify the tables directly in the browser. We would like to remind
the reader of the available online-demo and screencast referenced above.
For evaluation, we performed run-time experiments. To this aim, we analyzed a
total of 300 synthetic decision tables. As parameters for generating these tables,
we chose the number of table columns from f1,2,...,10g, and the number of
table rows from f50,100,...,500g (i.e., 10x10 possible combinations). For each
of the 100 possible combinations of rows and columns, we generated 3 decision
tables with di erent random rules (i.e., 300 decision tables). The respective rules
of these tables were randomly generated by using random integer conditions,
with one of the operators from f=; [a::b]; ; ; &lt;; &gt;g. These random conditions
allow to create synthetic decision tables with actual errors, which are meant
to be analyzed by our tool, such as redundancies or condition overlaps. We
consequently applied our veri cation tool and computed the average run-time
for each parameter con guration, which is shown in Figure 3. Our experiments
were run on a Windows 10 PC with i7 processor, 16GB DDR4 RAM and 512
GB SSD memory. As can be seen in Figure 3, the run-time for analyzing 500
rules with 10 columns averages to roughly 5s. Thus, for our analyzed data-sets,
our tool allowed for a feasible analysis.</p>
        <p>
          To conclude, the tool presented in this work allows to analyze multiple DMN
decision tables. The tool currently supports the unique hit policy, which will be
extended in future work. Regarding the veri cation capabilities, our tool
implements the capabilities proposed in the practice-based framework by [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ], and
thus extends existing works such as [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ]. Hence, our tool supports companies in
decision logic veri cation and facilitates sustainable business rules management.
In future work, we aim to apply our tool to industrial data-sets.
0
        </p>
        <p>5
Number of columns
10</p>
        <p>400
Number of rows
200</p>
      </sec>
    </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>Nesterenko</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Repitsch</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weske</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Decision management in the insurance industry: Standards and tools</article-title>
          .
          <source>In: Proceedings of the BPM 2017 Industry Track</source>
          (
          <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>A tool for checking soundness of decision-aware business processes</article-title>
          .
          <source>In: Proceedings of the BPM Demo Track</source>
          (
          <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>Disambiguation of DMN decision tables</article-title>
          .
          <source>In: Business Information Systems - 21st International Conference</source>
          (
          <year>2018</year>
          )
        </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>A tool for the uniquei cation of DMN decision tables</article-title>
          .
          <source>In: Proceedings of the BPM Demo Track</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <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>Laurson</surname>
            ,
            <given-names>U</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teinemaa</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Semantics and analysis of dmn decision tables</article-title>
          .
          <source>In: International Conference on Business Process Management</source>
          . Springer (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <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>Laurson</surname>
            ,
            <given-names>U</given-names>
          </string-name>
          .,
          <string-name>
            <surname>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Teinemaa</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Semantics, analysis and simpli cation of dmn decision tables</article-title>
          .
          <source>Information Systems</source>
          <volume>78</volume>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <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>Maggi</surname>
            ,
            <given-names>F.M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Montali</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Semantic dmn: Formalizing decision models with domain knowledge</article-title>
          .
          <source>In: International Joint Conference on Rules and Reasoning</source>
          . Springer (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Corea</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Delfmann</surname>
            ,
            <given-names>P.:</given-names>
          </string-name>
          <article-title>A tool to monitor consistent decision-making in business process execution</article-title>
          .
          <source>In: Proceedings of the BPM Demo Track</source>
          (
          <year>2018</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <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</source>
          (
          <year>2016</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Smit</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Zoet</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Berkhout</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>Veri cation capabilities for business rules management in the dutch governmental context</article-title>
          .
          <source>In: Research and Innovation in Information Systems (ICRIIS)</source>
          ,
          <source>2017 International Conference on. IEEE</source>
          (
          <year>2017</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>