Happy 15th Birthday, OpenRules!

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

Advertisements

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 with certain restrictions. The new release will be more powerful in this respect. 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

Raymond Smullyan’s Retro-Analysis and Decision Modeling

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

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

New OpenRules Release 6.4.1 with DMN Why-Analyzer

whybutton“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

Building a Custom Scheduler with OpenRules and JSR-331

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

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

Decision Models: Finding Alternative and Optimal Decisions

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

“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

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

Automatically Learned Business Rules: Should We Understand Them?

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.

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

Learning Business Rules from Data at RuleML-2014

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

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

My LinkedIn Discussions

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

OpenRules at Decision CAMP 2013

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

OpenRules in Japan

EWS-2013, Tokyo

Dr. Feldman and Mr. Nakayama, CEO at Intra-Mart

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.

This visit was organized by our Japanese partner NTT Data Intra-Mart. Continue reading

Solving Rule Conflicts – Part 2

“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

Solving Rule Conflicts – Part 1

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

Combining Constraint Solving with Business Rules and Machine Learning – CoCoMiLe 2013

The integration of different decision making techniques finally is finding its home under the roof of the Decision Management movement. I am glad that an integrated Constraint Programming (CP), Business Rules (BR), and Machine Learning (ML) approach is gaining in popularity as well. An interesting workshop “CoCoMiLe 2013 – Continue reading

How to compact large decision tables

A well-known problem with decision tables is that they frequently become too big and too difficult to manage.  It is also well-known that OpenRules utilizes Excel-based decision tables as its major representation mechanism for business rules.  So, I decided to share some methods used by our customers to make large decision tables more compact. Continue reading