Prev Next

Decision Model and Notation (DMN)

Create and Simulate Powerful Models of Enterprise Decisions

Organizations face increasingly difficult operating environments with fierce and often unpredictable competition from existing and new market players, changes in government and industry regulations and upheavals in the social fabric of their customer base. The decisions that an organization makes in this context are critical to the success of the organization and its ability to steer a safe path through these uncharted corporate waters.  Using Enterprise Architects Decision Model and Notation (DMN) features you can not only model the decisions that your organization makes but you can also run simulations from these models to predict outcomes based on example data sets. The power of the language is that business people can readily understand and work with simple but expressive Decision Requirements diagrams that detail what the decisions are and what the inputs to the decisions are and what the expected outputs are. The rules can be documented in a number of ways including easy to define decision tables. Once completed these diagrams with accompanying input data examples can be simulated to show the results of the decisions.

Decision Requirements diagram showing a Decision with a Business Knowledge Model and a number of inputs including another Decision.

Once these models have been defined, simulated and tested by the business, technologists and engineers can then refine these models and automatically generate software artifacts including programming code directly from the models reducing the possibility of errors of interpretation and reducing the time to implementation.

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.