Saturday, October 6, 2012

More on the semantic overloading of derived events

I am recently getting back to the time in which I have dealt with semantic data models, and now I am trying to view current event-driven applications in that way, thus the semantic overloading is one of the interesting first issues that emerge.  I'll write more about semantic modeling of event processing later, but right now I'll concentrate in the semantic overloading of derived events.   There are various definitions of the term "event", but in all of them event represents a VERB in the natural language.   Looking at what we defined as derived events, it seems that some of the derived events we are looking at can indeed be described by a verb in the natural language, while others are really described by nouns.    Thus my current thinking is to have the semantic notion of DERIVATION, but the derivation can yield different concepts:
Events - when indeed the derived conclusion is that something (virtually) happened.
Entity facts - when the derived conclusion is a value of some fact
Messages - when the derived conclusion is some observation that has to be notified to some actor. 

Examples from the Fast Flower Delivery use case that we used in the EPIA book.  

The automatic assignment creates a real event -- can be expressed by the verb ASSIGN
The timeout pattern "pickup alert" which means that a pickup was not done on time --- this is an observation that is notified to somebody.  It is therefore a message that can be expressed by NOTIFICATION
The driver-ranking calculated as a function of assignment count, is actually a fact related to driver, driver-ranking is a noun, thus it is a derived fact.

More - later. 


Rainer von Ammon said...

hmmm?! It seems I have not understood, perhaps must think for a while... Have your students got it?
Have you thought about this in Malta or afterwards?:-)

Opher Etzion said...

Hi Rainer. I'll have to ask my students when the semester starts - it can be a good question for an exam :-).
I'll write more detailed explanation with some examples, to make it clearer.

I have thought of it before the trip in Malta; during the vacation I did not have time or felt like thinking about work

stay well,


Unknown said...

Could we consider this slightly different?

It seems to me that "Pickup Alert" as described indicates an action to perform to notify something. Instead, if the event was "Pickup Missed" the observation itself doesn't indicate any required reaction. Of course, an alert as a notification is an appropriate reaction, but shouldn't we separate the knowledge (the pickup was missed) from the reaction (alter someone)? For just as easily we could send a message to that driver to reschedule the pickup according to our rules.