Dr. Mark Allen of Corticon caused quite a ruckus several years ago when he published a paper called “Rete is Wrong,” which took all of the rule-based engines based on the Rete (pronounced Ree-tee) algorithm to task for inefficiencies and poor construction. Allen explained that, in contrast to the Rete engines in market-leading BRMS (Business Rules Management Systems) such as ILOG’s JRules and Fair Isaac’s Blaze Advisor, Corticon had a DETI (Design-Time Inferencing, pronounced Dee-Tee) engine.
The Rete algorithm was developed in the late 1970s by Dr. Charles Forgy and, at that time, increased the performance of the standard LISP inference engines by as much as 3,000 times over an engine that did not use the Rete algorithm. I believe that rule engines based on Rete continue to be much more scalable than alternatives such as Corticon, though I have yet to find a performance test that allows meaningful comparisons across the different technologies. Nevertheless, Corticon has some advantages over its Rete-based counterparts for many business applications.
As Dr. Allen and Corticon claim (and as I observed for the most part during my testing), the DETI engine does most of the complex checking of the rulebase during design time rather than at run time. This removes the problems later on that can be caused by circular reasoning, duplicate rules, inconsistent rules, and incompleteness of the ruleset. The only thing you lose, compared to a traditional Rete engine, is the flexibility to drop in a rule or change a rule on-the-fly. According to Dr. Allen, however, very few of Corticon’s customers need that capability, and I’m sure that is true. In the business world, most applications obey spreadsheet logic, and Corticon shines when the rules are easily expressed in spreadsheet form.
Setting new rules
Corticon takes a different approach to problem-solving than the Rete solutions, making the traditional benchmarks (including Manners, Waltz, and WaltzDB) inadequate for assessing its power or speed. Corticon performed quite well in the limited tests I was able to run, but how its performance and scalability stack up against Rete competitors remains unknown in the absence of a benchmark that tests Corticon and Rete engines on a level playing field.
The Corticon 4 BRMS includes the rule execution server, a modeling studio, a rule management server, and a new enterprise data connector. The modeling studio, shared by developers and business users, provides a spreadsheet interface where the rules are initially entered and checked for completeness, goodness of fit, conflicts, duplicates, subsumption (when a rule is so broad it contains another rule), and other problems. The rule management server, called the Rules Collaborator, provides version controls, approval workflows, and role-based access.
Corticon simply excels at rule building. The GUI is a bit clumsy, and will take some getting used to, but Corticon’s spreadsheet approach to development easily beats the similarly spreadsheet-oriented decision tables in JRules and Blaze Advisor. If I had to use a spreadsheet approach only, Corticon is definitely the way I would go. Business analysts will not only get used to it, they will love it.
The modeling studio has some really neat features, including checks for rule completeness, ambiguity, and subsumption, but users will need practice before some of them become intuitive.
Naughty and nice
Perhaps the most disconcerting quirk is that the drag-and-drop operation fails to highlight the object to which another object is being dropped. I pretty much had to guess, based on the position of the cursor arrow, that I was in the right area. Not a showstopper by any stretch, but enough to throw some users for a loop.
Similarly, after entering the preliminary rules in a ruleset, using the point-and-click routine of the Check for Amibiguities feature will become straightforward only after some experience with Corticon. The problem columns are highlighted in red but no problem statements are seen until the mouse rolls over the offending cell in the spreadsheet. There is a saving grace, however: the GUI does allow you to “Expand the Rules” to show not only the offending conflict but also what the engine thinks should be the answer. Nice.
When a rule subsumption occurs, the Helper Screen suggests that one of the generated “sub-rules” be overridden by the main rule, a cue that is understandable to techies but not very informative to a business analyst. I also have a philosophical disagreement with Corticon’s tolerance of subsumption, which I believe should always be flagged as an error: Although subsumption might be OK with smaller rulesets, it could lead to potential problems in very large spreadsheets containing thousands of rules. On the other hand, Corticon allows you to correct the problem easily by changing the offending portion of the spreadsheet.
Another fantastic feature in Corticon is Check for Completeness, which tells you if you have left anything out of a rule set that “might” become a problem later. Finally, the Testing feature is something not totally unique to Corticon, but unusual and nice to have included with a BRMS, allowing you to run your rules through some preliminary tests during the development process.
Corticon started a minor revolution in the BRMS industry when it unveiled a solution that “optimized” the rules before runtime rather than at runtime. Although competitors may argue that the Corticon approach is not as scalable as their Rete-based systems, the company has tackled some rather large projects in the past and is continually being challenged by more and bigger things. Reporting is rather sparse and debugging (the up-front part) is quite limited, but Corticon maintains that its solution requires neither the level of reporting nor the debugging tools needed in its Rete counterparts.
Despite a few rough edges, Corticon offers the best spreadsheet-oriented rule development tool I’ve seen. For most kinds of business applications, this solution deserves a close look from companies who want to bring rule development and maintenance into the hands of business experts.
This review has been changed to qualify statements in the original regarding Corticon 4’s performance and scalability and its suitability for complex applications. The scoring remains unchanged.
Developer tools (20.0%)
Rule Management (30.0%)
Overall Score (100%)
You may still be better off sticking with Win7 or Win8.1, given the wide range of ongoing Win10...
Now that we're down to the wire, many upgraders report that the installer hangs. If this happens to...
Angular 3 will have better tooling and will generate less code; Google also is promising a new major...
Sponsored by Intel
Sponsored by Puppet
Sensing a possible stall in your coding career? Here’s how to break free and tap your true potential
In this selection you’ll find speakers taking on some of the most pressing, and persistent, security...
Nim compiles and runs fast, delivers tiny executables on several platforms, and borrows great ideas...
A port of the popular Torch library, PyTorch offers a comfortable coding option for Pythonistas