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
RuleML: Autoconfig
- 1,669