Decision Model and Notation (DMN)
and Drools DMN support
Matteo Mortari
Software Engineer
Drools team
Decision Model and Notation (DMN)
and Drools DMN support
Agenda:
●
What is DMN
●
Components of a DMN solution
●
Conformance levels and the big picture
●
DEMO: a complete end-to-end DMN solution
WHAT IS DMN ?
DMN, which stands for Decision Model and Notation, is a relatively new standard
managed by OMG, the organization behind BPMN. It is trying to do for Business
Decision Management what BPMN did for Business Process Management
a decade ago: empower the business to take charge of the logic that drives its
operations, through a vendor-independent diagramming language.
Bruce Silver, http://methodandstyle.com/what-is-dmn
A GRAPHICAL LANGUAGE
FOR DECISION MODELING
including
a standard notation for
Decision Tables
FEEL
EXPRESSION LANGUAGE
Friendly
Enough
Expression
Language
METAMODEL
AND INTERCHANGE
3 levels of conformity
and
XML interchange format
WHAT IS DMN ?
every price in [ 80, 11, 90 ]
satisfies price > 10
BRIEF HISTORY
Versions released:
●
1.0 – September 2015
●
Introduced DMN
●
Had several problems (bugs) on both the XML schema definition and the FEEL language that
prevented its full implementation.
●
1.1 – June 2016
●
RTF group worked to fix most of the problems from the version 1.0
●
It is the first version of the spec that is fully implementable (with a few minor issues)
Specification documents at: http://www.omg.org/spec/DMN/
COMPONENTS
OF A DMN SOLUTION
DMN GRAPHICAL LANGUAGE - EXAMPLE
DMN GRAPHICAL LANGUAGE - EXAMPLE
Input Node
DMN GRAPHICAL LANGUAGE - EXAMPLE
Input NodeDecision
Node
DMN GRAPHICAL LANGUAGE - EXAMPLE
Input NodeDecision
Node
DMN GRAPHICAL LANGUAGE - EXAMPLE
Input NodeDecision
Node
Business Knowledge Model
DMN GRAPHICAL LANGUAGE - EXAMPLE
Input NodeDecision
Node
Business Knowledge Model
DMN GRAPHICAL LANGUAGE - EXAMPLE
Decision Table name
Hit policy
Rule number
Conditions
Result column
WHAT IS FEEL?
FEEL, which stands for Friendly Enough Expression Language, is a new expression language
defined by the DMN specification. It aims to bridge the gap between decision modelling and
execution, by assigning semantics to the decision model constructs.
●
Aims to be usable by any user “capable of using Excel formulas”
●
Is used both in DRD (Decision Requirement Diagrams) as well as Decision Tables
●
Two levels of compliance:
●
Level 2: requires only the features of S-FEEL (a simplified FEEL defined in chapter 9 of the
spec)
●
Level 3: require full implementation of FEEL (as defined in chapter 10 of the spec)
FEEL EXAMPLE – BOXED EXPRESSION
BKM name
Parameters
BKM result
Expressions
Context entries
(“Local variables”)
CONFORMANCE LEVELS
and THE BIG PICTURE
CONFORMANCE LEVELs
The spec defines 3 incremental conformance levels for implementations:
CONFORMANCE LEVEL 1
Requires support for authoring of Decision Requirements Diagram, Decision Logic and Decision Tables
This conformance level is basically “documentation only”, no execution required
CONFORMANCE LEVEL 2
Everything from conformance level 1, plus support for the S-FEEL (simplified FEEL) expression language
Requires execution, and requires the logic modeled in CL1 to be expressed in S-FEEL
CONFORMANCE LEVEL 3
Everything from conformance level 2, plus support for the full FEEL language
This includes additional modeling elements like “boxed expressions”
DMN TCK: a community effort
https://dmn-tck.github.io/tck
DMN: big picture
DMN: big picture
DMN: big picture
DMN: big picture
BPMN
DMN
A COMPLETE END-TO-END
DMN SOLUTION
MODELING
AUTHORING
DEMO: A COMPLETE END-TO-END SOLUTION
METHODOLOGY
TRAINING
RUNTIME
VALIDATION
DECISION MODEL AND NOTATION (DMN)
DEMO !
DEMO HIGHLIGHTS
DEMO HIGHLIGHTS
DEMO HIGHLIGHTS
DEMO HIGHLIGHTS
DEMO HIGHLIGHTS
WHAT’s NEXT
SOME POINTERS
Where to get more information:
●
DMN specification: http://www.omg.org/spec/DMN
●
Drools Website: http://drools.org
●
Specific Chapter for Drools DMN support in the documentation
●
DMN quickstart: https://www.trisotech.com/dmnquickstart
●
Bruce Silver’s book: DMN Method & Style : http://methodandstyle.com/books
THANK YOU
plus.google.com/+RedHat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNewslinkedin.com/company/red-hat

Decision Model and Notation (DMN) and Drools DMN support

  • 1.
    Decision Model andNotation (DMN) and Drools DMN support Matteo Mortari Software Engineer Drools team
  • 2.
    Decision Model andNotation (DMN) and Drools DMN support Agenda: ● What is DMN ● Components of a DMN solution ● Conformance levels and the big picture ● DEMO: a complete end-to-end DMN solution
  • 3.
    WHAT IS DMN? DMN, which stands for Decision Model and Notation, is a relatively new standard managed by OMG, the organization behind BPMN. It is trying to do for Business Decision Management what BPMN did for Business Process Management a decade ago: empower the business to take charge of the logic that drives its operations, through a vendor-independent diagramming language. Bruce Silver, http://methodandstyle.com/what-is-dmn
  • 4.
    A GRAPHICAL LANGUAGE FORDECISION MODELING including a standard notation for Decision Tables FEEL EXPRESSION LANGUAGE Friendly Enough Expression Language METAMODEL AND INTERCHANGE 3 levels of conformity and XML interchange format WHAT IS DMN ? every price in [ 80, 11, 90 ] satisfies price > 10
  • 5.
    BRIEF HISTORY Versions released: ● 1.0– September 2015 ● Introduced DMN ● Had several problems (bugs) on both the XML schema definition and the FEEL language that prevented its full implementation. ● 1.1 – June 2016 ● RTF group worked to fix most of the problems from the version 1.0 ● It is the first version of the spec that is fully implementable (with a few minor issues) Specification documents at: http://www.omg.org/spec/DMN/
  • 6.
  • 7.
  • 8.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Input Node
  • 9.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Input NodeDecision Node
  • 10.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Input NodeDecision Node
  • 11.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Input NodeDecision Node Business Knowledge Model
  • 12.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Input NodeDecision Node Business Knowledge Model
  • 13.
    DMN GRAPHICAL LANGUAGE- EXAMPLE Decision Table name Hit policy Rule number Conditions Result column
  • 14.
    WHAT IS FEEL? FEEL,which stands for Friendly Enough Expression Language, is a new expression language defined by the DMN specification. It aims to bridge the gap between decision modelling and execution, by assigning semantics to the decision model constructs. ● Aims to be usable by any user “capable of using Excel formulas” ● Is used both in DRD (Decision Requirement Diagrams) as well as Decision Tables ● Two levels of compliance: ● Level 2: requires only the features of S-FEEL (a simplified FEEL defined in chapter 9 of the spec) ● Level 3: require full implementation of FEEL (as defined in chapter 10 of the spec)
  • 15.
    FEEL EXAMPLE –BOXED EXPRESSION BKM name Parameters BKM result Expressions Context entries (“Local variables”)
  • 16.
  • 17.
    CONFORMANCE LEVELs The specdefines 3 incremental conformance levels for implementations: CONFORMANCE LEVEL 1 Requires support for authoring of Decision Requirements Diagram, Decision Logic and Decision Tables This conformance level is basically “documentation only”, no execution required CONFORMANCE LEVEL 2 Everything from conformance level 1, plus support for the S-FEEL (simplified FEEL) expression language Requires execution, and requires the logic modeled in CL1 to be expressed in S-FEEL CONFORMANCE LEVEL 3 Everything from conformance level 2, plus support for the full FEEL language This includes additional modeling elements like “boxed expressions”
  • 18.
    DMN TCK: acommunity effort https://dmn-tck.github.io/tck
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
    MODELING AUTHORING DEMO: A COMPLETEEND-TO-END SOLUTION METHODOLOGY TRAINING RUNTIME VALIDATION DECISION MODEL AND NOTATION (DMN)
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
    SOME POINTERS Where toget more information: ● DMN specification: http://www.omg.org/spec/DMN ● Drools Website: http://drools.org ● Specific Chapter for Drools DMN support in the documentation ● DMN quickstart: https://www.trisotech.com/dmnquickstart ● Bruce Silver’s book: DMN Method & Style : http://methodandstyle.com/books
  • 33.