2019 has brought lots of innovations and positive developments for OpenRules and its customers. This post summarizes all the new capabilities and user experiences that we have introduced in 2019. Continue reading
1. Traditional rule engines (RETE-based or Sequential).
2. Constraint-based rule engines Continue reading
OpenRules business decision models can be deployed as operational decision services utilizing the Serverless architecture provided by Amazon Web Services (AWS), the most powerful and popular cloud platform in the modern world. When you deploy your decision models as AWS Lambda functions, you don’t even think about servers and pay only for the execution time your services actually consume. Continue reading
Nowadays rules-based business decision models are usually developed and maintained by business analysts or other subject matter experts (not by software developers). And more and more people want to make their business decision models available from cloud as operational decision services. But is it possible for non-technical people to achieve this objective? There are so many new terms and concepts to learn, that it seems doubtful for business people to handle this task. Continue reading
On Aug. 1 we made OpenRules Decision Manager publicly available for the first time – everybody can download and try its free evaluation version. This 3 mins YouTube video provides a very simple introduction to the on-premise version of our new product that now can execute exactly the same decision models as the classic OpenRules BRDMS.
The major advantage of the Decision Manager is the fact that it is well-positioned to be used on cloud utilizing server-based or serverless architectures. It perfectly fits the requirements of the modern microservices and is ready to support decision-making applications which handle the millions of complex rules-based transactions per day when every transaction should be executed within milliseconds. The next upcoming release of OpenRules® Decision Manager will provide a cloud-based UI for analysis, debugging, automatic deployment and execution of decision models as microservices – stay tuned!
The latest OpenRules Release 8.0.0 comes with a new, very simple Java API for incorporation of business decision models created by business people in Excel into Java applications. It corresponds to the simple view of a decision model as “a Business Glossary surrounded by Decision Tables that specify decision logic for Goals and Sub-Goals“. OpenRules 8.0.0 explicitly introduced Java concepts “DecisionModel” and “Goal” to support the Goal-Oriented Decision Modeling approach described in this book. Continue reading
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
We are aggressively making OpenRules-based services available from cloud environments such as Amazon EC2. In particular, we’ve just re-deployed our Decision Model Analyzer from a 3rd party remote Tomcat to Amazon. It was just a very simple reconfiguration, but the effect is really positive: the Analyzer is now much faster and much more reliable. You may try it yourself without any registration or fee: simply click on the button on the right.
The source code of the Analyzer is included in the OpenRules standard release and can be considered as an example of how to deploy OpenRules web applications created using OpenRules Dialog to cloud. Another example is the game “Nim” that you may play now from the cloud by clicking on the image below: Continue reading
Operational business problems can be defined by a set of decision variables and a set of rules that specify relationships between these variables – see the formal definition. This definition considers a decision as a solution of such a problem, but it doesn’t assume anything about ‘HOW’ how decisions will be produced. It means decisions can be found by applying any rule engine, a DMN engine, a constraint or MIP solver, a custom piece of software written in any programming language, a manually provided expert’s decision, or their various combinations. Continue reading
DMCommunity Sep-2018 Challenge “Balanced Assignment” gives an example of a complex business problem with a serious optimization component. This problem deals with the assignment of people to different project groups. Usually, such problems require deep knowledge of optimization techniques. My interest was to build a decision model for this problem and to investigate what can be done by business people and where the involvement of optimization experts is necessary. So, I attempted to use a business-friendly approach to represent and to solve this complex problem. It was not a simple journey, and this article describes what I did successfully and where I failed. Link
The latest DMCommunity.org Challenge “Recreational Fee” is very simple, but I still wanted to show how to create the proper decision model using the OpenRules goal-oriented approach. The implementations is described in this PDF document.
Dr. Bob Moore in his DMCommunity.org post “What is a ‘Decision’?” considers different definitions of a “Business Decision” and “Business Decision Logic”, which Bob, Ron Ross, and I have recently been discussing in the context of the March DMC Challenge. Below I will share my point of view.
First of all, it’s important to stress that we are talking not about any ‘decision’ but ‘Operational Business Decision’ which provides a solution for an operational business problem. The majority of such problems can be considered as a special case of the classical Constraint Satisfaction Problem (CSP) defined in the famous book by S.Russell and P.Norvig “Artificial Intelligence: a Modern Approach” . So, I simply applied the Russell/Norvig’s definition to our business problem. Continue reading
In February-2019 I published a new book “Goal-Oriented Decision Modeling with OpenRules” available from Amazon. It explains the goal-oriented approach to business decision modeling introduced by OpenRules in 2018. The book is a practical guide that explains how to create and maintain operational business decision models in a step-by-step easy to understand style. The guide consists of a series of dialog-sessions in which an AUTHOR explains major decision modeling concepts and methods to an inquisitive READER who asks questions and implements the concepts. You will quickly learn how to represent complex decision logic and end up with a deep understanding of practical decision modeling techniques. The book contains only 150 pages, and you may start developing your own decision models after reading first 1-2 chapters.
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
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
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.
OpenRules was well presented at the major technical business decision management event DecisionCAMP-2018. Here are the presentations directly related to OpenRules:
- Goal-Oriented Business Decision Modeling, Jacob Feldman (OpenRules)
- Automatic judgment of decision authority using OpenRules, Yoshihito Nakayama (Intra-Mart)
- Decision Modeling at AXA CH, Wilfried Kurth (AXA CH)
I also published a paper “Building and Analyzing Goal-Oriented Decision Models” at the Proceedings of the RuleML+RR 2018 Challenge – it explains our goal-oriented approach to decision modeling using a Credit Card Application decision model. In my closing notes I tried to demonstrate how a smarter decision engine can simplify decision modeling using concrete examples from DMCommunity.org challenges. After considering different decision modeling approaches, we will add these capabilities to standard OpenRules features.
The July’s challenge “Zoo, Buses, and Kids” deals with a very simple optimization problem:
“300 kids need to travel to the London zoo. The school may rent 40 seats and 30 seats buses for 500£ and 400£. How many buses of each to minimize cost?”
Naturally, a constraint solver nicely and easily solves this and more complex constraint satisfaction problems as shown in Philippe Laborie’s solution. When today I saw a pure SQL solution provided by Damir Sudarevic, I thought that it’s time to model this problem as a business decision model. It would not be as compact as provided solutions, but it should be oriented to business users. Continue reading
Prof. Gene Freuder wrote a position paper “Complete Explanations” for The Second Workshop on Progress Towards the Holy Grail that will be held on Aug 27, 2018 during CP 2018 in Lille, France. Gene writes: “As AI becomes more ubiquitous there is a renewed interest in computers being able to provide explanations, and the European GPDR provides special impetus.” Geen’s paper concentrates on constraint satisfaction problems (CSPs), but, as I’d shown in my 2016 paper, we may consider a decision model as a CSP, and everything Gene is talking about directly applies to business decision modeling. Continue reading
The major Release 7.0.0 is making OpenRules even more user-friendly without losing any of the sophistication of already proven decision modeling technology. Our customers don’t have anymore to define an execution sequence of their decision tables in special tables of the type “Decision” – these tables can be automatically generated. Now it is sufficient for a human decision modeler to define only Glossary and Decision Tables that specify business logic for all included goals and subgoals. Then for any selected business goal, OpenRules Engine will execute all related decision tables in an automatically calculated order to determine the goal’s value. You may watch this short video that uses simple examples to explain the goal-oriented approach to decision modeling supported by OpenRules-7. Continue reading
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
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
In this post we will provide a response to the DMCommunity.org Apr-2018 Challenge “Up-Selling Rules“ that deals with two decision tables: 1) up-selling rules that offer new products to a customer based on the customer profile and the products which the customer already has; 2) customer profiling rules. We will use for the first time the latest OpenRules version (not released yet to public) that removes a need for ordering of multiple decision tables. Continue reading
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
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
DMCommunity.org offered a new Dec-2017 Challenge called “Reindeer Ordering“. It has a nice Christmas formulation:
Santa always leaves plans for his elves to determine the order in which the reindeer will pull his sleigh. This year, for the European leg of his journey, his elves are working to the following schedule, which will form a single line of nine reindeer. Here are the rules: 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.