Combining DMN and the Knowledge Base Paradigm for Flexible Decision Enactment

Ingmar Dasseville, Laurent Janssens,

Gerda Janssens, Jan Vanthienen,Marc Denecker

http://krr.bitbucket.org/autoconfig

DMN

Decision Requirements Diagram

Input

Output

U At Risk Model Convertible Price Potential Theft Rating
Boolean Boolean Currency ($) {High, Moderate,Low}
1 True - - High
2 False True - High
3 False False >45K High
4 False False [20K...45K] Moderate
5 False False <20K Low

But wait... There's more!

Traditional Execution

Information doesn't do anything. 

We do things with information.

The Knowledge Base Paradigm

A Knowledge Base System as a multi-directional execution system for DMN

Knowledge Base System

based on

First Order Logic

(+extensions)

in short

FO(ยท)

Specifying Knowledge

1. What are you talking about?

2. What do you know about it?

vocabulary V {
    type Price constructed from 
            { lessthan20k
            , between20And45k
            , over45k}

    type TheftRating constructed from 
                { high
                , moderate
                , low}
    
    Convertible
    CarPrice : Price
    HighTheftProbabibilityAuto
    PotentialTheftRating : TheftRating
}

1. What are you talking about?

2. What do you know about it?

U At Risk Model Convertible Price Potential Theft Rating
Boolean Boolean Currency ($) {High, Moderate,Low}
1 True - - High
2 False True - High
3 False False >45K High
4 False False [20K...45K] Moderate
5 False False <20K Low
PotentialTheftRating = high <- HighTheftProbabibilityAuto.
PotentialTheftRating = high <- Convertible.
PotentialTheftRating = high <- CarPrice = over45k. 
PotentialTheftRating = moderate <- CarPrice = between20And45k 
                                    & PotentialTheftRating ~= high.
PotentialTheftRating = low <- CarPrice = lessthan20k 
                              & PotentialTheftRating ~= high 
                              & PotentialTheftRating ~= moderate.

Specifying Knowledge

1. What are you talking about?

Be useful!

3. What is the required reasoning task?

2. What do you know about it?

Be useful!

3. What is the required reasoning task?

- Determining Consequences

- Expand to full solution

- Optimisation

Deriving Conclusion From Premises

- Verification

What If?

Handling Incomplete Data

Potential Theft Rating

demo

  • Demonstrate the different reasoning tasks

The self-driving cars arrive!

Maintainability

Self-driving cars

demo

Modify the knowledge with an additional property

More than rules:

DMChallenge: Make a good burger

  • <3000mg Sodium
  • <150g Fat
  • <3000 Calories
  • Servings Ketchup = Servings Lettuce
  • Servings Pickles = Servings Tomatoes
  • At most 5 of each item

DMChallenge: Make a good burger

DMChallenge: Make a good burger

Make a good burger

demo

  • Optimisation: Maximum Priced Burger
  • Optimisation: Minimum Priced Burger

Specify Knowledge

?????

Profit

Answer Set Programming (ASP)

Constraint Programming (CP)

Satisfiability Modulo Theories (SMT)

Theorem Provers

...

Execution

Driver + Car Eligibility

demo

Combining DMN and the Knowledge Base Paradigm for Flexible Decision Enactment

Ingmar Dasseville, Laurent Janssens,

Gerda Janssens, Jan Vanthienen,Marc Denecker

http://krr.bitbucket.org/autoconfig

RuleML: Autoconfig

By Ingmar Dasseville