The new OpenRules Decision Manager 8.3.0 along with “Decision Model Explorer“ includes an ability to define some decision variables by using formulas directly in the Glossary. For instance, in the standard sample “PatientTherapy” we can modify the glossary as follows:
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”:
Finally, our SaaS Rule Learner became publicly available allowing business analysts to extract business rules from their historical data sets. They can do it without any downloads directly from Amazon cloud using AWS Marketplace SaaS subscription – see https://aws.amazon.com/marketplace/pp/B08HNF1Q5J. Watch this video https://youtu.be/88B5rJa2yrI that describes how to use it for the demo and custom data sets. Try SaaS Rule Learner from http://saas.rulelearner.com. Continue reading
Today I presented “Rule Learner: Self-Learning Decision Models” at the DecisionCAMP Monthly Meeting. It’s about an integrated use of Machine Learning (ML) and Business Rules (BR) within Digital Decisioning Platforms. It describes how “RuleLearner.com” can help business analysts to discover business rules from large historical data sets. Without forcing business analysts to become experts in data science or programming, Rule Learner discovers business rules by naturally incorporating ML algorithms into Business Decision Models. The session focuses on practical aspects of rules generation by developing ever-learning decision-making applications. Video Slides
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
At DecisionCAMP-2020 we had a lot of discussions about the orchestration of the decision services and how to invoke different decision services when states of the business objects change over time. One of the most popular orchestration technique is a Pub/Sub architecture with State machines. The Challenge “Dynamic Loan Approval” is an example of perpetually running decision-making applications which should be able to learn from already executed transactions and evaluate new facts as they become available. This post describes how we implemented this application utilizing OpenRules-based GUI connected to AWS Lambda, EventBridge, SNS, and SQS. Continue reading
There are already 3 solutions to DMCommunity May-2020 Challenge. I especially like how Carol-Ann Berlioz created her solution using a test-driven approach when test cases prompt her which rules should be added. So, I’ve tried to reproduce her solution but instead of a product specific GUI I decided to use OpenRules decision tables defined in Excel. So, here are our test-cases with input data and expected results: Continue reading
For years OpenRules was among the fastest rule engines. When last year we moved from run-time interpretation to design-time code generation, we, like our colleagues at Red Hat Drools, managed to further improve the overall performance and provide support for practical decision microservices. As a result, we dramatically minimized start-up time, went from 50-100 milliseconds per transaction to 5-10 milliseconds, made memory footprint small. These are really good results needed by modern enterprise decision-making systems.
However, I knew that we have multi-year customers that use really big (!) decision tables with 10 and even 30 thousands of rules. How to improve their performance? Continue reading
Last week I created a “Worker Planner” that has a nice GUI deployed on Apache Tomcat and it works in sync with a remote Scheduling Decision Service deployed as AWS Lambda. The scheduling service was implemented with JavaSolver and a constraint solver included into JSR331. My objective was to demonstrate that these days with cloud-based deployment it is not so difficult to create an end-to-end full-scale decision optimization service. I also wanted to show how to apply powerful Linear Solvers to crack traditionally complex production scheduling problems. So, two days ago I took a well-known problem that is described in this example: Continue reading
There are already several good responses to the DMCommunity’s April-2020 Challenge “Doctor Planning”. Below I am describing how I tried to use this challenge to create a complete decision optimization service. I ended up with a working Worker Scheduler that shows a solution for this particular challenge in Fig. 1 (click to open):
OpenRules offers two open source products to support an integrated use of “Business Decision Modeling with Rule Engines and CP/LP Solvers“:
In this post I will describe how you can deploy decision optimization models as AWS Decision Microservices without programming or complex configuration. Continue reading
In these uncertain times, to do our part we want to help US businesses, especially health organizations to quickly make important operational decisions. OpenRules offers immediate assistance in creation and deployment of your decisions services on-cloud or on-premise.
- If you need a quick implementation of optimization decision services, we will help you to define and resolve your problem with the freely available Java Solver.
- If you need to quickly create a rules-based decision service and deploy it to AWS cloud, we will give you 3 months free access to our SaaS Rule Engine.
Contact us at email@example.com and we will setup a call to discuss how we can be in help. As the CTO at OpenRules, I’d allocate my personal time to help you with your urgent decision automation problems for free – email me directly at firstname.lastname@example.org.
This month OpenRules Decision Manager became the first SaaS Rule Engine available in AWS Marketplace. It gives our customers an opportunity to execute OpenRules-based decision services using a “Pay-As-You-Go” pricing model. You may read the Press Release approved by the AWS Marketplace team. Using your AWS account, you can now subscribe to our AWS SaaS Subscription that allows you to pay a minimal fee for only what you actually use with all charges coming from Amazon AWS Marketplace. Continue reading
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.