I am attending the European Business Rules Conference (EBRC) and blogging live from some sessions. First up is Prof. Benjamin Grosof of MIT on the Semantic Web. Benjamin asked why are rules standards happening now when this kind of system has been available for a while.He asserted that there are 4 main flavors of rules, though there are other minor knowledge-based systems too.
- Relational databases
- Production rules (what I would call business rules) with fairly tight integration with objects in a programming sense
- Event-condition-action (ECA) rules (fairly similar to production rules) like those in business process/workflow tools or event-based developed
He backed up then to talk about semantics. When talking about the Semantic web it is important to understand that semantic means knowledge-based, having meaning independent of implementation and declarative (not procedural). Research in the semantic web has exploded since 2002 with commercial interest in semantic technology growing over last year - lots more startups and VC money. He listed a lot of research work from the 80s and 90s focused on knowledge representation. Much of this was his recent work (listed here) around logic programming, especially declarative logic programming. I don't have much of a comment on this research yet, as I have not had a chance to read it, but I will see if I can do a review of it sometime soon. His position is that this research helps both bring typical production rule capabilities to the semantic web while also offering a pipe of material to enhance the state of the art. Benjamin's position seems to be that rules vendors have done nothing really new for about 20 years, arguing that much new research has been missed. Not sure I would agree with this, obviously.
He went on to talk about knowledge representation. A knowledge representation is a combination of sets of premises, sets of conclusions and their relationship and Benjamin discussed some theoretical underpinnings and then showed some rules. While he emphasized their expressiveness, what I noticed was their more or less total impenetrability! The syntax he used, while precise and clear, was very unfriendly. Me I prefer the less semantically pure syntax of a production rule system because it is readable and editable by the business and thus more likely to be right. He identified expressiveness, syntax editability, semantics, tractability/scalability and reasoning algorithms as desired capabilities of a knowledge representation approach. He emphasized that the advantages today over the old expert-systems include better knowledge representation, an ability to leverage the web and XML, embeddable into existing systems and software development approaches. All true, and all characteristics of products like Blaze Advisor. He wrapped up this part by summarizing the wide range of standards bodies engaged in trying to handle this and how this, and other recent changes, set up the market for broader use of business rules.
He made a number of criticisms of the current rule market, most of which are (with respect) a classic academic perspective. He argued, for instance, that vendor pricing is threatened by open standards and that this is why vendors have not previously participated. In fact, vendors saw no value in standards until recently and are now active precisely because standards will allow companies to more broadly adopt the product increasing revenue! He clearly felt that vendors hung back previously but now Fair Isaac and ILOG's involvement in both OMG PRR and W3C RIF is strong (see this post for some information). He also argued that the market is fragmented, when in fact more than 60% is Fair Isaac and ILOG and where probably 80% of the revenue for production rules is from products that either come from these vendors or are modeled after Blaze Advisor/JRules. The "fragmentation" is among the also rans.
He argued that adopting standards now, and writing rules in those standards, is a good way to get started as production rule vendors will lock you in. I would argue, based on actual experience with customers, that creating and figuring out the rules is most of the work and that once written in any language they are very easy to move to others. If his premise was write, open source databases would dominate not Oracle and IBM. Production rules, like relational databases, work. The standards and syntax he discussed don't work and should not, therefore, be adopted by anyone until they do.
In the end, I have to say that this was a disappointing session. Benjamin seemed more concerned with knocking production rule vendors and showing how much smarter the research community was than vendors than actually being realistic. It is, I fear, this kind of attitude that puts vendors off participating in research and standards. Benjamin is off to Vulcan, Paul Allen's company, so it should be interesting to see what kinds of companies he gets involved with now he has to deal with the real world. His slides are available here.