tag:blogger.com,1999:blog-7831813422886730737.post8374595265232099456..comments2023-10-08T10:44:28.524+03:00Comments on Event Processing Thinking: More on semantics and race conditionsOpher Etzionhttp://www.blogger.com/profile/10791357917675270335noreply@blogger.comBlogger8125tag:blogger.com,1999:blog-7831813422886730737.post-56613765596985467162008-10-13T20:43:00.000+02:002008-10-13T20:43:00.000+02:00So a very basic situation where we would want to u...So a very basic situation where we would want to use the time of e1 rather than e2: when e1 and e3 come from the same system, but e2 comes from a different system that is on a WAN. Not only are the occurrence times of e1 and e3 now directly comparable, but we can not be sure even that e2 will arrive before e3, which makes using detection time a risky bet at best. This scenario is not as contrived as it might seem, it can easily happen.<BR/><BR/>So it is not really a matter of interpretation but of practicality - I use e1 because it works. And there are no negative side effects, because I will never compare the times of e2 and e4 - so no one will ever notice that e4 magically occurred before one of its components did.<BR/><BR/>This reminds me of a problem that I have with the "event a followed by event b" line of thinking, but I will put that into a blog post.Hanshttps://www.blogger.com/profile/03057096345613832279noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-23804816106781224572008-10-13T16:48:00.000+02:002008-10-13T16:48:00.000+02:00Hi Hans, It is true that there are many scenarios...Hi Hans, <BR/><BR/>It is true that there are many scenarios in which the ocurrence time semantics is the only one that makes sense - otherwise one can get to wrong results. About the derived event e4 be considered as occurred when the first participant in its derivation (e1) occurred -- I am not sure when this intepretation makes sense, do you have an example? I think that it may make more sense that the ocurrence time of e4 will have an interval semantics instead of time-point semantics. There are some claims that "complex events" happen within an interval and not a time-stamp; David Luckham's favorite examples for the interval-based semantics is the economic crisis (well - he meant the previous one, but we can also talk about the current one, this is an event that has not terminated yet..)<BR/><BR/>stay well,<BR/><BR/>OpherOpher Etzionhttps://www.blogger.com/profile/17070103285719046013noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-31796484346068290692008-10-13T15:53:00.000+02:002008-10-13T15:53:00.000+02:00Hi Opher, I wanted to point out that one could use...Hi Opher, I wanted to point out that one could use occurrence time here but the semantics become muddy.<BR/><BR/>The event e4 could be stamped with the time of the first event that triggers it (e1) and not the last event (e2). <BR/><BR/>On one hand, this is problematic because e4 will seem to occur before e2 and that makes no sense. But in the greater scheme of things, maybe I don't care because I'm never comparing the times of e2 and e4.<BR/><BR/>I can report from the field that this technique is used frequently. Although to illustrate the reason, the scenario would be expanded to more than one event producer and include the problem of delayed arrival.Hanshttps://www.blogger.com/profile/03057096345613832279noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-85179922022725973022008-10-13T00:09:00.000+02:002008-10-13T00:09:00.000+02:00Exactly. So if we (perhaps EPTS) were to recommend...Exactly. So if we (perhaps EPTS) were to recommend languages (or at least that a TC work on an OASIS XML spec), there should be two levels to consider - a local policy(for EPA), and a federated policy (for EPN)<BR/><BR/>Take care,<BR/>++harveyAnonymoushttps://www.blogger.com/profile/16159576367477007568noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-31820925227009866472008-10-12T23:45:00.000+02:002008-10-12T23:45:00.000+02:00The idea is that policies can be local, thus, any ...The idea is that policies can be local, thus, any node in the EPN can have its own policies and thus the federated COTS work on the local level. Your question hints at imposing global policies in a federated scenario, this can be done using a meta-level language definition and translating it to the local implementations. Indeed a meta-language is the solution I believe in (for various other reasons as well).<BR/><BR/>Stay well,<BR/><BR/>OpherOpher Etzionhttps://www.blogger.com/profile/17070103285719046013noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-23961595284626712232008-10-12T22:49:00.000+02:002008-10-12T22:49:00.000+02:00Ok, I just wanted to make sure the scenario I desc...Ok, I just wanted to make sure the scenario I described was valid. I understand the need for a variety of policies and corresponding semantics, and COTS would be needed to keep it all straight. <BR/><BR/>One problem I am interested in is a meta-problem where a variety of organizations are in an EPN, most likely using a variety of COTS. It is still desirable to have a view of the entire network, even though the implementation is fragmented [meaining there is no single "platform"]<BR/><BR/>So in this case, maybe there could be some sort of "EPN-Policy-xml" standard (perhaps OASIS) where the various COTS components could ingest the policy and one COTS (owned by some agreed governing body) could be the steward for the top level EPN policy.<BR/><BR/>I think this is where you are going. In this case, we need to think about possible specialization or extension of policy in each EPA, yes?<BR/><BR/>This is a good topic. And starting with a simple case is good.Anonymoushttps://www.blogger.com/profile/16159576367477007568noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-85327599979641677502008-10-12T21:35:00.000+02:002008-10-12T21:35:00.000+02:00Hi Harvey, Sorry if I confused you, I have such a...Hi Harvey, <BR/><BR/>Sorry if I confused you, I have such a tendancy to confuse people sometimes...<BR/><BR/>As for your question - let's analyze the option that you propose - what you propose is :<BR/><BR/>1. chose occurrence time semantics.<BR/>2. set occurrence time (e3) = 4 -- setting the occurrence time of a derived event to be its detection time. Thus you prefer the interpretation that I have phrased as:<BR/>"In the derived event case the occurrence time = detection time, since this event is not real event but a virtual one, thus, its source is the EPA that creates it, and it occurred when created. In our case it means that occurence-time (e4) = 4". <BR/><BR/>This is a totally valid interpretation, however, note that this is not the ONLY interpretation. The rationale behind the interpretation you have chosen is since e3 is a "virtual event", it occurred when it is created by the system, regardless of the participant events. <BR/><BR/>However, one can claim that the derived event occurred when the last event that completed the pattern occurred, and thus according to that interpretation <BR/>occurence time (e3) = occurrence time (e2) = 2 <BR/><BR/>When we cannot say that there is a unique semantically valid interpretation we can either decide arbitrarily on one of them (and then if the customer needs to have the other interpretation -- then tough luck... need to hack around it), or let the customer chose the valid interpretation using policies, which is what I propose. I'll write more about policies for semantic tuning. <BR/><BR/>Hope I did not confuse you even more --<BR/><BR/>cheers,<BR/><BR/>OpherOpher Etzionhttps://www.blogger.com/profile/17070103285719046013noreply@blogger.comtag:blogger.com,1999:blog-7831813422886730737.post-62153096649470206872008-10-12T20:56:00.000+02:002008-10-12T20:56:00.000+02:00Apologies, but I am a bit confused. First, I under...Apologies, but I am a bit confused. <BR/><BR/>First, I understand the need to be flexible in semantics, and I am a huge fan of using COTS to keep an overall implementation fairly standards based and consistent.<BR/><BR/>However, in the case you examined --<BR/>semantics of the second "temporal sequence" (e3, e4):<BR/><BR/>I do not understand why we do not have the option of considering the "derived event" [e4] (from the perspective of Pattern Detector (e1, e2), to be viewed as a "raw event" from the perspective of Pattern Detector (e3, e4). If so then we would have a 'occurrence time' of 4 which is one after e2 (last in to trigger detection). Then it would be detected at 5 in the second pattern detector, and e5 is generated at 6.<BR/><BR/>Or am I missing something?<BR/><BR/>In any case, this is making me think :-)Anonymoushttps://www.blogger.com/profile/16159576367477007568noreply@blogger.com