July 29, 2007

Business Rules Management vs. Semantic Web Rules

Last week I attended a one day introductory seminar by ILOG about their business rule management system (BRMS). I did it to get a better feel for the differences and similarities between these systems and logic programming (LP) /Semantic Web rule systems (SWR) - beyond the name and the idea to represent knowledge somehow as "if x then y" structures. So here's what I learned:

  • [Please see update below] Atomic Rules: The biggest difference really is that rules in BRMS's do not interact automatically. If you have a LP or SWR system with the knowledge base: 
          Rule A: IF q(?A) THEN r(?A)
          Rule B: IF p(?A) THEN q(?A)
          p(x)
    and you ask the query r(?A) you get the answer ?A=x, a LP/SWR system will automatically realize that it has to apply first rule B and then rule A. A BRMS will evaluate the rules in isolation - rule B will fire but rule A will not. This is because rule A has no access to the results of rule B. A BRMS system can replicate the behavior of the LP/SWR rule base through the use of rule flows. A rule flow is a description of a sequence of rule sets that have to be applied. In the example above we could define that first rule B is applied and then rule A - but note that unlike in LP/SWR systems we have to do this manually. In real life you normally wouldn't specify single rules in rule flows, rather something like: apply first syntactic input check rules, then apply rules to create credit rating, then find appropriate department to route document to etc.
    It easy to say that LP/SWR systems are superior because of their more powerful formalisms, but remember the downside to that: they are harder to understand and implement, slower to evaluate and harder to debug. There is also a certain beauty to having procedural problem solving knowledge explicitly represented and not hidden in rules. I'm hesitant to claim that a BRMS would become better by using a more powerful SWR system, probably, but it would require hard work on the user interfaces.
     
  • Multi Paradigm: The textbook way to use a BRMS seems to be to start with a business process and to externalize complex decision points from that into decision services that are realized with rules organized in rule flows. And the rules in the rule flow can easily access other programs, webservices and objects. Hence rules are embedded in a multi-paradigm context and restricted to only the subset of tasks they are good at - much more so than in the usual discussion of LP/SWR systems.
  • Maintenance vs. sharing:  The main advantage of BRMS's used in the ILOG marketing material seems the ease of maintenance - the assumption that business logic made explicit in rules is easier and cheaper to adapt and maintain. So far there seems to be relatively little interest in sharing or selling these rules. This stands in contrast to the SWR developments that focus on sharing.
  • Semantics: Well, a formal semantic is a central topic for the LP and even more for the SWR community, in contrast the BRMS people seem to be not too concerned with that and just utilize some kind of simplified forward chaining.

And the ILOG system is quite a bit more mature than any LP or SWR system I know - but then, that is to be expected from a relatively large company that has been building these systems for years.

Update: I've removed the entire first part of this post - It represents what the ILog presenter person said, however, upon reading a bit more I realized that it just isn't true: ILog (like other BRMS manufacturers) is quite proud of their Rete based forward chaining inference engine. So, that's still a different approach (forward chaining vs. declarative semantics + different inference algorithms in the SW world) but not as different as I initially claimed. Sorry.

Labels:

0 Comments:

Post a Comment

<< Home