semantic dmn - formalizing decision models with domain...

45
Semantic DMN Formalizing Decision Models with Domain Knowledge Diego Calvanese 1 , Marlon Dumas 2 , Fabrizio M. Maggi 2 , Marco Montali 1 1 Free University of Bozen-Bolzano, Italy 2 University of Tartu, Estonia KRDB [email protected] RuleML+RR 2017, London, UK Marco Montali Semantic DMN RuleML+RR 2017 1 / 25

Upload: others

Post on 21-May-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Semantic DMNFormalizing Decision Models with Domain Knowledge

Diego Calvanese1, Marlon Dumas2, Fabrizio M. Maggi2,Marco Montali1

1Free University of Bozen-Bolzano, Italy2University of Tartu, Estonia

KRDB1

[email protected]

RuleML+RR 2017, London, UK

Marco Montali Semantic DMN RuleML+RR 2017 1 / 25

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

Success Factor #1: TimelinessOrganisations 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

Success Factor #1: TimelinessOrganisations 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

Success Factor #1: TimelinessOrganisations 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

Success Factor #2: Understandability

son against an approach to this problem proposed in the context of classical de-cision tables [18]; and (ii) an improved technique for detecting overlapping rulesthat achieves lower execution times than the one proposed in the conference paper.

The rest of the article is structured as follows. Section 2 introduces DMNand discusses related work. Section 3 presents the formalization of DMN tablesand their associated correctness criteria. Section 4 presents the algorithms forcorrectness checking and simplification while Section 5 discusses their empiricalevaluation. Finally, Section 6 summarizes the contributions and outlines futurework directions.

2. Background and Related Work

Below, we provide an overview of DMN decision tables and discuss previouswork related to the analysis of DMN tables.

2.1. Overview of DMN Decision TablesA DMN table consists of columns corresponding to input or output attributes,

and rows corresponding to rules. Each column has a type (e.g., a string, a number,or a date), and optionally a more specific domain of possible values, which wehereby call a facet. Each row has an identifier, one expression for each inputcolumn (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 inputcolumns, one output column and four rules.

Loan GradeU C Annual Loan Grade

Income Size� 0 � 0 VG,G,F,P

A [0..1000] [0..1000] VGB [250..750] [4000..5000] GC [500..1500] [500..3000] FD [2000..2500] [0..2000] P

Table nameHit indicator

Completenessindicator

Input attributes

Facet

Outputattribute

RulePriorityindicator

Input entries Output entryTable 1: Sample decision table with its constitutive elements

Given an input configuration consisting of a vector of values (one entry percolumn), 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

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

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? DMNworks 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

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

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

Knowledge of ShipsThere 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 500Converted Tanker CT 200 0 – 9 800Cellular Containership CC 215 10 1000 – 2500Small Panamax Class SPC 250 11 – 12 3000Large Panamax Class LPC 290 11 – 12 4000Post Panamax PP 275 – 305 11 – 13 4000 – 5000Post Panamax Plus PPP 335 13 – 14 5000 – 8000New Panamax NP 397 15.5 11 000 – 14 500

Warning!This is not a decision table. This is a set of constraints relating the shiptypes with corresponding possible dimensions.

Marco Montali Semantic DMN RuleML+RR 2017 7 / 25

Knowledge of ShipsThere 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 500Converted Tanker CT 200 0 – 9 800Cellular Containership CC 215 10 1000 – 2500Small Panamax Class SPC 250 11 – 12 3000Large Panamax Class LPC 290 11 – 12 4000Post Panamax PP 275 – 305 11 – 13 4000 – 5000Post Panamax Plus PPP 335 13 – 14 5000 – 8000New Panamax NP 397 15.5 11 000 – 14 500

Warning!This is not a decision table. This is a set of constraints relating the shiptypes with corresponding possible dimensions.

Marco Montali Semantic DMN RuleML+RR 2017 7 / 25

Knowledge of ShipsThere 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 500Converted Tanker CT 200 0 – 9 800Cellular Containership CC 215 10 1000 – 2500Small Panamax Class SPC 250 11 – 12 3000Large Panamax Class LPC 290 11 – 12 4000Post Panamax PP 275 – 305 11 – 13 4000 – 5000Post Panamax Plus PPP 335 13 – 14 5000 – 8000New Panamax NP 397 15.5 11 000 – 14 500

Warning!This is not a decision table. This is a set of constraints relating the shiptypes with corresponding possible dimensions.

Marco Montali Semantic DMN RuleML+RR 2017 7 / 25

Clearance RulesA vessel may enter a port if:• it is equipped with a valid certificate of registry;• it meets the safety requirements.

Valid certificate of registryCertificate expiration date > current date.

Safety RequirementsBased 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 percm2.

Marco Montali Semantic DMN RuleML+RR 2017 8 / 25

Clearance RulesA vessel may enter a port if:• it is equipped with a valid certificate of registry;• it meets the safety requirements.

Valid certificate of registryCertificate expiration date > current date.

Safety RequirementsBased 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 percm2.

Marco Montali Semantic DMN RuleML+RR 2017 8 / 25

Clearance Rules in DMN

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

Marco Montali Semantic DMN RuleML+RR 2017 9 / 25

Clearance Rules in DMN

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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

Clearance Rules in DMN

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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

Clearance Rules in DMN

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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

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.

ExampleShip 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

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.

ExampleShip 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

Combining Decisions and Background Knowledge

Marco Montali Semantic DMN RuleML+RR 2017 11 / 25

Combining Decisions and Background Knowledge

Marco Montali Semantic DMN RuleML+RR 2017 11 / 25

Combining Decisions and Background Knowledge

Marco Montali Semantic DMN RuleML+RR 2017 11 / 25

Combining Decisions and Background Knowledge

Marco Montali Semantic DMN RuleML+RR 2017 11 / 25

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.

ExampleThe combination of the knowledge base of ships with the vessel clearanceDMN decision, using Ship as bridge concept.

Marco Montali Semantic DMN RuleML+RR 2017 12 / 25

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

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

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 todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

• 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

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 todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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

Encoding AttributesExtended 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 todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

• 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

Encoding of S-FEEL ConditionsQuite straightforward: an S-FEEL condition is nothing else than a unaryFOL(D) formula.

S-FEEL Translation FunctionGiven 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

Encoding of Attribute FacetsEach 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 todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

For Length: ∀x, y.length(x, y)→ y ≥ 0.

Marco Montali Semantic DMN RuleML+RR 2017 18 / 25

Encoding of RulesDMN rule as an implication: whenever an instance of the bridge conceptsatisfies all input conditions, then it must be related to the output values.

Marco Montali Semantic DMN RuleML+RR 2017 19 / 25

Encoding of RulesDMN rule as an implication: whenever an instance of the bridge conceptsatisfies all input conditions, then it must be related to the output values.

Marco Montali Semantic DMN RuleML+RR 2017 19 / 25

Encoding of RulesDMN rule as an implication: whenever an instance of the bridge conceptsatisfies all input conditions, then it must be related to the output values.

Marco Montali Semantic DMN RuleML+RR 2017 19 / 25

Encoding of Rules: Example

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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

Fundamental Reasoning Tasks for DKBsI/O RelationshipInput:• DKB X ,• object c ∈ ∆ of type C,• output attribute P o ∈M.O,• value v ∈M.AType(P o).

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

Reasoning on DKBsFactAll such reasoning tasks can be encoded as logical implication checks inFOL(D).

This is of no help.

IdeaInvestigate 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

Reasoning on DKBsFactAll such reasoning tasks can be encoded as logical implication checks inFOL(D).

This is of no help.

IdeaInvestigate 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

Reasoning on DKBsFactAll such reasoning tasks can be encoded as logical implication checks inFOL(D).

This is of no help.

IdeaInvestigate 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

Encoding DMN Decisions into ALC(D)We reconstruct the encoding of DMN decisions into FOL(D), usingALC(D).

8 D. Calvanese, M. Dumas, F.M. Maggi, M. Montali

Table 2: Decision table for determining vessel clearance in Dutch ports; symbol todayis a shortcut for the milliseconds representing time 00:00:00 of the current date.

Vessel ClearanceC U Cer. Exp. Length Draft Capacity Cargo Enter

(date) (m) (m) (TEU) (mg/cm2)� 0 � 0 � 0 � 0 � 0 Y,N

1 today � � � � N2 > today <260 <10 <1000 � Y3 > today <260 <10 �1000 � N4 > today <260 [10,12] <4000 0.75 Y5 > today <260 [10,12] <4000 >0.75 N6 > today [260,320) (10,13] <6000 0.5 Y7 > today [260,320) (10,13] <6000 >0.5 N8 > today [320,400) �13 >4000 0.25 Y9 > today [320,400) �13 >4000 >0.25 N

• “�” is an S-FEEL condition representing any value (i.e., it evaluates to true for everyobject in �D);

• given a constant v, expressions “v” and “not(v)” are S-FEEL conditions respectivelydenoting 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-peted in the usual, mathematical way);

• given two S-FEEL conditions Q1 and Q2, “Q1, Q2” is an S-FEEL condition repre-senting their disjunction (i.e., it evaluates to true for a value v 2 �D if either Q1 orQ2 evaluates to true for v).

Example 3. We use our case study to illustrate how a complex decision can be cap-tured in DMN. Specifically, Table 2 depicts the decision table for ship clearance, for-malizing Section 2.1. The first two rows (below the table title) indicate the table meta-information. In particular, the leftmost cell indicates that the table is meant to be com-plete, and that rules are declared to not overlap.4 The blue-colored cells (i.e., all othercells but the rightmost one), together with the cells below, respectively model the in-put attributes used to determine ship clearance, and the facets over their correspondingdatatypes. In particular, the input attributes are: (i) the certificate expiration date, (ii) thelength, (iii) the size, (iv) the capacity, and (v) the amount of cargo residuals of a ship.All such attributes are nonnegative real numbers; this is captured by typing them asreals, adding restriction “� 0” as facet. The rightmost, red cell represents the outputattribute, that is, whether the ship under consideration may enter into the port or not.This is captured by typing the output attribute as string, faceted by only the two allowedvalues Y and N. Every other row model a rule. The intuitive interpretation of such rulesrelies on the usual “if . . . then . . . ” pattern. For example, the first rule states that if thecertificate of the ship is expired, then the ship cannot enter in the port (regardless of

4 Recall that such indicators are provided by the user, and may not reflect the actual table content.In this case, the decision table, considered as such, is in fact not complete.

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] u ∀length.real[<260] u ∀draft.real[<10] u ∀cap.real[<1000]v ∃enter2 u ∀enter2.string[=Y]

Marco Montali Semantic DMN RuleML+RR 2017 23 / 25

Main ResultsConsider now an ALC(D) DKB, where the background knowledge isexpressed in ALC(D) (e.g., ship types).

TheoremThe translation into FOL(D) is logically equivalent to the translation intoALC(D).

Theorem

The I/O relationship, table completeness, and correctness of unique hitproblems can all be decided in ExpTime for ALC(D) DKBs.

Proof.The proof is based on a reduction from the three decision problems to apolynomial 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

Main ResultsConsider now an ALC(D) DKB, where the background knowledge isexpressed in ALC(D) (e.g., ship types).

TheoremThe translation into FOL(D) is logically equivalent to the translation intoALC(D).

Theorem

The I/O relationship, table completeness, and correctness of unique hitproblems can all be decided in ExpTime for ALC(D) DKBs.

Proof.The proof is based on a reduction from the three decision problems to apolynomial 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

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, epistemicinterpretation, . . . ).

Marco Montali Semantic DMN RuleML+RR 2017 25 / 25