=Paper=
{{Paper
|id=Vol-2420/papeDT11
|storemode=property
|title=A Tool for Decision Logic Verification in DMN Decision Tables
|pdfUrl=https://ceur-ws.org/Vol-2420/papeDT11.pdf
|volume=Vol-2420
|authors=Carl Corea,Jonas Blatt,Patrick Delfmann
|dblpUrl=https://dblp.org/rec/conf/bpm/CoreaBD19
}}
==A Tool for Decision Logic Verification in DMN Decision Tables==
A Tool for Decision Logic Verification in DMN Decision Tables Carl Corea, Jonas Blatt, and Patrick Delfmann University of Koblenz-Landau, Germany {ccorea,jonasblatt,delfmann}@uni-koblenz.de Abstract. The Decision Model and Notation (DMN) is a popular stan- dard 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 man- ner, 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 imple- ments all so-called verification 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. Keywords: DMN, Decision Logic Analysis, Camunda 1 Introduction The Decision Model and Notation (DMN)1 is an OMG standard for the repre- sentation 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 >50, then the customer is not creditworthy (etc.). U Income (n) Assets (n) Creditworthy? 1 ≤ 20 >50 false 2 [20..50] >50 false 3 [30..40] >100 true Fig. 1: Exemplary decision table with modelling errors (units in thousands) 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, 1 https://www.omg.org/spec/DMN/About-DMN/ 2 C. Corea et al. 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 out- puts are inconsistent, meaning that this modelling error must be attended to by experts before rules can be merged. In practice, such modelling errors can occur frequently, as decision tables are mostly maintained by multiple modelers. For example, Batoulis and Weske [1] 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 verification of decision logic [1]. In this context, Smit et al. [10] have recently proposed the business rule man- agement (BRM) capability framework. This framework identifies specific deci- sion logic level verification capabilities, derived from qualitative research with industrial partners. Thus, those authors present a comprehensive set of verifi- cation capabilities actually needed in practice. Therefore, our tool implements these verification capabilities, which are: identical rule verification, equivalent rule verification, subsumed rule verification, interdeterminism verification, par- tial reduction verification, overlapping condition verification and missing rule verification (We will discuss these capabilities in in Section 2). Detection capabilities Identical Equivalent Subsumed Inter- Overlapping Partial Missing Literature Rules Rules Rules determinism Conditions Reduction Rules Calvanese et al. (2016) [5] X o X X X Laurson et al. (2016) [9] X X X o X Batoulis et al. (2017) [2] X X X X Calvanese et al. (2017) [7] X o X X X Batoulis et al. (2018) [3] X X X o Batoulis et al. (2018) [4] X X X Calvanese et al. (2018) [6] X o X X o X Corea et al. (2018) [8] X X X This work X X X X X X X Table 1: Overview of capabilities from [10] covered by existing approaches. (X = Full support, o = partial support/not aligned with [10]) Table 1 shows an overview of DMN decision logic verification approaches that have been introduced to the BPM community in recent years. To the best of our knowledge, our tool is the first to offer all decision logic level verification capa- bilities by Smit et al. [1]2 . Most prominently, we extend the works of Laurson and Maggi [9] by covering the capabilities missing in their approach. Also, those authors do not distinguish between identical rules, subsumed rules and over- lapping rules, but denote all these error types as overlaps. Here our approach 2 Please note that we do not implement ”unnecessary facts verification”, as this is geared towards analyzing case-dependent facts and is beyond the scope of this report. Decision Logic Verification in DMN 3 distinguishes errors aligned along the definition in Smit et al. [10], to provide a more fine-granular understanding for companies as a basis for resolution. Also, to the best of our knowledge, whereas existing tools only allow to analyze indi- vidual DMN decision tables, our tool is the first to allow checking multiple tables at once. In case that different modelers have created tables, inconsistencies or overlaps between them can be analyzed. 2 Tool Description Our tool integrates camunda-dmn3 , which is a Java library for DMN by Ca- munda. Our project can be viewed at https://gitlab.uni-koblenz.de/fg-bks/ br-verification-tool. Also, an online-demo4 and screencast5 are available. Our browser-based tool allows to upload and analyze DMN decision tables. The analysis is based on the framework by Smit et al. [10]. As mentioned, this framework was derived based on interviews with industrial partners, i.e. the ca- pabilities reflect analysis tasks needed in practice. Our tool therefore implements all of the verification capabilities proposed in [10] as follows: – Identical rule verification. Detecting rules, which have an identical input, i.e. are redundant. – Equivalent rule verification. Detecting rules, which are not identical, but still semantically equivalent. Here, our tool can detect equivalent rules, based on synonym relations. – Subsumed rule verification. Detecting individual rules, which are sub- sumed by other rules, i.e. they are not necessary. – Interdeterminism verification. Detecting rules, which will always be acti- vated together, but have differing 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 verification. Checking whether ranges can be combined to simplify decision tables. – Overlapping condition verification. Detecting whether there are any overlaps in rule conditions. – Missing rule verification. Detecting whether there are any missing busi- ness rules, e.g., gaps in condition ranges. Our tool also allows an analysis of multiple decision tables at once, e.g. the tool can be used to find identical rules which are distributed across multiple tables. A more detailed explanation and examples for the individual verification capabilities can be found in the supplementary documentation6 . 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 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 4 C. Corea et al. 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. Fig. 2: Usage example: Results of analyzing the table in Figure 1. 3 Maturity and Outlook 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 {1,2,...,10}, and the number of table rows from {50,100,...,500} (i.e., 10x10 possible combinations). For each of the 100 possible combinations of rows and columns, we generated 3 decision tables with different 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 {=, [a..b], ≤, ≥, <, >}. 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 verification tool and computed the average run-time for each parameter configuration, 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. 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 verification capabilities, our tool imple- ments the capabilities proposed in the practice-based framework by [10], and thus extends existing works such as [9]. Hence, our tool supports companies in decision logic verification and facilitates sustainable business rules management. In future work, we aim to apply our tool to industrial data-sets. Decision Logic Verification in DMN 5 Run-time in milliseconds 5,000 0 400 Num 5 ber 200 ws of c ro f ro olum ns 10 Nu mbe Fig. 3: Run-time for the analysis of synthetic decision tables with up to 10 columns and 500 rows. References 1. Batoulis, K., Nesterenko, A., Repitsch, G., Weske, M.: Decision management in the insurance industry: Standards and tools. In: Proceedings of the BPM 2017 Industry Track (2017) 2. Batoulis, K., Weske, M.: A tool for checking soundness of decision-aware business processes. In: Proceedings of the BPM Demo Track (2017) 3. Batoulis, K., Weske, M.: Disambiguation of DMN decision tables. In: Business Information Systems - 21st International Conference (2018) 4. Batoulis, K., Weske, M.: A tool for the uniqueification of DMN decision tables. In: Proceedings of the BPM Demo Track (2018) 5. Calvanese, D., Dumas, M., Laurson, Ü., Maggi, F.M., Montali, M., Teinemaa, I.: Semantics and analysis of dmn decision tables. In: International Conference on Business Process Management. Springer (2016) 6. Calvanese, D., Dumas, M., Laurson, Ü., Maggi, F.M., Montali, M., Teinemaa, I.: Semantics, analysis and simplification of dmn decision tables. Information Systems 78 (2018) 7. Calvanese, D., Dumas, M., Maggi, F.M., Montali, M.: Semantic dmn: Formalizing decision models with domain knowledge. In: International Joint Conference on Rules and Reasoning. Springer (2017) 8. Corea, C., Delfmann, P.: A tool to monitor consistent decision-making in business process execution. In: Proceedings of the BPM Demo Track (2018) 9. Laurson, Ü., Maggi, F.M.: A tool for the analysis of dmn decision tables. In: Pro- ceedings of the BPM Demo Track (2016) 10. Smit, K., Zoet, M., Berkhout, M.: Verification capabilities for business rules man- agement in the dutch governmental context. In: Research and Innovation in Infor- mation Systems (ICRIIS), 2017 International Conference on. IEEE (2017)