Thursday, December 20, 2007

Cancelling Events

Opher Etzion has an interesting post on deleted event, revised event and converse event.

In my comments to his post, I raised the following special case, which I thought was worth a special mention:

Wikipedia defines composite event in terms of inference. But such an inference can be overturned (cancelled) by additional information, which creates an alternative (and more likely) explanation of the original data.

Let's say a given combination of basic events makes it likely that a car accident has occurred, and this inference triggers some emergency response. The car accident is represented as a composite (inferred) event. But it is possible to discover in a particular instance that what appeared to be a car accident was in fact something else. This discovery (presumably itself a new event) causes the "carAccident" event to be cancelled, and any emergency services to be notified and stood down.

Indeed, an unstable system might change its mind several times about whether a particular event had happened or not, and this instability would be a cause of concern for a system engineer.

Opher suggested this could be regarded as a form of error, but we need to be careful here because the word "error" can easily be misunderstood. We are talking about a situation where the inference was correct based on the information available at the time - the information may have been incomplete rather than inaccurate. I believe this is known in law as Error Coram Nobis.

Opher also pointed out the lack of support for this concept by current event processing products. Quite so. But the lack of tool support doesn't stop people building systems, it merely makes such systems more difficult and expensive. And I hope that by discussing real business examples of complex event logic, we will encourage further tool development.

No comments: