Our customers frequently build not one but multiple decision models for their business domains like property and casualty insurance, loan origination, medical guidelines, etc. After building several decision models, they already have a quite rich glossary and various decision tables that essentially cover their business domain. So, it gives them a good foundation to build a library of relatively small decision models which can be used to assemble more complex decision models. Sometimes they even add domain-specific decision tables and supporting Java classes. This PDF document uses well-known loan origination problems (described in the Chapter 11 of the DMN specification) to explain how to build and utilize a library of decision models. Link
I was asked by BPM.com to share my thoughts of what to expect in 2019. Digital Decisioning and DMN will continue to play an essential role in BPM. I can see two major trends in this development:
- Simplification. Representation of decision logic within business processes will be de-facto standardized using mainly simple DMN concepts such as decision tables and avoiding complex programming concepts. The simplified approaches such as “Goal-Oriented Decision Modeling” supported by OpenRules will continue to prevail in development of decision models incorporated into real-world business process models.
- Addressing Complex Decision Optimization Problems. So far, human decision modelers were forced to describe exactly HOW to find a decision by handling all possible combinations of business factors using business rules with multiple exceptions on top of exceptions. More powerful decision engines will allow decision modelers to concentrate on WHAT instead of HOW and will automatically determine multiple feasible decisions and select the optimal decision.
OpenRules was introduced to general public as an open source product 15 years ago, and over these years it has become one of the most popular business rules and decision management systems. Every day OpenRules helps customers worldwide handle millions of transactions in real-world production environments for large corporations, government agencies, hospitals, and online businesses – see the list of selected customers. In 2018, along with the Business Rules Excellence Award, we received an overwhelming number of requests from organizations wanting to migrate their existing rules-based systems to OpenRules. This growing interest can be explained by this quote from Forrester Research: “OpenRules have the most-aggressive approaches to business-expert authoring and typically requires less developer support than IBM ODM, FICO Blaze Advisor, and Red Hat Drools“.
So, staring January-2019 we are essentially expanding our technical support and consulting services to help our customers move to OpenRules faster and provide them with superior support. On December 31, 2018 we announced new OpenRules Migration Services – click here to learn how they work.
In Aug-2018 Prof. Robert Fourer gave a tutorial “Model-based Optimization“, in which he compares two essentially different approaches to modeling optimization problem: “model-based” vs. “method-based”. He is using a relatively complex “Balanced Assignment” problem to demonstrate his points. While Fourer’s tutorial deals with optimization, I believe the same arguments are directly related to Decision Modeling that so far mainly remains method-based. During DecisionCAMP-2018 we had interesting (and sometimes hot) discussions about these two approaches and in my closing remarks I described the major differences between them as follows: Continue reading
Today is exactly 15 years since OpenRules, Inc. was incorporated on Feb. 24, 2003. It’s a quite serious milestone, so I decided to write a few words for this occasion. A year ago, I described a brief history of our company and key factors that made it successful. 2018 was an extremely successful year for OpenRules as well: we improved the product and many major corporations became our new customers. But in this post I want to look to the future and to share some of our upcoming and long term plans. Continue reading
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.
I’d like to share experience of large OpenRules customers who create and maintain enterprise-level knowledge repositories. Such repositories usually contain two major components: 1. Decisions and Rules 2. Tests
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
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.
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
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
When I learned that the famous Prof. Raymond Smullyan passed away this February at the age of 97, I felt grateful to the man whose books and puzzles my friends and I enjoyed reading as young programmers many years ago. Later on we shared them with our children. I wanted somehow to mark this event and decided to buy his book “The Chess Mysteries of Sherlock Holmes” to read on vacation. Ten days ago I started to read the book during my flight from Newark to Jamaica and… haven’t even noticed as we landed. Continue reading
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.
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
“Imagine you had a Why Button handy whenever you encountered some disconnect in day-to-day business operations. Hit the Why Button and presto – answers appear in the form of relevant business rules” – Ron Ross, 2013
The release OpenRules Release 6.4.1 introduces a new add-on called “Why-Analyzer for Decision Modeling” that provides such a Why Button for decision models created in accordance with the DMN standard. Actually it is much more than just a button but rather a graphical interface that allows business analysts to analyze the results produced by their decision models using their own test cases created directly in Excel. See a brief video and try it yourself without any downloads from here. There are several more product improvements described in the release notes. You may download the latest release and try your own decision models with OpenRules Why-Analyzer. Continue reading
One of the largest Japanese telecom company is successfully using OpenRules being integrated with a BPM product produced by our partner Intra-Mart. Last month this customer asked us to help with development of a custom scheduler capable to schedule thousands of cable construction operations subject to various precedence and exclusivity constraints. Continue reading
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.
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
People frequently assume that a good, consistent decision model should produce one and only one decision (solution) for any valid input. However, in real-world applications we frequently deal with situations when a decision model may produce multiple feasible solutions for the same input. And it does not mean that the decision model is incomplete – simply a user may choose the most appropriate solution among all produced decisions. It can be done interactively or by adding more rules. I’ve already provided an example “Monkey Business Analyzed” that describes how to deal with multiple decisions using OpenRules What-If Analyzer. In this post I will describe another decision model that also shows how to choose an optimal decision among multiple feasible decisions. Continue reading
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
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
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
Question: Should we worry that we’re building systems whose increasingly accurate decisions are based on incomprehensible foundations?
I’ve just posted an article with the same name at the LinkedIn Pulse that addresses this question. It is especially important in the context of rules-based decision making when rules that govern our decisions have been automatically generated using predictive analytics techniques. I shared two examples from OpenRules experience that explain why the automatically generated business rules should be comprehensible. The first one talks about the use of our Rule Learner at IRS. The second example deals with our Rule Compressor.
The recent LinkedIn discussion “What rules representation to choose for which audience?” came to the question about business analysts handing their business rules written in plain English over to IT for an implementation. Continue reading
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
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 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
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
A few years ago, I wrote a web application that allowed professional communities to support Live Catalogs of different software tools. The “live” means that a product catalog is automatically updated whenever the profiles of products included into the catalog are added or updated by their authors. Continue reading
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
I’d like to share a little story from our recent consulting experience. Being in the midst of helping our client to deliver a large OpenRules-based banking system, we received an urgent request. The problem should be familiar to many businesses who deal with NAICS (the North American Industry Classification System). Continue reading
A new OpenRules Release 6.3.1 enhances its Test Harness with automatic comparison of expected and actual decision execution results. Continue reading
This year RuleML-2014 will be held in Prague on Aug 18-20. For the first time it will include a special track called “Learning Business Rules from Data”. As a member of the organizing committee, I posted the proper announcement here. It promises to become a very interesting event when the decision management practitioners meet their academic partners. Continue reading
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
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
LinkedIn today is probably the most popular social network for professionals. Looking for one of my old posts, I noticed that it is not so simple to find it and many people have troubles to do it. However, when you click on your name inside any discussion you will receive links to everything you posted but only within one discussion group. Here are LinkedIn discussions that I’ve started in several groups: Continue reading
2013 was a year when OpenRules became 10 years old. These days it is a mature BR&D (Business Rules and Decision) Management product used by thousands of customers worldwide. The following statistic from http://openrules.com demonstrates the constantly growing popularity of our product: Continue reading
With a new release 6.2.6 of OpenRules® you may generate Excel files with multiple decision tables using a simple Java API. It includes class DecisionBook that corresponds to one Excel workbook (an xls-file), to which you may add multiple OpenRules® decision tables. Continue reading
OpenRules is one of the initiators and sponsors of the DecisionCAMP-2013, the
first event for Decision Management practitioners, which will be held in San Jose, CA on Nov 4-6. This event attracted many well-known experts in the business rules and decisions management area – see the agenda. We expect ~250 attendees. OpenRules will participate in the following mini-events: Continue reading
I’ve just returned from my first ever trip to Japan. I am coming back home to the US with very bright impressions of the Japanese culture and people. I was especially impressed by the deep respect and high professionalism with which people in Japan perform their jobs independently of how small or important those jobs are. I deeply appreciate the friendliness and readiness to help from people on the streets of Tokyo and Kyoto that I have not seen for a while.
“The Sleep of Reason Produces Monsters”, Francisco Goya
Defeasible Logic and Business Rules with Probabilities
Modern rules and decisions management systems provide effective mechanisms for development of good decision models. However, building real-world decision models people always face complex issues related to diagnostic and resolution of rule conflicts. Some systems can effectively verify decision model consistency and diagnose rule conflicts. But there are no practically used Business Rules (BR) products that claim that they may automatically resolve rule conflicts.
In the Part 1 of this series I described how end users can represent their rules in single-hit and multi-hit decision tables while avoiding rule conflicts. But is it possible to automatically resolve rule conflicts? I will discuss this problem below. Continue reading
Representing Contradictory Rules with Single-Hit and Multi-Hit Decision Tables
Modern rules and decisions management systems provide effective mechanisms for development of good decision models. However, building real-world decision models people always face complex issues related to diagnostic and resolution of rule conflicts. Some systems can effectively verify decision model consistency and diagnose rule conflicts. But there are no practically used Business Rules products that claim that they may automatically resolve rule conflicts (at least I am not aware of them). As a result, it becomes a responsibility of users to represent rules in such a way that allows them to avoid conflicts. Continue reading
Today there was a post at the LinkedIn group “Looking for a simple example of representing calculations in a Decision Model” with this problem description: Continue reading