DMN is a modeling language and notation for the precise specification of business decisions and business rules using well-defined tabular formats. This popular standard even includes an interchangeable XML format. However, contrary to XML (eXtensible Markup Language), DMN can hardly be called extensible. Today’s DMN allows a user to define complex problem-specific decision modeling constructs using powerful FEEL boxed expressions (that still are being criticized as too close to programming). But DMN doesn’t specify means for building simple domain-specific decision tables that look very natural for business users and hide complex implementation details that actually may require programming.Continue reading
Decision Modeling: Declarative vs Procedural
The ultimate objective of Business Decision Modeling:
A business analyst (subject matter expert) defines a business problem, and a smart decision engine solves the problem by finding the best possible decision.
Declarative decision modeling assumes that a business user specifies WHAT TO DO and a decision engine figures out HOW TO DO it. This is quite opposite to the Procedural approach frequently used in traditional programming.Continue reading
How Decision Tables work with Big Datasets
Decision tables is the most popular mechanism for representation of business logic – no wonder they play the major role in the DMN standard. However, when it comes to analyzing large amount of data, standard decision tables may not be the best way to do it. In this post, I’ll describe a much better approach implemented in OpenRules.Continue reading
Text Interpolation in OpenRules
Many popular languages (e.g. Angular or Mustache) use text interpolation to incorporate dynamic string values into the text. OpenRules Decision Manager Release 8.2.1 gives our customers an option to use text interpolation by putting text decision variables in the double curly braces
}}. For example, see how it’s being used in the standard sample project “PatientTherapy”:
Using Templates to Create Domain-Specific Decision Tables
While DMN-like decision tables are powerful enough to represent business logic for many practical problems, in real-world our customers frequently define new types of decision tables that are specific for their business domains. For example, years ago OpenRules was chosen for a large project that in particular dealt with spatial business rules. Their customers,, suppliers, and operations vary by region, and distance between then affected their decisions. They already used a Geospatial Information System (GIS) in order to explore spatial relationships that leveraged the industry standard Java Topology Suite (JTS) with a powerful Java API.
However, they wanted their business (!) users to natively define and maintain complex spatial rules without becoming experts in specific Java API. This 2014 presentation describes how OpenRules helped this customer to create a Spatial Decision Table template allowing stakeholders with no GIS training to use plain English in familiar Decision Model spreadsheets to define spatially aware business rules without any additional software. Continue reading
Vertical and Horizontal Decision Tables
Traditionally, the majority of decision tables list their rules in the top-to-bottom order when different rules are placed in rows. Here is an example of a typical single-hit decision table created in Excel in accordance with the OpenRules format: Continue reading
Model-based Optimal Solutions for Flight Rebooking Challenge
During the closing discussion at the DecisionCAMP-2018, I promoted a new “model-based” approach to decision modeling that contrary to the commonly used “method-based” approach allows a human decision modeler to concentrate on “WHAT” instead of “HOW”. This approach gives more power to decision modelers allowing a decision engine to come up not just with one of many possible decisions but to find the optimal decision. I wanted to demonstrate this power using a more complex business problem and to do it before the end of this year. So, I decided to apply the model-based approach to the problem “Rebooking Passengers from Cancelled Flights” that is the most challengeable problem among multiple DMCommunity.org Challenges. Continue reading
Model-based Solutions for Advanced Vacation Days Challenge
I provided two solutions for DMCommunity.org Challenge “Vacation Days Advanced”. So far, all decision models submitted as solutions for the old Jan-2016 Challenge and the new challenge were “method-based” meaning they describe exactly how to assign extra days while avoiding possible conflicts. I tried to apply a new “model-based” approach that concentrates on “what” instead of “how” and finds not just one of many possible solutions but the optimal one. The first decision model consists of clearly separated two parts: 1) Business Part presented in Excel decision tables; 2) Technical Part presented in Java using the JSR-331 standard. The second decision model is an attempt to present both parts completely in DMN-like decision tables using Excel only (the supporting Java code is hidden in new Excel templates). You may analyze both solutions here. I’d appreciate comments and suggestions for improvement.
Keep DMN Simple
People who started decision modeling standardization years ago were all agreed that the DMN standard is supposed to be oriented to subject matter experts, should be simple, friendly enough while powerful to cover the common denominator in operational decision modeling. It was a good start for DMN in 2013 and an enthusiastic acceptance since then. However, today DMN is full of complex, programmer-oriented features which seem to get even more complex in new releases. There are plenty examples of unnecessary complexity being proudly promoted for their “elegance”. Here are a few examples to compare. Continue reading
Old Decision Model “Credit Card Application” Implemented with New OpenRules-7
The latest June-2018 DMCommunity Challenge”Credit Card Application” gives me a good chance to demonstrate the new upcoming OpenRules Release 7.0.0. I remember that Nick Broom was one of the first who published a real-world decision model right after the DMN introduction. I also remember that at the same day I implemented and published Nick’s model using only Excel and OpenRules available at that time (it was release 6.2.6). It would be interesting to compare this old implementation with a new one below that takes advantages of new OpenRules-7. Continue reading
DMCommunity Challenge Feb-2018
There are two interesting responses to the DMCommunity.org Feb-2018 Challenge provided by Mike Parish and Bob Moore. Mike effectively used Corticon to validate and fix incompleteness, redundancy, and ambiguity problems he found in the following, relatively simple decision table: Continue reading
Introducing DMN to Business Analysts in 15 Minutes
Last year BBC-2017 organizers gave me 20 minutes to introduce DMN to business analysts at the “Technology Theater”, an open space in the Expo hall. Based on the positive feedback from people who attended my presentation, I decided to share it with more people. You may look at my slides in the PDF format. Below I will describe an example I believe is very useful to introduce major DMN concepts in 15 minutes. Continue reading
Decision Model for Sales Order Promotions
DMCommunity.org Jan-2018 Challenge is looking for a decision model that can define promotions for different sales orders. It provides a simple example of promotion: reduce the total cost of the order by $3.50 if it contains at least 5 items 1108 and 4 item 2639. Let’s build the proper decision model. Continue reading
Decision Modeling: LEGO Style
Recently I helped one of our larger customers to build a set of their business decision models. At the end I said that now they can continue to assemble new decision models themselves. Then one of their business analysts said that our decision modeling approach reminds him of LEGO. I believe this is a really good analogy and I will elaborate on it using specific examples.
Defining DMN Knowledge and Information Requirements Automatically
Knowledge and Information Requirements are essential components of the current version of the DMN standard, which defines them in the section 6.2.2 as follows: Continue reading
Calculating Aggregated Values for Collections of Business Objects
The latest DMCommunity.org Challenge “Classify Department Employees” deals with calculation of aggregated values for arrays of business objects such as Employees. Below I describe an OpenRules solution for this challenge. Continue reading
Book “DMN in Action with OpenRules” – Free Chapters
Based on the growing interest in the book “DMN in Action with OpenRules“, we decided to make the first 3 chapters available for free. Please click here to read/download them in the PDF format. You also may download the entire book from Amazon for just $9.95 – the price includes a free download of OpenRules evaluation software.
Transforming DMN XML to OpenRules
OpenRules already can read and execute decision models represented in the DML XML format. To test new DMN-to-OpenRules capabilities I decided to implement DMCommunity’s June-2017 Challenge using the DMN Modeling tool from Trisotech that allows non-technical people to create DMN-compliant decision models and import them to the DMN XML format. My objective was to create DMN XML for the Loan Origination problem described in the Section 11 of the DMN specification and then execute this DMN XML using OpenRules. Continue reading
Loosely Coupled Decision Models for Loan Origination
DMCommunity.org June-2017 Challenge is looking for the best decision models that implement a well-known Loan Origination problem described in in the Section 11 of the DMN specification. So, I decided to address this challenge using the core DMN constructs implemented in OpenRules. I will describe my solution in the form of dialog between a fictional READER who is assumed to be a business analyst (not a programmer) and the AUTHOR, who represents myself. It is similar to the dialog-sessions described in my recent book “DMN in Action with OpenRules“. While it may look long it doesn’t omit any implementation detail. Besides serving as a good solution for the Challenge, this document describes a good decision modeling practice for OpenRules customers.
Solving Flight Rebooking Challenge With and Without Programming Constructs
DMCommunity.org announced its Challenge “Rebooking Passengers from Cancelled Flights” in Oct-2016 and until now 4 different solutions have been submitted. It is a relatively complex use case for decision modeling. In this post I will describe different implementation approaches for this challenge and will discuss good and not so good DMN constructs used to support the underlying decisioning logic. I hope this post will initiate more discussions which may lead to the future DMN improvements by replacing the existing programming constructs to more business-friendly representations. Continue reading
DMN: Iterating Over Arrays Without Explicit Loops
I consider myself among the initiators and big supporters of the DMN standard, and I do my best to help bringing the standard to the real-world business decision modeling. Naturally, the current release of DMN includes some constructs with which I strongly disagree but I am trying not to criticize DMN too much as the standard itself is not mature enough yet and I hope it will be gradually improved based on the real-world acceptance. Continue reading
A new book “DMN in Action with OpenRules”
This month I published a new book “DMN in Action with OpenRules” at Amazon. This is a practical guide for people who want to understand how to create and maintain business decision models. The guide is based on the DMN standard and OpenRules. It is oriented to business analysts looking to build operational decision models for their own business environment.
OpenRules Implementation of the Loan Approval Challenge
In Dec-2016 DMCommunity.org published a new Challenge called “Loan Approval“. This challenge actually was proposed by myself based on real-world experience with one of our customers (a large bank). The most important point of this challenge was a general architecture that allows to invoke the same business logic based on real-time events coming from external sources. I described how such architecture may look like at this video that demonstrates a decision engine integrated with a PUB/SUB message broker.
However, the business logic itself also may be interesting especially if implemented using the latest DMN approach. So, I decided to do a new implementation that is described below. Everything is defined in Excel tables with zero Java code. Continue reading
This year OpenRules will again be an exhibitor and a presenter at the major Business Rules and Decisions Forum 2016 at BBC conference on Oct 31- Nov 4, 2016, Las Vegas, NV. We are sponsoring this major BR&DM event for 13 years in a row. Our event theme will be “DMN in Action” as we will show our latest advances supporting the DMN standard. We will also present our newly developed “Why-Analyzer for Decision Modeling“. If you decide to attend BBC-2016 you still may receive a 20% discount when you register using our discount code “OPENRLV1620”. Stop by at our booth T5.
Dealing With Unknown Data
DMCommunity.org published an interesting challenge “Greeting a Customer with Unknown Data” that deals with the real-world decision modeling issue: your decision model has to produce a meaningful outcome even when expected input is not available. We provided our DMN-like solution utilizing various OpenRules constructs – it is described here.
Developing Custom Decision Modeling Languages with Enhanced DMN
The modern Business Rules and Decision Management Systems help users to move business logic from a code to business rules controlled by subject matter experts (not developers). In particular, the latest Decision Model and Notation (DMN) standard  defines powerful and broadly applicable concepts for decision modeling that allowed experts  to call DMN a “decision modeling language”. DMN even includes a friendly enough expression language, FEEL, to express complex relationships between different decision variables. However, DMN is a general purpose “decision modeling language” that naturally stays away from domain-specific decision modeling constructs. In this article I will discuss how to enhance DMN to support specialized decision modeling languages. Continue reading
OpenRules Release 6.4.0 Supports DMN FEEL and DMN Interchange
OpenRules, Inc. was among the first Business Rules vendors who announced its support of the DMN standard and published a DMN Primer implementation just two weeks after the first DMN announcement in 2013. Since then we are steadily improving our DMN compliance. Continue reading
The DMN 1.1 standard includes a new interchange format that soon will become public. Meanwhile, DMCommunity Apr-2016 Challenge provides a very simple xml-file for the decision model “Vacation Days” created by Bruce Silver. Ideally, DM vendors may take this file (and much more complex DMN XML files), transform it to their own format, and execute using their own tools. While vendors are not in a hurry to support DMN XML yet, this weekend I decided to give it a try. Below I will describe the results. Continue reading
Business Rules and Tacit Knowledge
Listening several recent presentations of Pragmatic Dave Thomas (see this and this), I cannot help getting back to the fundamental decision modeling problem: Rules vs. Tacit Knowledge (or Intuition). Continue reading
Today was the last day of bpmNext-2016 – a great event concentrated around 3 closely related technologies and their standards: BPMN, CMMN, and DMN. You may look at the program to see how many well-known experts and vendors attended the conference. The quality of presentations and informal discussions during and after the sessions was something that we all will remember after this event. Continue reading
“Monkey Business” Analyzed
I decided to add the decision model “Monkey Business” to our new What-If Analyzer. It brought several considerations missed by other solutions. In this post I will discuss my implementation and will show how What-If Analyzer helps to do a through analysis of usually unnoticed aspects of business decision modeling. Continue reading
This year OpenRules will participate in the bpmNEXT 2016 that will take place at Santa Barbara, CA on April 19-21, 2016. This is a very selective conference that does not allow marketing and forces the presenters to do only live demonstrations of specific achievements that have a chance to shape the next generation of Business Process Management software – including intelligent operations, the Internet of Things, case management, business decision management, and goal-directed processes. I will present “Dynamic Decision Models: Activation/Deactivation of Business Rules in Real Time” on Apr. 21 at 14:00. Continue reading
Decision Model for Vacation Days Calculation
This month DMCommunity.org asked to present the best design of the notorious decision tables offered by Prof. Jan Vanthienen. It should implement the following business logic: Continue reading
OpenRules 6.3.4 Introduces What-If Analyzer of Decision Models
On December 28, 2015 we published a new OpenRules release 6.3.4 that introduces What-If Analyzer, the first tool of this type in the Decision Management domain. Its main purpose is to support what-if analysis of decision models built in accordance with the DMN standard. What-if analysis is the process of changing the business rules that represent business logic to see how those changes will affect the outcome of the decision model. Here is the main view of the What-If Analyzer for the decision model “Make a Good Burger” offered by the DMCommunity.org: Continue reading
Don’t Program a System, Educate It!
Modern decision management techniques enable business decisions by supporting a path from data to decisions and actions. Wherever people use stand-alone Business Rules, Complex Event Processing, Predictive Analytics, Optimization systems or their combinations, they prefer to put in charge subject matter experts and not software developers. Actually, all these systems tend to be declarative and allow customers to feed their systems with externally maintained business knowledge, e.g. historical data and/or already known business rules. Nowadays people in a way want to educate a general purpose system with their domain-specific knowledge avoiding traditional programming. Continue reading
OpenRules Business Glossary in Multiple Tables
By default OpenRules provides a glossary template that allows our customers to create their own business glossary in one table. Below I will explain how to split a glossary between multiple tables. Continue reading
Presentation at BBC-2015: Good Old UServ Product Derby in the Brave New World of Decision Management
James Taylor and I are giving a session at this year’s Building Business Capability conference on “Good Old UServ Product Derby in the Brave New World of Decision Management“at 4:50pm on the Wednesday of the show. Continue reading
DMN 1.1 Issues: Aggregation
DMN defines “aggregation” in the following way:
“Multiple hits must be aggregated into a single result. DMN 1.0 specifies six aggregation indicators, namely: collect, sum, min, max, average. Optionally, the aggregation indicator may be included in the table. The default is collect.”
Below is a list of my issues with this DMN 1.0 approach. Continue reading
DMN 1.1 Issues: Multi-Hit Decision Tables
In an ideal world we would limit ourselves to Single-Hit decision tables that cover all possible combinations of the involved decision variables. However, DMN rightfully introduced so called “multiple hit” (or “multi-hit”) decision tables to stay closer to the decision modeling reality. Continue reading
Decision Model “Vehicle Insurance – UServ Product Derby”
As a response to the DMCommunity.org challenge, I will describe an OpenRules-based implementation of the highly popular use case known as “UServ Product Derby”. The use case deals with automobile insurance problems including eligibility and pricing decisions for a hypothetical insurance company “UServ”. Its detailed description can be found here. Our implementation may be considered as another complex-enough example of the DMN approach. Continue reading
Can a Decision Model Define Uniqueness of Objects inside a Collection?
This question was asked by Antonio Plais – see the LinkedIn discussion. Several practical variations of this question were mentioned: 1) Define if the same product appears more than once in the same sales order; 2) determine the uniqueness of records in a file to be loaded into a Data Warehouse. Obviously, the question deals with business rules defined on collections of objects – not the most popular topic among decision modelers. Continue reading
Another DMN Decision Model (executable!)
Today Nick Broom published his own example of a decision model based on his understanding of the current version of the DMN standard. Nick is a business analyst and a well-known decision management practitioner, so his interpretation is very valuable as the standard is oriented to the business analysts (not to programmers). Nick’s example is supposed to make a decision whether an applicant is eligible or ineligible to a credit card. Nick described a simple credit card application process and designed decision requirements diagrams and related decision tables.
Starting to read his post, I decided that it could be helpful to make Nick’s decision model executable and to test if it actually produces the expected results. It took me several hours to do it using mainly Excel and the latest version of OpenRules BDMS. Continue reading