SlideShare a Scribd company logo
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

More Related Content

What's hot

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
Martin Toshev
 
Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPM
Kris Verlaenen
 
Architecting Snowflake for High Concurrency and High Performance
Architecting Snowflake for High Concurrency and High PerformanceArchitecting Snowflake for High Concurrency and High Performance
Architecting Snowflake for High Concurrency and High Performance
SamanthaBerlant
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
Jeffrey T. Pollock
 
BPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with CamundaBPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with Camunda
André Borgonovo
 
Databricks Overview for MLOps
Databricks Overview for MLOpsDatabricks Overview for MLOps
Databricks Overview for MLOps
Databricks
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
NATS
 
CMS on AWS Deep Dive
CMS on AWS Deep DiveCMS on AWS Deep Dive
CMS on AWS Deep Dive
Amazon Web Services
 
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
Amazon Web Services
 
Real Time Test Data with Grafana
Real Time Test Data with GrafanaReal Time Test Data with Grafana
Real Time Test Data with Grafana
Ioannis Papadakis
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
Suzanne Dergacheva
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift
Amazon Web Services
 
Google Cloud Dataflow and lightweight Lambda Architecture for Big Data App
Google Cloud Dataflow and lightweight Lambda Architecture  for Big Data AppGoogle Cloud Dataflow and lightweight Lambda Architecture  for Big Data App
Google Cloud Dataflow and lightweight Lambda Architecture for Big Data AppTrieu Nguyen
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
Databricks
 
Masterclass - Redshift
Masterclass - RedshiftMasterclass - Redshift
Masterclass - Redshift
Amazon Web Services
 
Evolution from EDA to Data Mesh: Data in Motion
Evolution from EDA to Data Mesh: Data in MotionEvolution from EDA to Data Mesh: Data in Motion
Evolution from EDA to Data Mesh: Data in Motion
confluent
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
Opsta
 
Murex (MX3) Architecture
Murex (MX3) ArchitectureMurex (MX3) Architecture
Murex (MX3) Architecture
Treasury Consulting LLP
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWS
Amazon Web Services
 
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data PipelinesPutting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
DATAVERSITY
 

What's hot (20)

The RabbitMQ Message Broker
The RabbitMQ Message BrokerThe RabbitMQ Message Broker
The RabbitMQ Message Broker
 
Automate workflows with leading open-source BPM
Automate workflows with leading open-source BPMAutomate workflows with leading open-source BPM
Automate workflows with leading open-source BPM
 
Architecting Snowflake for High Concurrency and High Performance
Architecting Snowflake for High Concurrency and High PerformanceArchitecting Snowflake for High Concurrency and High Performance
Architecting Snowflake for High Concurrency and High Performance
 
Microservices Patterns with GoldenGate
Microservices Patterns with GoldenGateMicroservices Patterns with GoldenGate
Microservices Patterns with GoldenGate
 
BPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with CamundaBPMN and DMN for Processing Business Data with Camunda
BPMN and DMN for Processing Business Data with Camunda
 
Databricks Overview for MLOps
Databricks Overview for MLOpsDatabricks Overview for MLOps
Databricks Overview for MLOps
 
NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices NATS for Modern Messaging and Microservices
NATS for Modern Messaging and Microservices
 
CMS on AWS Deep Dive
CMS on AWS Deep DiveCMS on AWS Deep Dive
CMS on AWS Deep Dive
 
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
Big Data Analytics Architectural Patterns and Best Practices (ANT201-R1) - AW...
 
Real Time Test Data with Grafana
Real Time Test Data with GrafanaReal Time Test Data with Grafana
Real Time Test Data with Grafana
 
What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8What is Drupal? An Introduction to Drupal 8
What is Drupal? An Introduction to Drupal 8
 
(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift(DAT201) Introduction to Amazon Redshift
(DAT201) Introduction to Amazon Redshift
 
Google Cloud Dataflow and lightweight Lambda Architecture for Big Data App
Google Cloud Dataflow and lightweight Lambda Architecture  for Big Data AppGoogle Cloud Dataflow and lightweight Lambda Architecture  for Big Data App
Google Cloud Dataflow and lightweight Lambda Architecture for Big Data App
 
Apply MLOps at Scale
Apply MLOps at ScaleApply MLOps at Scale
Apply MLOps at Scale
 
Masterclass - Redshift
Masterclass - RedshiftMasterclass - Redshift
Masterclass - Redshift
 
Evolution from EDA to Data Mesh: Data in Motion
Evolution from EDA to Data Mesh: Data in MotionEvolution from EDA to Data Mesh: Data in Motion
Evolution from EDA to Data Mesh: Data in Motion
 
Introduction to Google Cloud Platform
Introduction to Google Cloud PlatformIntroduction to Google Cloud Platform
Introduction to Google Cloud Platform
 
Murex (MX3) Architecture
Murex (MX3) ArchitectureMurex (MX3) Architecture
Murex (MX3) Architecture
 
Big Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWSBig Data Architectural Patterns and Best Practices on AWS
Big Data Architectural Patterns and Best Practices on AWS
 
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data PipelinesPutting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
Putting the Ops in DataOps: Orchestrate the Flow of Data Across Data Pipelines
 

Similar to Decision Model and Notation (DMN) and Drools DMN support

Thinking inside the box Introducing new boxed expressions to DMN Denis Gagne
Thinking inside the box  Introducing new boxed expressions to DMN  Denis GagneThinking inside the box  Introducing new boxed expressions to DMN  Denis Gagne
Thinking inside the box Introducing new boxed expressions to DMN Denis Gagne
Denis Gagné
 
Integrating DMN FEEL to BPMN and CMMN Denis Gagne
Integrating DMN FEEL to BPMN and CMMN   Denis GagneIntegrating DMN FEEL to BPMN and CMMN   Denis Gagne
Integrating DMN FEEL to BPMN and CMMN Denis Gagne
Denis Gagné
 
Proposal
ProposalProposal
Proposaliampree
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
PG Scholar
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
Ruhaim Izmeth
 
C Course material
C Course materialC Course material
C Course materialFareed Khan
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
KalsoomTahir2
 
Ivana Trickovic @ BPMN 2010
Ivana Trickovic @ BPMN 2010Ivana Trickovic @ BPMN 2010
Ivana Trickovic @ BPMN 2010bpmn2010
 
One Dsl4negotiations Presented
One Dsl4negotiations PresentedOne Dsl4negotiations Presented
One Dsl4negotiations Presented
pierino23
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
Denis Gagné
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformationMajong DevJfu
 
Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)
Nuzhat Memon
 
Me2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred JeusfeldMe2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred Jeusfeld
Method Engineering 2011 - IFIP WG.8.1 Working Conference
 
Modeling Service Orchestrations with a Rule-enhanced Business Process Language
Modeling Service Orchestrations with a Rule-enhanced Business Process LanguageModeling Service Orchestrations with a Rule-enhanced Business Process Language
Modeling Service Orchestrations with a Rule-enhanced Business Process Language
Dragan Gasevic
 
Web based tool for domain specific modeling
Web based tool for domain specific modeling Web based tool for domain specific modeling
Web based tool for domain specific modeling
PG Scholar
 
Good old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision managementGood old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision management
Jacob Feldman
 
Good Old UServ Product Derby in the Brave New World of Decision Management
Good Old UServ Product Derby in the Brave New World of Decision Management Good Old UServ Product Derby in the Brave New World of Decision Management
Good Old UServ Product Derby in the Brave New World of Decision Management
Decision Management Solutions
 

Similar to Decision Model and Notation (DMN) and Drools DMN support (20)

Thinking inside the box Introducing new boxed expressions to DMN Denis Gagne
Thinking inside the box  Introducing new boxed expressions to DMN  Denis GagneThinking inside the box  Introducing new boxed expressions to DMN  Denis Gagne
Thinking inside the box Introducing new boxed expressions to DMN Denis Gagne
 
Integrating DMN FEEL to BPMN and CMMN Denis Gagne
Integrating DMN FEEL to BPMN and CMMN   Denis GagneIntegrating DMN FEEL to BPMN and CMMN   Denis Gagne
Integrating DMN FEEL to BPMN and CMMN Denis Gagne
 
Proposal
ProposalProposal
Proposal
 
Domain specific modelling (DSM)
Domain specific modelling (DSM)Domain specific modelling (DSM)
Domain specific modelling (DSM)
 
Feature driven development
Feature driven developmentFeature driven development
Feature driven development
 
C Course material
C Course materialC Course material
C Course material
 
ERP_Up_Down.ppt
ERP_Up_Down.pptERP_Up_Down.ppt
ERP_Up_Down.ppt
 
Ivana Trickovic @ BPMN 2010
Ivana Trickovic @ BPMN 2010Ivana Trickovic @ BPMN 2010
Ivana Trickovic @ BPMN 2010
 
How to reduce DTP and translation costs with FrameMaker
How to reduce DTP and translation costs with FrameMakerHow to reduce DTP and translation costs with FrameMaker
How to reduce DTP and translation costs with FrameMaker
 
One Dsl4negotiations Presented
One Dsl4negotiations PresentedOne Dsl4negotiations Presented
One Dsl4negotiations Presented
 
6
66
6
 
Ptc Uml2 Workshop
Ptc Uml2 WorkshopPtc Uml2 Workshop
Ptc Uml2 Workshop
 
DMN 1-4 and Beyond
DMN 1-4 and BeyondDMN 1-4 and Beyond
DMN 1-4 and Beyond
 
6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation6 - Architetture Software - Model transformation
6 - Architetture Software - Model transformation
 
Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)Std 10 computer chapter 10 introduction to c language (part1)
Std 10 computer chapter 10 introduction to c language (part1)
 
Me2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred JeusfeldMe2011 presentation by Manfred Jeusfeld
Me2011 presentation by Manfred Jeusfeld
 
Modeling Service Orchestrations with a Rule-enhanced Business Process Language
Modeling Service Orchestrations with a Rule-enhanced Business Process LanguageModeling Service Orchestrations with a Rule-enhanced Business Process Language
Modeling Service Orchestrations with a Rule-enhanced Business Process Language
 
Web based tool for domain specific modeling
Web based tool for domain specific modeling Web based tool for domain specific modeling
Web based tool for domain specific modeling
 
Good old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision managementGood old u serv product derby in the brave new world of decision management
Good old u serv product derby in the brave new world of decision management
 
Good Old UServ Product Derby in the Brave New World of Decision Management
Good Old UServ Product Derby in the Brave New World of Decision Management Good Old UServ Product Derby in the Brave New World of Decision Management
Good Old UServ Product Derby in the Brave New World of Decision Management
 

Recently uploaded

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
Pierluigi Pugliese
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
Neo4j
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
Uni Systems S.M.S.A.
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
Aftab Hussain
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Zilliz
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
mikeeftimakis1
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
Rohit Gautam
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
Alan Dix
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 

Recently uploaded (20)

Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024By Design, not by Accident - Agile Venture Bolzano 2024
By Design, not by Accident - Agile Venture Bolzano 2024
 
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
GraphSummit Singapore | Graphing Success: Revolutionising Organisational Stru...
 
Microsoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdfMicrosoft - Power Platform_G.Aspiotis.pdf
Microsoft - Power Platform_G.Aspiotis.pdf
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Removing Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software FuzzingRemoving Uninteresting Bytes in Software Fuzzing
Removing Uninteresting Bytes in Software Fuzzing
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...Building RAG with self-deployed Milvus vector database and Snowpark Container...
Building RAG with self-deployed Milvus vector database and Snowpark Container...
 
Introduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - CybersecurityIntroduction to CHERI technology - Cybersecurity
Introduction to CHERI technology - Cybersecurity
 
Large Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial ApplicationsLarge Language Model (LLM) and it’s Geospatial Applications
Large Language Model (LLM) and it’s Geospatial Applications
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
Epistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI supportEpistemic Interaction - tuning interfaces to provide information for AI support
Epistemic Interaction - tuning interfaces to provide information for AI support
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 

Decision Model and Notation (DMN) and Drools DMN support

  • 1. Decision Model and Notation (DMN) and Drools DMN support Matteo Mortari Software Engineer Drools team
  • 2. 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
  • 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 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
  • 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/
  • 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”)
  • 17. 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”
  • 18. DMN TCK: a community effort https://dmn-tck.github.io/tck
  • 24. MODELING AUTHORING DEMO: A COMPLETE END-TO-END SOLUTION METHODOLOGY TRAINING RUNTIME VALIDATION DECISION MODEL AND NOTATION (DMN)
  • 32. 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