What is DMN: explanation, levels and benefits
DMN notation is the standard or guideline used to describe, model and visualize business decisions. In this way, decisions can be understood and shared by different compatible platforms and organizations. In addition, having a common notation makes it possible for decisions to be understood by different roles: management, business users, implementation and development profiles.
There are three levels of modeling shown in the following figure. A first level (L1) that represents the Business Process Modeling (BPMN), where there can be Decision Services. These Decision Services are represented in a second level (L2) with different components or Decision Requirements, each with a Decision Logic, captured in a third level (L3).
The idea is for DMN to provide a third perspective: Decision Requirements Modeling (L2) forming a bridge between Business Process Models (L1) and Decision Logic models (L3):
- L1: Business Process Models (BPMN) will define tasks where decision making is required.
- L2: Decision Requirements shall define the decisions to be made in those tasks, their interrelationships and their requirements for Decision Logic.
- L3: The Decision Logic shall define the required decisions in sufficient detail to enable validation and/or automation.
We can conclude then that the definition of a Decision Service with DMN is composed, as we can see in the following figure, of: the diagram of requirements and interrelationships that define the decision (DRD), a set of expressions encapsulated as tables or boxes that define the logics, and the FEEL language (Friendly Expression Language) that is used to define the rules.
Elements for Decision Services Modeling
We are going to explain the different elements you need to know to understand and model Decision Services with the DMN notation:
Decision: The act of determining an output value from a set of input values using logic that defines how the output is determined from the inputs.
Input data: Information used as input value for one or more decisions.
A decision “requires” INPUTS to determine an OUTPUT. An INPUT can be input data or the decision OUTPUT.
Business Knowledge: Denotes a function or method that encapsulates business knowledge, such as business rules, decision tables or an analytical model.
The Decision Logic that defines how to determine the output may include one or more business knowledge models that encapsulate business knowledge in the form of rules, analytical models or other formalisms.
Knowledge Sources: Decision-making authorities.
These are references to real-world factors, such as domain experts, source documents or test case sets with which decisions must be consistent.
- People who define and/or maintain the logic
Knowledge Sources are usually associated with Business Knowledge Models to indicate how business knowledge is governed or maintained.
Decision Service: Indicates a set of reusable decisions. Defines reusable logic. Exposes one or more decisions of a decision model as a reusable element (a service). Consumed internally (decision) / externally (BPMN task).
Any Decision Service that encapsulates a DMN decision model will be “stateless” and will have no side effects.
The decision requirements level of a DMN decision model consists of a Decision Requirements Graph (DRG) represented in one or more Decision Requirements Diagrams (DRD).