Prev | Next |
DMN Modeling and Simulation
Decision Model and Notation (DMN) is a standard published and managed by the Object Management Group (OMG).
Portions of this topic have been used verbatim or are freely adapted from the DMN Specification, which is available on the OMG DMN web page (https://www.omg.org/spec/DMN). A full description of the DMN and its capabilities can be found on the OMG website.
The purpose of DMN is to provide the constructs that are needed to model decisions, so that organizational decision-making can be readily depicted in diagrams, accurately defined by business analysts, and (optionally) automated. It also intended to facilitate the sharing and interchange of decision models between organizations.
What is DMN?
DMN is intended to provide a bridge between business process models and decision logic models:
- Business process models will define tasks within business processes where decision-making is required to occur
- Decision Requirements Diagrams will define the decisions to be made in those tasks, their interrelationships, and their requirements for decision logic
- Decision logic will define the required decisions in sufficient detail to allow validation and/or automation.
Taken together, Decision Requirements diagrams and decision logic allow you to build a complete decision model that complements a business process model by specifying - in detail - the decision-making carried out in process tasks.
DMN provides constructs spanning both decision requirements and decision logic modeling.
- For decision requirements modeling, it defines the concept of a Decision Requirements Graph (DRG) comprising a set of elements and their connection rules, and a corresponding notation: the Decision Requirements Diagram (DRD).
- For decision logic modeling it provides a language called FEEL for defining and assembling decision tables, calculations, if/then/else logic, simple data structures, and externally defined logic from Java and PMML into executable expressions with formally defined semantics.
Benefits of Using DMN in Enterprise Architect
Modeling decision-making processes using DMN allows you to record, specify and analyze complex decision processes as a system of interrelated decisions, business rules, data sets and knowledge sources. By doing so, you can decompose a highly complex decision making process into a network of supporting decisions and input data. This facilitates easier understanding of the overall process, supports refactoring of processes and simplifies the task of validating the process, by allowing you to easily validate the individual steps that make up the overall process.
When you build a Decision Model in Enterprise Architect using DMN, you can run simulations of the model to verify the correctness of the model. After you have verified your model, you can generate a DMN Module in Java, JavaScript, C++ or C#. The generated DMN Module can be used with the Enterprise Architect BPSim Execution Engine, Executable StateMachine, or within a separate software system that you are implementing.
Enterprise Architect also provides a 'Test Module' facility, which is a preprocess for integrating DMN with BPMN. The aim is to produce BPMN2.0::DataObject elements, then use these to verify that a specified target decision is evaluated correctly with the DMN Module. You then configure BPSim by loading DataObjects and assigning DMN Module decisions to BPSim Properties.
This feature is available in the Unified and Ultimate editions of Enterprise Architect, from Release 15.0.
Decision Requirements Graphs
The DMN decision requirement model consists of a Decision Requirements Graph (DRG) depicted in one or more Decision Requirements Diagrams (DRDs). The elements modeled are decisions, areas of business knowledge, sources of business knowledge, input data and decision services.
A DRG is a graph composed of elements connected by requirements, and is self-contained in the sense that all the modeled requirements for any Decision in the DRG (its immediate sources of information, knowledge and authority) are present in the same DRG. It is important to distinguish this complete definition of the DRG from a DRD presenting any particular view of it, which might be a partial or filtered display.