Friday, January 26, 2007

How to understand a large ruleset?

Peter Lin has a very valid concern :
My main caution to users is that no matter how nice the writing part is, how
does the tool make it easier to maintain and understand a large ruleset? Does it
have the ability to analyze the rules and show the relationship to the user?
At Acumen Business (where I work), we have addressed this issue by the introduction of the Interactive Rule Map. Sometimes also referred to as Rule Spider. This dynamic rulemap shows the direct dependencies of rules-to-terms and from terms-to-rules.

There is also a complete Rule Graph generation, however that will quickly loose it’s power when hundreds of rules are defined. The interactive rule map is an advanced browser that shows parts of the rule graph.

Currently we are doing some research to integrate the Rule Validation into the Interactive Rule Map. This allows step through debugging of the just the business rules. Our prototype is looking very promising.

What is missing in WWF rules

There is an interesting discussion going on how WWF rules is different from a BRMS solution. Although some comparisions are more related to the comparison with QuickRules.NET, there are quite a few valid points.

The argument list WWF Rules vs. BRMS rules will soon have to be rewritten. Acumen Busines is in the process of providing their tool components for WWF. This will include
  • Rule Repository
  • Rule Validation and Verification
  • Rule Animation
  • Rule Reporting

Stay tuned.

Tuesday, January 23, 2007

Decision Tree Editor

In previous posts I have mentioned the usage of Decision Trees or Decision Tables to represent business rules.

Acumen Business has developed an editor to create such Decision Tree rules. See the video here. The decision tree can be viewed in horizontal or vertical layout.

In order to effectively use such a format on rule execution; the runtime inference engine must support this kind of rule directly. Unfortunately BizTalk does not support this out-of-the-box. CA's RuleSp (or the new Aion) does support Decisions Tree natively in their inference engine. Corticon's rule sheets are also very similar to this Decision Tree format. Although it seems that it models a rule sheet like a decision table, the fact that certain branches can be overriden makes it more a decision tree. I'm pretty sure that Blaze and Ilog have something similar as well.

make files explained if you did not grew up with them

Here is a nice post on how to define makefiles for a go project and actually teaching you some makefile constructs: