This might seem an odd question, but there are 2 schools of thought here:
- An event is a point in time.
- An event is an activity that can take a period of time.
Taking the latter view, we can say things like:
- Earthquake MMM took place from date-time D1 to date-time D2
- Fraudulant act on account NNN took place from date-time D3 to date-time D4
- Flight QQ123 was delayed in the period date-time D3 to date-time D4, when it completed disembarkation time T1 late
- World War 2, an historical event, took place from 1 September 1939 to 2 September 1945.
The problem with this view is that activities, and therefore processes, can therefore be viewed as “events”, which in IT terms can lead to confusion and generalisation. And what about “historical events” like World War 2, which definitely have a duration. But in reality “world war” was a “state” the various nations affected found themselves entangled in – for sure it had a start event (invasion of Poland) and an end event (surrender of Japan), and many many events in between. And indeed many many “predictor events” (or even “causal events”) beforehand.
In event processing terms, we want to predict certain events – when will Earthquake MMM start, and with what strength? – as well as states – Flight QQ123 is now in a “delayed” state. In effect, in the real world, we are concerned not just with event patterns, but also state management and processing. Passengers might not care about the events that lead to their flight being delayed, but they may certainly care about being delayed!
The EPTS Glossary specifies events as points in time as “instantaneous events”. From the EPTS perspective, the 1929 Stock Market Crash was a complex event. At the time it was a “crashing state” for the Wall Street markets – within a period of instability, local rises interspersed with sharp falls. Top-to-bottom, the period covered Sept 1929 to July 1932, and an overall 89% decline in the Dow.
So perhaps History should be formalised, as a science, using event terminology?



There is something interesting (to me) in allowing events to have duration (now I’ve also let out of the bag that I subscribe to the school of events as “instantaneous temporal boundaries of processes” a term I’ve borrowed from work in Basic Formal Ontologies).
If we disseminate the Stock Crash of the 20s, it is impossible (in my understanding) to designate this as a single event unless it is also acceptable that this is only an event in retrospect. If one observes the stock marked in real-time, there is never any “crash”-event that indicates the beginning of a depression. There are many mundane trade events, and only the subjective interpretation of these mundane events within a context can allow us to designate a set of objectively mundane events to belong to a depression or a boom.
Hence in my opinion it is wise to rethink and refine some of the nomenclature in event processing whether or not a lot of the “events” we are talking about is really processes (which have associated with them several observable changes of state – and these state changes are the simple events we are talking about).
A lot of the complex events described cannot be events in the same meaning of the word that instantaneous simple events can. The second world war, is not at any level of abstraction (or clock) an instantaneous event –as long as it is possible to discussing the decomposition of it into several events, it cannot be. It is a fiat process that has duration and comprises several events (depending on view point, beginning with the invasion of Poland and ending with some “final” capitulation later).
We are also, as a community, responsible for being more explicit in our terminology and accept the fact that “event” is an overloaded term that also is used by laypeople without necessarily carrying the same implications. It is neither required nor recommended (in my opinion) that our more formal explicit definition of an event cover every possible meaning of the word.
A similar problem can be seen with attempts at defining the term “context” in context-aware computing – as a community we need to agree internally and stop worrying about making our definition compatible with any external definition.
I think Peter Lin is also near at describing what I see as implications from my train of thought. It is necessary to separate the physical event we describe and the representation of the event as embodied in our mind, electronically captured by a sensor or similar. The physical event is instantaneous – by definition. Our representation (in any shape or form) is not necessarily instantaneous through inadequacies in detection. Acknowledging this disparity between physical truth and man-made representation will allow us to deal with this is a consistent and meaningful way rather than trying to further “jam the square peg in the round hole”…
Andreas – I guess the EPTS Glossary is but a starting point for a formal event ontology. Prof Adrian Paschke and Harold Boley listed some event ontologies in the Semantic CEP event earlier this year – time to revisit these I guess!
Cheers
To me T +/- n versus T1 to T2 is the result of the measuring instrument. All events have a start and end, even if we can’t measure it. To me +/- indicates the instrument has a margin error. Then again all instruments have a margin of error according to Heisenberg.
I actually don’t care about the semantics of CEP languages or if it supports interval semantics. Some things should be defined as a point event, while others as intervals. At the end of the day, how one chooses to model processes is dependent whether or not it works for them.
Peter – wise words. “Whatever works”.
Cheers
On a practical level, if I observe a bird landing on a table, my human eyes see it as one event. If someone takes a high speed camera and films a bird landing, it took milliseconds for the bird to land. As physicists have stated for dozens of decades now, the observer plays a crucial part. The reality is all events have an interval. It just depends on “who” the observer is. If it’s a person, a fraction of a second is probably fine. If it’s a high speed camera, probably milliseconds. If it’s a high performance sensor that monitors something, it might be sub-millisecond.
One could argue a bird landing is also a state or series of states. In the end, the grand challenge of modeling events and building event driven applications is still young. 50 years from now, we may all look back and see how little we understand today.
Peter – for sure there is going to be some lattitude for errors in observation events. And accuracy to the nth degree in timing. But there is a big difference in “event A occured at T +- n” versus “event A occured at time T1 to T2″!
Cheers
If event is a point in time, when what is “a”. If “a” refer’s to something that happened during that time , like the complex event of the stock exchange crash, then the event still has a time frame associated with it and when referencing the “crash” people refer to it as a period of time like is the renaissance period, WW, etc. I would think an event however complex it may be , has as a definite happening within a given time frame and the objects that are affected or participate in that event would be entities of the event. Events and entities may have properties that they are exclusive of each other and can exists exclusive of each other. Like a football game , with the players being the entities. States are transitional periods within an entity , which the event may influence.
Open to learning if what i think is wrong.
Riaz – yes, the football game is a good analogy. During the play it is not an “event” per se, but a state (the match is in play per some definition of play) or maybe a process. The game ends when the “referee whistle blow start” event occurs. After the game it is a “historic event”. If a football game is a complex event then it “contains” many simple events (goal scores, etc etc).
So the real question is: is it useful to have “complex events” in event processing as a superset of “historic events”. The causal events for a football game are for sure different from those that it “contains” (or are referenced by it). Likewise WW2 – from an event processing perspective the events during WW2 are important for goals and motivations of the “players”, but the really interesting thing are the preceding and predictive events…
Cheers
I’m thinking in the same terms too, but as so many clever people say that there *is* a point in having events with interval semantics I’ll continue my quest for enlightenment in this area. But as of now, we do only events that have no duration as I can’t get this interval stuff into my head properly… yet…
Good comments – thanks.
David – my suggestion is that “historic event” is actually a “state of the world”. But you are right – this can be viewed as a granularity thing. Paul Haley discussed this by questioning the definition of the “plane landing” event: is this the moment the wheels touch down, or that it is committed to not taking off again (and isn’t crashing!). If the latter, then the “wheel touch down” event is a raw event that is a composite of what is a historical event “the plane landed”. At touch-down the state is “plane is landing” … but whether the event “plane landed” occured will depend on whether the pilot shoves on the power to do a go-around!
Probably this discussion would be better on complexevents.com. I think that the idea that raw events affect state that “after the event” (i.e. state is exited) can be viewed as a “historic event” – with the latter having some duration – has legs. So “historic events” might have durations, but raw events have a discrete timestamp (which we may or may not have the necessary accuracy in our clock for!).
Cheers
Hi,
Nice warmed up discussion
I think actually that there is no need to define events that have an explicit duration.
The event WWII has a duration just because it is an aggregation of several other events (WWII start, something inbetween and then WWII end). If you aggregate that event to WWII you have a derived duration and thus an event that represents the activity.
I put an exmaple with an illustration onto my blog http://tiny.cc/9lqd6
Paul,
Brave of you to try tackling events and timing in a blog!
Basically when you start discussing the timing of events you have to discuss the clocks involved, their granularity, and how the events are timed according to the clocks in whose scopes they are observed.
For example: an event may be instantaneous according to one clock, but that same event may take a century according to another clock.
So now you have to relate the two clocks to make sense of that!
Another issue at the basis of this discussion is what an “EVENT” is.
Is WWII an event?
Historians think so.
Do we “event processors” want to live in the real historical world so that our theories have some practical application, or ….
do we just want to talk to each other?
In which case we’ll dies the worst of all possible deaths … that of being ignored.
So for me, and my new book (as well as my old one) WWII is an event something that happened).
It happened over a period of four years or so … according to my clock, and most others.
But if there is a clock (Ah yes and what’s a clock? … try another blog article please!) on a far distant planet many many light years away… then according to that clock WWII hasn’t happened yet, and when it does it may only take a nano second in that clock’s ticking.
Probably the most sensible approach to events and time is the common sense dictionary approach. In that world …. events take time to happen.
Oh yes, and that is the approach taken in many event-based technologies … Simulation for one.
And if you’re one of those that admit that events can be “composed” (another blog, how?) of other events …. like WWII is made up of many events …. then you have to have an approach to timing that is consistent with that view.
What if the member events happened at different times?
When did the composite event happen?
Ooops … some people can’t have complex events.
I am not one of those!
Thanks for being brave. But I dont understand your notion of State. Kindly explain it please.
I have for long struggled with the notion of events having intervals. The concept is pretty clear and I revisited some reading on the topic I have recently. But still, I can’t get into my head why one would like to complicate things by allowing the events themselves to have a duration. I understand that sometimes you need to talk about something that has a duration. But still, I can’t stop thinking that the thing that has duration is something else than an event. A higher level abstraction which consists of a starting event and an ending event.
As many tools use interval semantics there must be something I missed. I’ll continue my search for the answer…
History can never be formalized – it’s an interpretative endeavour. I studied social sciences for a year (besided computer science) and it was an eye-opener for me to learn that most fundamental concepts in these sciences are not well-defined and never will be (‘power’, ‘politics’, ‘influence’, etc.)
This is not a problem for academics, they’ll continue to refine their theories, you just need to be cautious and think about what is really meant by the author of a text. Various schools of thought have their own definitions and methods and they can coexist and interpret the world in their own way. They may even reach similar conclusions, meaning that neither one is really true, but that they approximate reality.
I suppose this is what will happen with event processing. In this case, both interpretations of an event (point v interval) can be useful. What we’re really looking for is a practical way of describing what happens, and formalizing it so our computers can cooperate and exchange information. And while we want standardization in our representation of events, we’ll most likely see different ‘event languages’ emerge that can represent events just as well.
Just some thoughts
Hi Paul. You are right – uncertainty is another reason to have interval semantics, but this is a different semantics. There are events that occur within an interval – like aircraft landing which occurs during an interval. However, if we are interested in a granularity of day, it can be approximated to a time point, if we are interested in a granularity of a second, it stays as an interval. The uncertain case is different — we know that the package was delivered sometimes between 10:00 and 12:00 while we were out, but we don’t know when — it did not occur in the entire interval, but it occurred within some time point, or sub-interval.
cheers,
Opher
Hi Paul. We discuss this issue in length in the “Event Processing in Action” book, chapter 11, in the section that talk about “temporal semantics of event processing”. In short — events always have durations, but in many cases, the time granularity that we are interested in a certain application is large enough so that we can approximate the duration to a time point (note that a “second” is also an interval and not a point, since time is not discrete). We are doing it since discrete modeling is typically easier from computational point of view — e.g. if we check whether an event falls inside a time window, if the event is represented by a time point there are two answers (yes/no) – if the event is represented by an interval there are 13 possible answers. Yet, in some applications it is not possible to approximate the event occurrence time to a time point and time interval has to be used, the “market crash” is indeed the famous example that David Luckham uses as an example that event occurrence time in a time point.
cheers,
Opher
Marco – I think I would concur with the “event is a non-duration spontanous happening” (or somesuch) – ie at an exact point in time…
Opher – Thanks for the reference. For sure, the accuracy of time measurement is an issue, but surely not a reason for using the interval definition of event. We can also say that an event occured at some time T between T1 and T2, because we don’t know for sure and/or cannot measure it accurately enough.
The “Market Crash” example here demonstrates what I am postulating, that these historical “events” are in fact “historical states” rather than events, and that they are bridged by some definable start and end event (e.g. market peaked and market bottomed - only discernable historically too of course!). And even then, the definition of “market peak” occuring at time T was when the DOW hit a value of X, not the period it was at value X… although these may be moot points depending on context!. However it would be good to get a useful non-historic counterexample for interval-based events.
One retort might be that all event processing is about observations, which always imply some time lag. For example, Nebula AAA exploded at time T but occured at N light years away. Or parcel Y was delivered to station W at time T1 and we observe this from the log update at time T2…
Nonetheless these events, even if states, still can have a discrete start time though. So “event occurs at Time T” may be a generalisation, but it might be sufficient, even if we add a business rule that “state stability” is generally only true at time T+n.
Another example: the “flower delivery” event might be the hand-over of flowers to the customer, signified by pressing the OK button on the computerised delivery note at time S… but to the customer, the delivery does not end until the flowers are in the vase on the table. So your process would want to wait until they have put the flowers in a vase before you call them at time S+5min to ask about service quality!
Cheers
Nice to see that you keep covering relevant topics. This is one of the most interesting ones. The implications on you choice here are rather staggering. It’s like not being able to make up your mind how a float is defined when designing a cpu. For the sake of simplicity I vote for the interval semantics. Events, in my world, happen at an exact point in time. If you need to express an interval you should perhaps use some other higher level abstraction for that. Like Situation, Pattern or something else.