semantics and analysis of dmn decision tables
TRANSCRIPT
Diego Calvanese, Marlon Dumas, Ülari Laurson, Fabrizio Maria Maggi, Irene Teinemaa
University of Tartu, Estonia | Free University of Bozen-Bolzano, Italy
Semantics and Analysis of
DMN Decision Tables
BPM’2016, Rio de Janeiro, 21 September 2016
3
Geometric interpretation
4
Line sweeping
5
Finding overlapping rules
(A, C)
6
Finding overlapping rules
E(A, C)(A,E)(C,E)
F
(C,F)
7
A C
E F
{A, C, E}{C, E}
Signavio{A, C} {A, E}, {C,E}{C, E}
Grouping rules:
Maximum clique decomposition
8
Finding missing rules
(A, C)
9
Finding missing rules
(A, C)
10
• LendingClub credit rating dataset• 23K loans rated in categories A, B, ... G
• Loan collection Decision tree Decision table• 3, 5 and 7 columns
• 500, 1K, 5K rules
• Mixture of categorical and numerical columns
• Noise injection• 10% of rows randomly chosen, one column enhanced (or shrank for missing rules)
• Baseline: Signavio DMN editor
Experimental evaluation
11
3 columns 5 columns
#Rules 499 998 1492 505 1000 1506
#Overlapping rule sets
Our approach 239 725 1 204 172 363 632
Signavio 1 226 10 920 23 115 679 3 692 8 921
#Missing rules
Our approach 117 330 726 136 254 462
Signavio 668 2 655 5 386 563 2 022 4 832
Experimental Results# of overlapping rules and missing rule-sets reported
Execution times (1500 rules x 5 columns)• Overlapping rules: < 3 seconds (with optimizations not reported in the paper)• Missing rules: < 2 seconds
12
Epilogue: Decision table simplification
13
Epilogue: Decision table simplification
14
3 columns 5 columns
#Columns modified 1 2 3 1 2 3
Our approach 104 107 96 105 104 119
Pollack approach 178 178 158 165 163 206
All combination 97 101 90 102 100 110
# of rules after simplification (100 rules)
15
• Formalized decision tables and two analysis problems
• Proposed algorithms for:• Detecting overlapping rules
• Detecting missing rules• Simplify a decision table via rule merging (not in this paper)
• Scalable and more compact feedback than state-of-the-art tools
• Algorithm implemented in dmn-js • Online editor: http://dmn.cs.ut.ee
• Source code: https://github.com/ulaurson/dmn-js
• Algorithm for decision table optimization: http://goo.gl/6QASgc
Conclusion