Today I had a meeting with PhD student and her adviser to help them do sanity checks for a research idea related to event processing. One of the ideas coming from them is actually looking at another type of proactive systems relative to what we have been looking at. The difference stems from the fact that event producer can be of two types: observer and creator. An observer, e.g. sensor, observes that an event has happened and reports it, but it does not take any part in the event creation. A creator is a producer that creates the event, and can decide whether an event is created, or in some cases can retract events. Such a creator can be an instrumented program, BPM, transaction system etc...
The proactive systems we have been looking at assumed that the producer is observer, thus we cannot control the creation of events but we can try to predict it, and eliminate it, or mitigate the damage it might inflict.
Contrary, when the event producer is a creator, we can control the event. There might be a few cases here.
One case can be that we again predict that event is going to happen since there is some causality relations with events that have already been detected, and within a certain context we don't want this event to happen, we can then tell the producer -- if this event is being produced (again, within certain context, e.g. time window) -- don't produce the event. Another case can be that the event is being created by a transaction system, this event, within some context, and maybe in conjunction with other events, derives a situation that we want to eliminate. The fact that the event is part of transaction that has not committed, gives the possibility to retract the event and eliminate it from being produced to the outside world when the transaction commits.
The pure view of event processing puts producers and consumers outside the boundaries of the event processing system, however, in reality there are cases where either the producers or the consumers (maybe even both) are controlled by the same logic, and thus detection of situation may impact the producers and consumers. I think it gives rise to interesting applications. I'll get back to this topic later.
The pure view of event processing puts producers and consumers outside the boundaries of the event processing system, however, in reality there are cases where either the producers or the consumers (maybe even both) are controlled by the same logic, and thus detection of situation may impact the producers and consumers. I think it gives rise to interesting applications. I'll get back to this topic later.