DMCommunity’s Jan-2020 challenge “Nim Rules” offers to find a winning strategy for this game: “There is a number of red balls in the row below (it could be 15, 16, or 17 balls). Two players take turns removing balls from the row, but only 1, 2 or 3 balls at a time. The player who removes the last ball loses.”
People play different versions of the Nim game since ancient times. First time I played this game with 15 parrots against a clown at a children’s party when I was 7. Later on during my first university’s year my math professor challenged me to play this game instead of answering my exam questions. Continue reading →
OpenRules Decision Manager can be deployed a business decision models as a RESTful web service that accepts HTTP requests at your local or remote server and produces with proper responses in the JSON format. As usual, you create and test your decision model in Excel and then simply add the property “spring.boot=On” to the file “project.properties”. Then you only need to double-click on the provide file “runLocalServer.bat” (the same for all models). Continue reading →
FocalCXM became our partner. Over the last few years, they have been able to solve complex Decision Modeling problems by using OpenRules Rule and Decision Engines. By integrating Enterprise CRM platforms such as Salesforce, Veeva etc with the OpenRules Engine, they managed to roll out highly compliant loyalty programs and simplify sales and marketing processes in the Life Sciences industry. This partnership will empower companies solve various other use cases related to Compliance, Employee and Customer Experiences.
OpenRules Decision Manager 8.1.0 supports regression testing to confirm that a recent change has not adversely affected existing features of multiple decision models. Regression testing is done to make sure that new changes should not have side effects on the existing functionalities. It ensures that the old functionality still works once the new changes in decision models are done. Continue reading →
OpenRules Decision Manager 8.1.0 includes a special Rule Debugger that allows business users to debug their decision models while they are being executed. The debugger stops execution after executing the first selected rule and a user can analyze the current content of all decision variables to understand why certain rules were executed or skipped. After pushing “Enter” the next selected rule will be executed. A user may continue to push “Enter” until all rules are executed. 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 →
OpenRules always was among the fastest decision execution engines. Our newest OpenRules Decision Manager was designed to provide super-fast performance for modern enterprise decision-making applications that handle millions of rules-based transactions per day and to naturally support cloud-based microservices. Now we started to receive a very positive feedback from our customers: after switching to the newest OpenRules Decision Manager the same decision models show 6-10 times performance improvement! If you decide to switch as well, you may take advantage of our Migration Services.
DMCommunity.org Challenge Nov-2019 asks us to build numerical versions of traditional Japanese haiku poems. Here is an example of a traditional Haiku poem: (5) The sky is so blue. (7) The sun is so warm up high. (5) I love the summer.
A haiku poem consists of three-lines written in a 5/7/5 syllable count. Here is an example of a numerical haiku: 77 [seventy seven has 5 syllables] + 123 [one hundred twenty three has 6 syllables + 1 syllable for “plus”] = 200 [two hundred has 3 syllables + 2 syllables for “equals”]
DecisionCAMP-2019 in beautiful Bolzano on Sep. 17-19 will go down in history as one of the most successful DecisionCAMPs. As usual, it was packed with interesting presentations and even more interesting formal and informal discussions. I’ve written my notes from this memorable event – read them here.
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 →
The Sep-2019 DMC Challenge “CrackTheCode” is a simple puzzle. We need to crack a 3 digit code based on these hints:
682 – one number is correct and in the correct position
645 – one number is correct but in the wrong position
206 – two numbers are correct but in the wrong positions
738 – nothing is correct
780 – one number is correct but in the wrong position. Continue reading →
Nowadays it’s not enough for decision-making applications to simply execute a complex rules-based transaction, forget about it, and wait for the next one. These applications frequently have to maintain states of the business objects they manage and and based on their states invoke different decision services. Orchestration of the decision services becomes a serious issue but different implementation techniques frequently utilize State machines. In this post we will use the DMCommunity Aug-2019 Challenge to demonstrate how it can be done. 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 →
Business decision models are usually developed and maintained by business analysts or other subject matter experts (not software developers). In the modern world the authors of these decision models want to make them available from cloud as operational decision services. But how difficult is to achieve this objective? Continue reading →
When our customers create business decision models, they frequently want to have an ability to debug their business rules to understand when and why their rules were executed or skipped. We provided them with the Decision Model Analyzer that partially answers these questions but does it after (!) the model has been already executed. We’ve just completed the development of a new OpenRules Rules Debugger that allows a business user to debug her/his decision models while they are being executed. Continue reading →
OpenRules introduced a brand-new product Decision Manager that executes exactly the same decision models as the classical OpenRules BRDMS, but uses a completely new execution mechanism that doesn’t need Excel-based Rules Repositories in run-time anymore as it converts all rules to Java ahead of time. As a result, decision services also can startup almost immediately, be executed within milliseconds, and have a minimal memory footprint. Link
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!
OpenRules Release 8.0.0 adds one more nice feature requested by our customers. Usually business decision models are created by a business person in Excel using powerful OpenRules decision tables. The same people who create the decision models usually create test cases for them using special Datatype and Data tables. After the model is tested, the business person passes the Excel-based model to IT for integration. If their IT uses Java, they need to create Java classes for input and output objects. which are similar to the Datatype tables created by the business person. The release 8.0.0 added an ability to generate such Java classes automatically to provide ready-to-go interfaces for already tested decision models. Continue reading →
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 →
OpenRules announced an availability of the new product “Decision Manager” that has been developed specifically for modern enterprises allowing their business analysts to create, deploy, and manage Business Decision Services on cloud, on premise, or even on smartphones. It comes with a completely new execution mechanism that is extremely fast, takes almost no time to start, and essentially reduces the memory footprint. It perfectly fits the requirements of modern containerized decision microservices.
OpenRules also announced the availability of the new release 8.0.0 of its Classic OpenRules BRDMS that includes many new features requested by customers – Release Notes 8.0.0. It is important that both products can efficiently execute the same Business Decision Models created using MS Excel or Google Sheets in accordance with OpenRules Goal-Oriented Decision Modeling approach described in this book.
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 →
Nowadays, when microservices quickly overcome the legacy style of monolithic applications, it’s only natural to deploy Business Decision Models as Decision Microservices. We’ve just published a new tutorial that in a step-by-step manner explains how to convert OpenRules-based decision models, created and tested by business users, to decision microservices with Spring Boot and then containerize them with Docker. Following the tutorial you will learn how to: Continue reading →
The integrated use of Machine Learning (ML) and Business Rules (BR) is one of the most practical trends in the development of modern decision-making software. OpenRules is involved in this development for more than 10 years starting with our successful ML+BR projects for IRS. Along with a general purpose Rule Learner, we also provide Rule Compressor, that uses ML to compress large decision tables to smaller ones. This recent presentation explains how it works. 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 →
Java Solver is an open source product that provides a minimalistic, simple-to-use Java API for modeling and solving optimization problems. It’s freely available from JavaSolver.com. Download the product, try examples, and use it for your decision optimization problems. Continue reading →
OpenRules Release 7.0.1 provides a sampling and detailed tutorial of how to add an OpenRules-based service to the popular Spring framework. The new tutorial “Developing Decision Microservices with Spring Boot and OpenRules” in a step-by-step manner explains how to convert OpenRules-based decision projects into Decision Microservices and to deploy them on any server or a cloud environment supported by Spring. Read it and try to run the demo microservice “GreetingService” by downloading the new workspace called “openrules.spring” now included in the evaluation version.
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.
Based on a request from OpenRules Discussion forum, I asked our support to provide a simple example that demonstrates how OpenRules-based decisions can be invoked from RESTful Web Services. Alex Goldin describes how he did it in this document.
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’m Jacob Feldman, the CTO of OpenRules, Inc. I wanted to reach out to wish you a Happy New Year and thank you for your ongoing support of OpenRules. 2018 was a very successful year for OpenRules. We essentially advanced our decision engine to support a new decision modeling approach. We also received the Business Rules Excellence Award. For those of you who have already experienced the latest OpenRules Release 7.0.0, I hope you are seeing the benefits of the work we did during the last few years to improve the OpenRules robustness, reliability and simplicity of use. Continue reading →
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.
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.
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 →
After successfully putting a new OpenRules-based system in production, the bank extended the use of OpenRules to another mission-critical application related to risk management. Below you can read the description of this OpenRules success story. Continue reading →
This year DecisionCAMP was held in Luxembourg Sep 17-19 as a part of the Logic for AI Summit. It became an important event that attracted experts and practitioners in the business decision management from 14 countries. We had 54 official registrations and sometimes even more people were present in the auditorium. The representatives from almost all major BR&DM vendors and many well-known experts attended the event. As the chair of the event, I wrote the Notes from DecisionCAMP-2018 published at the DMCommunity.org blog.
A major California bank, facing looming regulatory deadlines, needed to develop a highly dynamic web application to support the bank’s complex customer account management processes. The integrated use of OpenRules’ s rule and rendering engines became the foundation for the successful and quick implementation. OpenRules nominated this real-world application to the first annual Business Rules Excellence Awards (BREA). This success story was selected as a worldwide Finalist in the 2018Business Rules Excellence Awards. This is a significant achievement for the Bank and OpenRules. The announcement of winning entries will take place on October 16.
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 onlyGlossary 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 →