Wednesday, April 29, 2009

On events and relativism

Today has been a holiday, the Independence day of Israel, and we spent some of the day in going to an exhibition called "Body World", in which there is an exhibition about the human body and its various functions using parts taken from dead people who contributed their body using some preservation method developed by somebody in the university of Heidelberg, actually I also spent some of the holiday working, since there was something that has become artificially urgent. These high-tech corporates makes you a slave, I am getting too old for this...

Anyway, in Israel the day before the "Independence Day" is the "Memorial Day" to remind us that the independence has its cost. It reminds me that in my first year in the USA (I lived in the USA for several years around 20 years ago), there were signs in the street saying "memorial day sale", we thought that somebody is making a joke in a bad taste, which does not really fit the famous "politically correctness" of the Americans, but found out after talking with some local people that the typical American does not attribute any semantics to the "memorial day", and it is just a long weekend with sales and travels like any other long weekend, well -- a cultural difference, since in Israel, memorial day is taken seriously.

Today, I wanted to say something about events and relativism. One of the questions about chapter 1 in the "Event Processing in Action" book on the forum came from Richard Veryard.
The question has been:
How do you count how many events? If you have a three-car pile-up, does that count as one collision or two, given that the third car hits a few seconds after the first two? Or three collisions, if the third car hits both of the first two cars?

My answer has been that the decision is relative for the application. From the insurance company or companies of the cars involved it may look as three different events, since the event refers to a single car; from the point of view of the traffic police it may be considered as a single event, where the number of cars involved is an attribute.

Another facet of relativism is whether an event is raw or derived. The event can be raw event from the point of view of a certain application, since it is provided from the outside, however, the consumer is sending an event that has been produced by another event processing application, and from the point of view of the producing application, this is a derived event. There are probably more example of relativism.


Maniy said...

I agree with you on relativism being application dependent. Your first example of relativism morphs into "notification semantics." -- when an accident happens what do we want to report: an accident happened or three cars involved in accident or both.

Opher Etzion said...

Hello Maniy.

This can be realized with notification semantics, however, notification may not be of a raw event but a derived event, so it can be that there is a single raw event, and the derived event is splitting it to three events that get notified to three different consumers (in this case, insurance companies), or the raw events are the three events which then being composed to one event which is being notified to some consumer (e.g. transportation department).



Maniy said...

I agree. But in terms of functionality of a system, do we care whether it is a raw event or derived event? Applications just want the information that is of their interest, don't they?