DEBS’09: Event Processing Languages

Reading Time: 2 minutes

The next DEBS “tutorial” was effectively the EPTS Language Analysis group report. As a vendor not involved in this group I wondered if it would miss something that is covered (or planned) in TIBCO BusinessEvents. But instead this proved a well executed and informative session by 3 presenters covering stream processing, rules, agents, semantics, IDEs and formal theory.

A few comments from a TIBCO perspective on the content. Firstly, there was a summary slide showing all the different language approaches by vendor and research event processing systems including TIBCO (BusinessEvents). Now, guess which of the following BusinessEvents was aligned to: “Inference Rules”, “ECA rules”, “Agent oriented”, “SQL Extension”, “State Oriented” or “Imperative/script based”? Well, the first was correct, but you could also make a case for all of these being supported (events driving production rules, multiple-agents, continuous query language, state models, and what we call rule functions).

On the differences between ECA rules and production rules: event-driven inference rule engines combine the features of both Rete-based inference rules AND Event Condition Action rules. If no event is defined then the rule acts as a normal production rule; if (one or more) events are part of the rule definition then the event(s) must occur for the rule to fire. And its not as if the rule firing order of ECA rules is standardized…

On the IDEs for event processing languages: of course many might complain that rule languages don’t have the draw-your-application simplicity of the stream-processing-via-queries community. This is because production rules used in inference engines are “declarative” – they can be defined in any order: and you can’t (or shouldn’t) draw lines between declarative rules (although creating such a diagram from the current rule definitions would work!). Instead, conventional production rule systems are often supported by a (process) diagram called a ruleflow; on the other hand, BusinessEvents supports a drag-and-drop state model diagram tool.

Overall an excellent and informative session – sorry, tutorial!