It is a great honor to have Charles 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