Sparkling Logic is a new company founded by a couple of old colleagues of mine and focused on what they call “Social Logic”. They have developed a social, cloud-based environment designed to help companies find the best, most defined decision logic that launched today at the Gartner BPM Summit. Fundamentally the new platform aims to improve decision logic (business rules) in three ways – by helping experts share what they know, by helping experts share their interpretations of policies and regulations, and by looking for the rules in the data. By doing so they hope to remove the blocks for rapid, effective business user engagement; find the decision logic that matters- the logic that actually impacts a metric or objective; and enable creativity.
The product has three key elements:
- In Context. Everything is done in context using cases from real data, familiar forms, real metrics.
- Decision awareness. The impact of rules and rule changes on the data, outcomes and metrics is always shown immediately.
- Social. A social environment links people, their tasks and rules/decisions in a social network.
Having found the rules a company can execute them on Sparkling Logic’s own cloud-based engine or potentially push them to other BRMS deployment environments. The product also supports the use of the rules that have been discovered in less structured and more manual decision making contexts like case management.
The product launches with a social home page for the logged in user rather than the traditional rule editing environment. This social home page shows projects, groups, discussions, notifications, to dos (both group and individual) and links to specific development items such as decisions and forms. Everything can be filtered to focus on a specific project or person for instance and the lists reflect their context (showing the to-dos for a decision for instance or the discussions about a form). This filtering and context is strongly enforced throughout the tool to help users manage the large amount of information involved. A “Social knowledge graph” shows people, tasks, discussions, decisions, forms, metrics etc and how they are linked. This graph includes a measure of how strong the link is and allows users to see collaborators on current projects, existing team members on a project when they are first assigned, who reuses specific elements and much more. Users can assign or share tasks, collaborate for discussions or decision-making and the tool keeps the history of the collaboration and outcomes. As a user navigates around, to a project say, the social graph and lists reflect the new context and focus in on the specific items for that context. From this social environment the user can navigate to a work environment for a specific project.
The working environment for a project involves three core things –Dashboards, Forms and Decision (rules).
The dashboard pane shows the metrics attached to the decision or project, the distribution of results, metrics of the currently selected dataset etc. Every project has a number of datasets assigned to it. These datasets are real historical data (though they could be generated data for specific development or simulation purposes instead)] and the use of these datasets enables the tool to see how the current rules will impact real transactions. These graphs are updated whenever data or rules change, providing immediate feedback on the changes a user is making (for very large data sets the execution of the rules is handled asynchronously on the servers and the dashboard updates once the run completes). The use of real data in this way dramatically improves the ability of someone writing rules to see the impact of those rules on their business results.
The forms pane shows forms generated from the dataset’s structure or created in the tool by direct user manipulation (though the plan is to bring customers’ forms in to the environment in the future). These forms allow the datasets to be viewed and edited record by record. Multiple forms can be defined based on the datasets for a decision and calculated fields (including Boolean characteristics and complex computations) can be added to the form in addition to those presenting the data in the dataset. These calculated fields can be based on simple calculations or the outcomes of the decision for instance. As the user reviews each case in the form it can be edited and the new results reviewed.
The decision pane allows access to the definitions behind the decision(s) in the project. Decisions contain a Decision Flow of Decision Steps, Rulesets (potentially many for a decision step) and Rules. Rules are written in Sparkling Logic’s own syntax and are very declarative – procedural constructs such as looping and functions are [ are implemented through declarative calculations attached to the form.The rules are stored as objects, not as text, an essential element in several unique features. Not only does this object model for rules allow for very detailed impact analysis (which attributes/conditions are relevant to a case for instance) it also allows the rules in a ruleset to be managed as a decision tree, a decision graph, a list of rules or a table. The table editor acts like a pivot table, allowing various attributes and conditions to be used to group rules in the table. This ability to move between different representations works in every case, though obviously some rulesets will work much better in one or other formats. Algorithms to order and structured the conditions to form the best possible tree, table or graph have been developed. In addition, because the tool always has a live dataset available, the way data and rules interact is show visually, allowing for instance the number of records in each branch of a tree to be shown. This model means that it will be possible to add increasing degrees of advice to the rule writer over time- suggesting a “best” representation style for instance.
As rules are being edited the user can create business terms and groups of related business terms. These become a vocabulary but this vocabulary need not be developed in advance and can be evolved in parallel with rule writing. The groups of terms and what they mean are maintained using the same rule syntax and these can be defined at any point in the process, allowing skeletal ones to be developed initially for instance before filling out the details later. Combined with the use of calculated fields in the form, business terms help keep the rules focused on the way business users think not necessarily on the data fields in the records.
While rules are being edited the tool flags poorly formed rules, contradictory or incomplete rules etc supporting full verification and validation of the rules as they are edited. The added value of seeing how rule changes impact real data live also helps identify rules that are, for instance, perfectly well written but mean that everyone will be rejected.
One final way of editing the rules is the “red pen” mode. This uses the form, a specific case in the form (one of the data records) and the rules in combination. By interacting with the form the tool will show which rules use those elements of the form or are exercised by the particular case under consideration. Similarly a set of rules, selected by filtering say, can be used to hide all the elements of the form not used by those rules. In this focused environment that links the form, a specific case and a set of rules the user can mark elements of the form with the “red pen” and then interact to say for instance that this marked attribute and the value in this particular case should be added to a rule. This would allow the addition of a condition “State = CA” to a rule automatically if the state attribute is selected on a Californian case. The interaction of the rules, the data and the form are clearly shown in this mode, making it easy for an expert to point and click their way through the rules they would apply to this case and creating those rules as they go. And, of course any change is immediately reflected in the dashboard.
The tool is a radical departure from the way a traditional BRMS handles rule editing and creation. The focus on editing rules in the context of forms, the use of real data to provide constant feedback during editing and the strong management of the rules as objects not script are all powerful ways to improve the way rules are written and managed. Add in the social platform and you have an interesting product.