DMN
An OMG standard for formalizing business rules and decisions through declarative tables and dependency graphs.
The idea of the standard
Decision Model and Notation separates decision logic from process-flow logic. Many BPMN models historically contained XOR gateways with many branches and complex logic — which made the diagrams unreadable and hard to maintain.
DMN proposes moving that logic into a separate decision model, which a BPMN Business Rule Task references through a DMN reference.
Two levels of DMN
Decision Requirements Diagram (DRD)
A dependency graph showing which decisions depend on which input data and sub-decisions. This is the structural level.
Decision tables
Tables that implement the concrete logic. Each row is a rule: for a given combination of inputs, a given output results.
FEEL — Friendly Enough Expression Language
DMN includes a dedicated expression language, FEEL, designed to write business rules in a form that is both clear to analysts and strictly formalized. FEEL supports arithmetic, logic, and working with strings, dates, lists and contexts.
Where it is used
- Scoring credit applications
- Calculating insurance premiums
- Routing requests
- Product configuration
- Calculating discounts and bonuses
- Making medical decisions
Strengths
- Direct executability in DMN engines (Camunda DMN, Drools, IBM ODM)
- Highly readable decision tables
- Easy to maintain business rules without developers
- Full integration with BPMN via the Business Rule Task
Limitations
- Less well known than BPMN
- FEEL takes learning, especially for complex expressions
- Does not cover machine learning or fuzzy logic