Carole-Ann Berlioz-Matignon started another small fire storm on her blog about Complex Event Processing. In running the rabbit trails of I did find another blog on CEP by Tim Bass of Tibco that seems to take a more academic approach to CEP that uses lots of pictures, paragraphs of polysyllabic words and phrases that take some time to read. Charles Young, he of UK fame, even chimed in with his usual lucid and erudite thoughts. I did read through the blogs and now I'm pretty sure that no one has a really good grasp on a definitive answer to, "What is CEP?"
I think my FIRST comment is that neither CEP nor Rulebased Systems nor Neural Nets are "Business" only pursuits, although Fair Isaac, ILOG, Tibco, IBM, Microsoft and others are desperately trying to force everything computer-related into their own pre-defined concept of how that particular tool might be effected in the business world while relegating the rest of the world (physics, chemistry, geology, psychology, medicine, electronics, forecasting, analytics, etc, etc.) to non-essential importance. They will deny it, of course, but, nevertheless, their actions cry much louder than their words. If it cannot be forced into their world of business applications then it does not deserve consideration.
Back to the matter at hand: Wikipedia defines a CEP as "... primarily an event processing concept that deal with the task of processing multiple events with the goal of identifying the meaningful events within within the event cloud. CEP employs techniques such as detection of complex patterns of many events, event correlation and abstraction, event hierarchies, and relationships between events such as causality, membership, and timing, and event-driven processes." By it's very name, it is an Event - not something static - and it is Complex in that there MUST be something that about the event(s) that makes it not easily solvable or analyzed.
Since the definition seems to be getting in the way, let's say what it is NOT. It is not:
- Time comparisons (only)
- Rules (only)
- Processes (only)
- Neural Net (only)
- Necessarily Distributed
So, now that we (OK, just me) have said what it is NOT maybe we can say what it might be. (This part is what is open for discussion.) How about this? "A Complex Event is any event in time that is composed of multiple facts - whether static or dynamic - or events the outcome of which defy ordinary logic and the outcome is solvable according to either rules or neural networks and the same set of facts and events always have the same resultant process." Or something like that. What a CEP is NOT is BRMS, an inference process (only) nor any one set of things that would constrain the solution.
For example, forecasting is an extremely complex process wherein only the short term can be predicted with any degree of accuracy. If any financial forecasting package could predict the future within 5% within the next 12 months then the owner would make a small fortune. You just can't know everything about everything. Personally, my goal is that between now and October Rules Fest for 2009 I will have made some kind of significant progress on a commercially viable forecasting package. If nothing else, my goal of understanding exactly HOW to do event-driven-rule-constrained-forecasting will be better.