Decision CAMP 2013 – Dr. Charles Forgy – Writing Concise Rules

on November 5, 2013
SMARTS™ Data-Powered Decision Management Platform

It is a great honor to have Charles Forgy join us for the very first Decision CAMP ever.  Charles does not need any introduction of course.

Today he is presenting a keynote on ‘writing concise rules’.  I will upload the slides after the presentation.  It contains detailed examples of techniques you can use for more elegant rules writing.  I think that Carlos is going to have his own blog about it too.

Rules become come interesting when dealing with collections as they ‘pattern match’ the characteristics that you are looking for.  Unfortunately, in the absence of set operations, the rule syntax can become complicated.  Charles is describing concrete examples that illustrate that point.  The beauty of set operations is that they allow to just describe what is needed and they ‘just do it’.

The point of this presentation is to show how set operations are more concise, easier to understand, and they remove the need for ‘markers’ that pollute the rules.  Set operators can have an impact on runtime performance as well.

I loved the plug for SMARTS :-)

Let me tell you more about my own experience going through the same realization…

This is actually where we see rule syntax and SQL-like expressions come together.  Carlos and his team have been very complimentary of Microsoft LINQ.  As the ‘business’ user, I tend to reluctantly learn yet another syntax.  But, as they showed me what could be done with LINQ, I became fascinated by its expressive power.  Some pretty complicated rules can be more easily described in a SQL-like fashion.  Let me give you an English-like example: looking for the youngest driver that has at least one accident.  Without a set operator, you would likely go over each driver, make sure they have at least one accident, and compare them to all other drivers that also have one accident…  Double patterns are something I have learned to avoid.  But with a set operator, you just look at the set of drivers, filter for those that have at least one accident, and take the minimum age.  Simple!

We loved LINQ so much, we called our version of it, in SMARTS, SparkLINQ.  Who said that engineers were not good at marketing?  I found it clever and cute :-)

Learn more about Decision Management and Sparkling Logic’s SMARTS™ Data-Powered Decision Manager

Search Posts by Category


Sparkling Logic Inc. is a Silicon Valley-based company dedicated to helping organizations automate and optimize key decisions in daily business operations and customer interactions in a low-code, no-code environment. Our core product, SMARTS™ Data-Powered Decision Manager, is an all-in-one decision management platform designed for business analysts to quickly automate and continuously optimize complex operational decisions. Learn more by requesting a live demo or free trial today.