Jacob Feldman presented to the Object Management Group Decision Modeling Notation meeting on OpenRules – an open source “decision management system”. Jacob argues that OpenRules is a Decision Management System for a number of reasons – besides having a rule engine and a rule engine it also supports automated rule discovery, predictive analytics, an optimization solver, a rules dialog to build web applications and support for a finite state machine. On top of the functionality he focuses on the importance of having business analysts manage business rules. This involves both understanding the underlying semantics (obviously) as well as using a familiar interface – in his case, Excel.
The OpenRules approach can use a KPI Decision Model–based approach, typed directly into Excel. Rule Families are laid out in Excel with condition and conclusion columns. It can also support a more compact but less rigorous decision table approach. Besides these rule families you need a set of fact definitions – a business glossary. Each fact name used in a rule family are linked to a business concept and mapped to a technical attribute name to support implementation. To support testing, other blocks of cells in Excel can be used to store data types and example records. Finally the decision objects must be defined, mapping business concepts to object definitions.
Essentially all the various elements are defined in tables within Excel, each labeled to define what it is, and the engine then picks up the Excel specification and executes it. OpenRules can use Excel for everything but also allows the rules to be stored in a physical rule repository and can be passed in to the execution environment as objects.
I have a scheduled deep dive with OpenRules soon so look for a First Look in the coming weeks.