TIBCOmmunity navigation
Feb 24 2010

Processes = event-driven decisions and actions?
Posted by Paul Vincent

ds-rule-usesIn a previous post we commented on IBM’s Conceptual Model for Event Processing Systems, but failed to observe that IBM’s rule engine group, Ilog, was noticably absent from its contributor list. So perhaps it was both fortuitous and timely that Ilog’s Daniel Selman recently added another “viewpoint” on the position of event processing (aka the rules viewpoint).

Daniel’s take on the “primary users (sic) of rules technology” are the (use cases for) automating decisions, event responses, processes and inferences. I think these might be better classified by renaming then as decision processing, event processing, and business process processing. But inferencing, which Daniel notes as being a technology to support Artificial Intelligence, is not so much a (user or) use case, but a means of providing knowledge-based reasoning to support any of decisions, processes, etc - “AI” is not (or should not be) a means unto itself.

Standard Event Processing Design Pattern

Standard Event Processing Design Pattern

Indeed, one could probably argue that:

  • all business processes are driven by events of some kind, and involve decisions and (re)actions;
  • all processes, decisions and event processing are context (i.e. state) driven; however, some processes and algorithms are used in a subordinate fashion to a stateful process (consider a typical decision service that is subordinate to its application server and database layers);
  • inferencing can be used to enhance any part of the event-handling process as a form of declarative rule control.

In TIBCO’s experience, an event driven rule engine (like TIBCO BusinessEvents) can be used to provide dynamic business processes, event-driven decisions, and real-time control mechanisms - and often all 3 - exploiting and building on the fundamentals of complex event processing.

So, on the utility of rule engines, we totally agree with Daniel!

VN:F [1.4.2_694]
Rating: 2.0/5 (4 votes cast)
  • Share/Save/Bookmark

2 Comments

  • By Paul Haley, February 24, 2010 @ 14:49

    I was a little confused by what you were saying about inferencing here. But after a few re-reads I think you’re saying that inferencing, even if it is “reasoning” and “AI”, is OK (as in it “can be used”). No technology should be an end unto itself, but inferencing MUST be used for anything but procedural logic. There are three kinds of sentences in the world: declarative, imperative, and interrogative. Rules address the first two. Declarative rules are true. Their only use is in inference. Imperative rules say what to do. Their use is in taking action (e.g., reaching a decision). Practical systems need both (strictly logical systems only have the former, as in SBVR, as you know).

    VA:F [1.4.2_694]
    Rating: 0.0/5 (0 votes cast)
  • By Paul Vincent, February 25, 2010 @ 01:25

    Hi Paul - sorry for the obfuscation in the post, then… the point indeed I was trying to get across was that inferencing was not a use case in its own right but supports the other use cases (processes, decisions, event handling). Of course this is an IT view, not the “sentence view”, and I was using “declarative” as in the programming view…

    I like your classification (declarative, imperative, interrogative) and can see how these might enable a neat mapping onto some event-inference-process IT system…

    Cheers

    VN:F [1.4.2_694]
    Rating: 0.0/5 (0 votes cast)

Other Links to this Post

RSS feed for comments on this post. TrackBack URI

Leave a comment