Presentation of the paper "Semantic DMN: Formalizing Decision Models with Domain Knowledge", joint work with Diego Calvanese, Marlon Dumas, and Fabrizio M. Maggi, at RuleML+RR: International Joint Conference on Rules and Reasoning.
Spermiogenesis or Spermateleosis or metamorphosis of spermatid
Semantic DMN: Formalizing Decision Models with Domain Knowledge
1. Semantic DMN
Formalizing Decision Models with Domain Knowledge
Diego Calvanese1, Marlon Dumas2, Fabrizio M. Maggi2,
Marco Montali1
1Free University of Bozen-Bolzano, Italy
2University of Tartu, Estonia
KRDB
1
montali@inf.unibz.it
RuleML+RR 2017, London, UK
Marco Montali Semantic DMN RuleML+RR 2017 1 / 25
2. The New Youth of Decision Models
Decision Model and Notation (DMN) standard by OMG:
• Supports elicitation and clean representation of decision models.
• Decision: set of business rules for a single decision with fixed
inputs/outputs. Captured in a table.
• Decision Requirements Diagram: composition of multiple decisions.
Increasingly being adopted in the industry.
• Many tools for modeling, checking, refactoring, applying DMN
models.
Marco Montali Semantic DMN RuleML+RR 2017 2 / 25
3. Success Factor #1: Timeliness
Organisations are increasingly process-oriented.
• DMN encourages separation of concerns between the process logic
and the decision logic.
• Clarity, modularity, reusability.
Marco Montali Semantic DMN RuleML+RR 2017 3 / 25
4. Success Factor #1: Timeliness
Organisations are increasingly process-oriented.
• DMN encourages separation of concerns between the process logic
and the decision logic.
• Clarity, modularity, reusability.
From BPMN. . .
Marco Montali Semantic DMN RuleML+RR 2017 3 / 25
5. Success Factor #1: Timeliness
Organisations are increasingly process-oriented.
• DMN encourages separation of concerns between the process logic
and the decision logic.
• Clarity, modularity, reusability.
. . . to BPMN+DMN
Marco Montali Semantic DMN RuleML+RR 2017 3 / 25
6. Success Factor #2: Understandability
hereby call a facet. Each row has an identifier, one expression for each input
column (a.k.a. the input entries), and one specific value for each output column
(the output entries). For example, Table 1 shows a DMN table with two input
columns, one output column and four rules.
Loan Grade
U C Annual Loan Grade
Income Size
0 0 VG,G,F,P
A [0..1000] [0..1000] VG
B [250..750] [4000..5000] G
C [500..1500] [500..3000] F
D [2000..2500] [0..2000] P
Table name
Hit indicator
Completeness
indicator
Input attributes
Facet
Output
attribute
Rule
Priority
indicator
Input entries Output entry
Table 1: Sample decision table with its constitutive elements
Given an input configuration consisting of a vector of values (one entry per
column), if every input entry of a row holds true for this input vector, then the
3
Rule conditions specified using the Friendly Enough Expression Language,
coming in two flavours:
• S-FEEL - simple and graphical.
• (full) FEEL - powerful and textual.
We focus on S-FEEL.
Marco Montali Semantic DMN RuleML+RR 2017 4 / 25
7. Research Questions
Formal semantics:
• What is the semantics of DMN Decision Tables?
• How to efficiently check the correctness of tables and their indicators?
−→ [ ,BPM2016]
Marco Montali Semantic DMN RuleML+RR 2017 5 / 25
8. Research Questions
Formal semantics:
• What is the semantics of DMN Decision Tables?
• How to efficiently check the correctness of tables and their indicators?
−→ [ ,BPM2016]
Model integration:
• How to assess the overall correctness of processes+decision models?
−→ [Hewelt and Weske,BPMForum2017]
Marco Montali Semantic DMN RuleML+RR 2017 5 / 25
9. Research Questions
Formal semantics:
• What is the semantics of DMN Decision Tables?
• How to efficiently check the correctness of tables and their indicators?
−→ [ ,BPM2016]
Model integration:
• How to assess the overall correctness of processes+decision models?
−→ [Hewelt and Weske,BPMForum2017]
• How to integrate decision models and background knowledge? DMN
works under the assumption of complete information!
• How to formalise the semantics of such an integrated model?
• How to reassess correctness in this richer setting?
−→ This work!
Marco Montali Semantic DMN RuleML+RR 2017 5 / 25
10. A Concrete Example
Inspired by the Ship and Port Facility Security Code:
• Ship clearance in the Netherlands.
• March 2016 challenge at dmcommunity.org.
Marco Montali Semantic DMN RuleML+RR 2017 6 / 25
11. Knowledge of Ships
There are several types of ships, characterised by:
• length (in m);
• draft size (in m);
• capacity (in TEU).
Marco Montali Semantic DMN RuleML+RR 2017 7 / 25
12. Knowledge of Ships
There are several types of ships, characterised by:
• length (in m);
• draft size (in m);
• capacity (in TEU).
Ship Type Short Length (m) Draft (m) Capacity (TEU)
Converted Cargo Vessel CCV 135 0 – 9 500
Converted Tanker CT 200 0 – 9 800
Cellular Containership CC 215 10 1000 – 2500
Small Panamax Class SPC 250 11 – 12 3000
Large Panamax Class LPC 290 11 – 12 4000
Post Panamax PP 275 – 305 11 – 13 4000 – 5000
Post Panamax Plus PPP 335 13 – 14 5000 – 8000
New Panamax NP 397 15.5 11 000 – 14 500
Marco Montali Semantic DMN RuleML+RR 2017 7 / 25
13. Knowledge of Ships
There are several types of ships, characterised by:
• length (in m);
• draft size (in m);
• capacity (in TEU).
Ship Type Short Length (m) Draft (m) Capacity (TEU)
Converted Cargo Vessel CCV 135 0 – 9 500
Converted Tanker CT 200 0 – 9 800
Cellular Containership CC 215 10 1000 – 2500
Small Panamax Class SPC 250 11 – 12 3000
Large Panamax Class LPC 290 11 – 12 4000
Post Panamax PP 275 – 305 11 – 13 4000 – 5000
Post Panamax Plus PPP 335 13 – 14 5000 – 8000
New Panamax NP 397 15.5 11 000 – 14 500
Warning!
This is not a decision table. This is a set of constraints relating the ship
types with corresponding possible dimensions.
Marco Montali Semantic DMN RuleML+RR 2017 7 / 25
14. Clearance Rules
A vessel may enter a port if:
• it is equipped with a valid certificate of registry;
• it meets the safety requirements.
Marco Montali Semantic DMN RuleML+RR 2017 8 / 25
15. Clearance Rules
A vessel may enter a port if:
• it is equipped with a valid certificate of registry;
• it meets the safety requirements.
Valid certificate of registry
Certificate expiration date > current date.
Safety Requirements
Based on ship characteristics and the amount of residual cargo:
• small ships (with length ≤ 260 m and draft ≤ 10 m) may enter only if their capacity is
≤ 1000 TEU.
• Ships with a small length (≤ 260 m), medium draft > 10 and ≤ 12 m, and capacity
≤ 4000 TEU, may enter only if cargo residuals have ≤ 0.75 mg dry weight per cm2
.
• Medium-sized ships (with length > 260 m and < 320 m, and draft > 10 m and
≤ 13 m), and with a cargo capacity < 6000 TEU, may enter only if their residuals have
≤ 0.5 mg dry weight per cm2
.
• Big ships with length between 320 m and 400 m, draft > 13 m, and capacity
> 4000 TEU, may enter only if their carried residuals have ≤ 0.25 mg dry weight per
cm2
.
Marco Montali Semantic DMN RuleML+RR 2017 8 / 25
16. Clearance Rules in DMNTable 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
• if D is a numerical datatype, given two numbers v1, v2 2 D, the interval expres-
Marco Montali Semantic DMN RuleML+RR 2017 9 / 25
17. Clearance Rules in DMNTable 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
• if D is a numerical datatype, given two numbers v1, v2 2 D, the interval expres-
Key Questions
• Are the table indicators correct?
• Do we need complete information about ships to apply the table? Is it
enough to know certificate expiration, ship type, cargo residuals?
Marco Montali Semantic DMN RuleML+RR 2017 9 / 25
18. Clearance Rules in DMNTable 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
• if D is a numerical datatype, given two numbers v1, v2 2 D, the interval expres-
sions “[v1, v2]”, “[v1, v2)”, “(v1, v2]”, and “(v1, v2)” are S-FEEL conditions (inter-
Correctness of table indicators
• Unique hit: yes!
• Completeness:
no if table considered in isolation;
yes if understood in the context of background knowledge about ships.
Marco Montali Semantic DMN RuleML+RR 2017 9 / 25
19. Clearance Rules in DMNTable 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
• if D is a numerical datatype, given two numbers v1, v2 2 D, the interval expres-
sions “[v1, v2]”, “[v1, v2)”, “(v1, v2]”, and “(v1, v2)” are S-FEEL conditions (inter-
Table application from certificate expiration, ship type, cargo residuals
• From ship type, one can infer partial information about ship
characteristics, using background knowledge.
• Combined with certificate expiration and cargo residuals, this is enough
to unambiguously apply the decision table!
Marco Montali Semantic DMN RuleML+RR 2017 9 / 25
20. Sources of Decision Knowledge
• DMN Decisions. Defined by the standard.
• Knowledge Base. Multi-sorted FOL theory FOL(D):
◦ Sorts D: correspond to the S-FEEL data types (strings, numbers,
with their comparison predicates).
◦ Concept: unary predicate interpreted over abstract object domain ∆.
◦ Role: Binary predicate relating pairs of objects from ∆.
◦ Feature: Binary predicate relating objects from ∆ to data values from
a selected data type in D.
Marco Montali Semantic DMN RuleML+RR 2017 10 / 25
21. Sources of Decision Knowledge
• DMN Decisions. Defined by the standard.
• Knowledge Base. Multi-sorted FOL theory FOL(D):
◦ Sorts D: correspond to the S-FEEL data types (strings, numbers,
with their comparison predicates).
◦ Concept: unary predicate interpreted over abstract object domain ∆.
◦ Role: Binary predicate relating pairs of objects from ∆.
◦ Feature: Binary predicate relating objects from ∆ to data values from
a selected data type in D.
Example
Ship Type Short Length (m) Draft (m) Capacity (TEU)
. . . CCV 135 0 – 9 500
∀s.CCV(s) → Ship(s) ∧ ∀l.(length(s, l) → l = 135) ∧
∀d.(draft(s, d) → d ≥ 0 ∧ d ≤ 9) ∧ ∀c.(capacity(s, c) → c = 500)
Marco Montali Semantic DMN RuleML+RR 2017 10 / 25
22. Combining Decisions and Background Knowledge
Marco Montali Semantic DMN RuleML+RR 2017 11 / 25
23. Combining Decisions and Background Knowledge
Marco Montali Semantic DMN RuleML+RR 2017 11 / 25
24. Combining Decisions and Background Knowledge
Marco Montali Semantic DMN RuleML+RR 2017 11 / 25
25. Combining Decisions and Background Knowledge
Marco Montali Semantic DMN RuleML+RR 2017 11 / 25
26. Decision Knowledge Bases
Definition (DKB)
A decision knowledge base over datatypes D (D-DKB, or DKB for short)
is a tuple Σ, T , M, C, A , where:
• T is a FOL(D) IKB with signature Σ.
• M is a DMN decision that satisfies the following two typing conditions:
(output uniqueness) M.O ∩ Σ = ∅;
(input type compatibility) for every binary predicate P ∈ Σ whose name
appears in M.I, their types are compatible, i.e.,
M.AType(P) = SigP (2).
• C ∈ ΣC is a bridge concept: a concept from Σ that links T with M.
• A is an ABox over the extended signature Σ ∪ M.I.
Example
The combination of the knowledge base of ships with the vessel clearance
DMN decision, using Ship as bridge concept.
Marco Montali Semantic DMN RuleML+RR 2017 12 / 25
27. Formalising DKBs
Encode the DMN decision in FOL(D):
• Using the bridge concept as reference concept.
• Then simply enriching the original KB with the so-obtained additional
axioms.
Marco Montali Semantic DMN RuleML+RR 2017 13 / 25
28. Formalising DKBs
Encode the DMN decision in FOL(D):
• Using the bridge concept as reference concept.
• Then simply enriching the original KB with the so-obtained additional
axioms.
Marco Montali Semantic DMN RuleML+RR 2017 13 / 25
29. Encoding of Attributes (1)
Signature extended by introducing:
• A feature for each input attribute of the decision that is not already
used in the KB.
• A feature for each combination of output attribute-rule: output feature
+ its provenance.
Example
8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali
Table 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• 2 new features for CerExp and Cargo;
• 9 new features for Enter, i.e., Enteri for rule i (i ∈ {1, . . . , 9}).
Marco Montali Semantic DMN RuleML+RR 2017 14 / 25
30. Encoding of Attributes (2)
For each input/output feature, add 2 axioms:
• Typing axiom: the domain of the feature is the bridge concept.
• Functionality axiom: no two attributes of the same kind.
◦ For input features: non-ambiguous application of rules.
◦ For output features: simply asserts that an output cell contains a
single value.
Example
8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali
Table 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
For the Length attribute:
∀x, y.length(x, y) → Ship(x). ∀x, y, z.length(x, y)∧length(x, z) → y = z.
Marco Montali Semantic DMN RuleML+RR 2017 15 / 25
31. Encoding Attributes
Extended by introducing:
• A feature for each input attribute of the decision that is not already
used in the KB.
• A feature for each combination of output attribute-rule: output feature
+ its provenance.
Example
8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali
Table 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• 2 new features for CerExp and Cargo;
• 9 new features for Enter: Enteri for rule i (i ∈ {1, . . . , 9}).
Marco Montali Semantic DMN RuleML+RR 2017 16 / 25
32. Encoding of S-FEEL Conditions
Quite straightforward: an S-FEEL condition is nothing else than a unary
FOL(D) formula.
S-FEEL Translation Function
Given an S-FEEL condition Q, function τx(Q) builds a unary FOL(D)
formula that encodes the application of Q to x.
τx
(Q)
true if Q = “−”
x v if Q = “not(v)”
x = v if Q = “v”
x ≈ v if Q = “≈ v” and ≈ ∈ {<, >, ≤, ≥}
x > v1 ∧ x < v2 if Q = “(v1..v2)”
. . . (similarly for the other types of intervals)
τx(Q1) ∨ τx(Q2) if Q = “Q1,Q2”
Marco Montali Semantic DMN RuleML+RR 2017 17 / 25
33. Encoding of Attribute Facets
Each attribute facet becomes an axiom:
• The facet constrains the range of the corresponding feature.
• The facet is an S-FEEL condition: just translate it to get the constraint.
Example
8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali
Table 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
For Length: ∀x, y.length(x, y) → y ≥ 0.
Marco Montali Semantic DMN RuleML+RR 2017 18 / 25
34. Encoding of Rules
DMN rule as an implication: whenever an instance of the bridge concept
satisfies all input conditions, then it must be related to the output values.
Marco Montali Semantic DMN RuleML+RR 2017 19 / 25
35. Encoding of Rules
DMN rule as an implication: whenever an instance of the bridge concept
satisfies all input conditions, then it must be related to the output values.
Marco Montali Semantic DMN RuleML+RR 2017 19 / 25
36. Encoding of Rules
DMN rule as an implication: whenever an instance of the bridge concept
satisfies all input conditions, then it must be related to the output values.
Marco Montali Semantic DMN RuleML+RR 2017 19 / 25
37. Encoding of Rules: ExampleTable 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
• if D is a numerical datatype, given two numbers v1, v2 2 D, the interval expres-
Encoding of rule #2:
∀x,e, l, d, c. exp(x, e) ∧ e > today ∧ length(x, l) ∧ l < 260
∧ draft(x, d) ∧ d < 10 ∧ cap(x, c) ∧ c < 1000 → ∃o.enter2(x, o) ∧ o = Y.
Marco Montali Semantic DMN RuleML+RR 2017 20 / 25
38. Fundamental Reasoning Tasks for DKBs
I/O Relationship
Input:
• DKB X,
• object c ∈ ∆ of type C,
• output attribute Po ∈ M.O,
• value v ∈ M.AType(Po).
Question: Is it the case that X assigns output v?
Table Completeness (C indicator)
Input: IDKB X (intensional, no data).
Question: Is it the case that, for every possible input, at least one rule of
the decision in X is guaranteed to trigger?
Correctness of Unique Hit (U indicator)
Input: IDKB X (intensional, no data).
Question: Is it the case that rules in the decision of X do not overlap?
Marco Montali Semantic DMN RuleML+RR 2017 21 / 25
39. Reasoning on DKBs
Fact
All such reasoning tasks can be encoded as logical implication checks in
FOL(D).
This is of no help.
Marco Montali Semantic DMN RuleML+RR 2017 22 / 25
40. Reasoning on DKBs
Fact
All such reasoning tasks can be encoded as logical implication checks in
FOL(D).
This is of no help.
Idea
Investigate suitable fragments of FOL(D) that:
• Are expressive enough to encode DMN decisions.
• Have decidable reasoning (understanding its complexity).
Description logics with data types are the natural candidate for this!
Marco Montali Semantic DMN RuleML+RR 2017 22 / 25
41. Reasoning on DKBs
Fact
All such reasoning tasks can be encoded as logical implication checks in
FOL(D).
This is of no help.
Idea
Investigate suitable fragments of FOL(D) that:
• Are expressive enough to encode DMN decisions.
• Have decidable reasoning (understanding its complexity).
Description logics with data types are the natural candidate for this!
We investigate in particular the usage of ALC(D):
• Well-known ALC extended with data types (not interacting with each
other).
• Reasoning (e.g., subsumption): ExpTime-complete.
• Goes well with S-FEEL!
Marco Montali Semantic DMN RuleML+RR 2017 22 / 25
42. Encoding DMN Decisions into ALC(D)
We reconstruct the encoding of DMN decisions into FOL(D), using
ALC(D).
8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali
Table 2: Decision table for determining vessel clearance in Dutch ports; symbol today
is a shortcut for the milliseconds representing time 00:00:00 of the current date.
Vessel Clearance
C U Cer. Exp. Length Draft Capacity Cargo Enter
(date) (m) (m) (TEU) (mg/cm2
)
0 0 0 0 0 Y,N
1 today N
2 > today <260 <10 <1000 Y
3 > today <260 <10 1000 N
4 > today <260 [10,12] <4000 0.75 Y
5 > today <260 [10,12] <4000 >0.75 N
6 > today [260,320) (10,13] <6000 0.5 Y
7 > today [260,320) (10,13] <6000 >0.5 N
8 > today [320,400) 13 >4000 0.25 Y
9 > today [320,400) 13 >4000 >0.25 N
• “ ” is an S-FEEL condition representing any value (i.e., it evaluates to true for every
object in D);
• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectively
denoting that the value shall (not) match with v.
Encoding of rule #2:
∀x,e, l, d, c. exp(x, e) ∧ e > today ∧ length(x, l) ∧ l < 260
∧ draft(x, d) ∧ d < 10 ∧ cap(x, c) ∧ c < 1000 → ∃o.enter2(x, o) ∧ o = Y.
Encoding of rule #2 in ALC(D):
∀exp.real[>today] ∀length.real[<260] ∀draft.real[<10] ∀cap.real[<1000]
∃enter2 ∀enter2.stri
Marco Montali Semantic DMN RuleML+RR 2017 23 / 25
43. Main Results
Consider now an ALC(D) DKB, where the background knowledge is
expressed in ALC(D) (e.g., ship types).
Theorem
The translation into FOL(D) is logically equivalent to the translation into
ALC(D).
Marco Montali Semantic DMN RuleML+RR 2017 24 / 25
44. Main Results
Consider now an ALC(D) DKB, where the background knowledge is
expressed in ALC(D) (e.g., ship types).
Theorem
The translation into FOL(D) is logically equivalent to the translation into
ALC(D).
Theorem
The I/O relationship, table completeness, and correctness of unique hit
problems can all be decided in ExpTime for ALC(D) DKBs.
Proof.
The proof is based on a reduction from the three decision problems to a
polynomial number of instance or subsumption checks w.r.t. an ALC(D)
KB, which can be decided in ExpTime.
Marco Montali Semantic DMN RuleML+RR 2017 24 / 25
45. Conclusions
• Importance of combining DMN decisions with other models.
• In this work: combination with background knowledge, reasoning under
incomplete information.
Many future avenues:
• Combination with (data-aware) process models, reconstructing
verification in this richer setting.
• Lightweight DKBs: DMN Decisions can be expressed in the logic
DL-Lite
(HN)
bool (D) (conjecture: reasoning in CoNP).
• Closed-open models.
• Identification of minimal set of inputs you need to know for
non-ambiguously applying the decision logic (interpolation, epistemic
interpretation, . . . ).
Marco Montali Semantic DMN RuleML+RR 2017 25 / 25