Extensible DMN

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 {{ and }}.  For example, see how it’s being used in the standard sample project “PatientTherapy”:

Continue reading

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

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

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 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.

Continue reading

Transforming DMN XML to OpenRules

DMN-OpenRulesOpenRules 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.
Continue reading

Solving Flight Rebooking Challenge With and Without Programming Constructs

DMCommunity.orgFlightRebookingImage 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

Iteration1I 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”

bookcoverprintThis 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.

Continue reading

OpenRules Implementation of the Loan Approval Challenge

loanapprovalimageIn 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

BBC 2016

dmninactionThis 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.

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 [1] defines powerful and broadly applicable concepts for decision modeling that allowed experts [2] 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

DMN Interchange

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

After bpmNEXT-2016

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

bpmNEXT 2016

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

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

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

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