Results on Out-of-Order Event Processing<br />Paul Fodor, Darko Anicic, Sebastian Rudolph<br />PADL 2011, Austin, TX<br />...
Complex Event Processing<br />How to capture events from event sources; and transform, combine, interpret and consume them...
Sensor networks
Real-Time Semantic Web (click stream analysis, processing updates from social Web apps, on-line advertising)</li></li></ul...
Reasoningover streaming events w.r.t contextual (background) knowledge
Operators to express complex relationships between events, matching certain temporal, relational or causal conditions
An inference system for Complex Event Processing
Data-driven complex event processing
Combines detection of complex events and reasoning over states
ETALIS is implemented in Prolog and runs on XSB, YAP, SWI, and SICStus</li></li></ul><li>ETALIS: Language Syntax<br />ETAL...
 t(i) - denote terms;
 t    - is a term of type boolean;
 q   - is a nonnegative rational number;
 BIN  - is one of the binary operators: SEQ, AND, PAR, OR, EQUALS, MEETS, STARTS, or FINISHES.</li></ul>Event rule is defi...
ETALIS: Interval-based Semantics<br />
Upcoming SlideShare
Loading in …5
×

Etalis presentation padl2011

683 views

Published on

Results on Out-of-Order Event Processing,
Paul Fodor, Darko Anicic, Sebastian Rudolph,
PADL 2011, Austin, TX

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
683
On SlideShare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
16
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Etalis presentation padl2011

  1. 1. Results on Out-of-Order Event Processing<br />Paul Fodor, Darko Anicic, Sebastian Rudolph<br />PADL 2011, Austin, TX<br />AIFB<br />
  2. 2. Complex Event Processing<br />How to capture events from event sources; and transform, combine, interpret and consume them?<br />Figure source: OpherEtzion & TaliYatzkar, IBM Research<br /><ul><li>Financial services (high frequency trading)
  3. 3. Sensor networks
  4. 4. Real-Time Semantic Web (click stream analysis, processing updates from social Web apps, on-line advertising)</li></li></ul><li> ETALIS: Complex Event Processing & Stream Reasoning<br /><ul><li>Extensible formal semantics
  5. 5. Reasoningover streaming events w.r.t contextual (background) knowledge
  6. 6. Operators to express complex relationships between events, matching certain temporal, relational or causal conditions
  7. 7. An inference system for Complex Event Processing
  8. 8. Data-driven complex event processing
  9. 9. Combines detection of complex events and reasoning over states
  10. 10. ETALIS is implemented in Prolog and runs on XSB, YAP, SWI, and SICStus</li></li></ul><li>ETALIS: Language Syntax<br />ETALIS Language for Events is formally defined by:<br /><ul><li>pr - a predicate name with arity n;
  11. 11. t(i) - denote terms;
  12. 12. t - is a term of type boolean;
  13. 13. q - is a nonnegative rational number;
  14. 14. BIN - is one of the binary operators: SEQ, AND, PAR, OR, EQUALS, MEETS, STARTS, or FINISHES.</li></ul>Event rule is defined as a formula of the following shape:<br />where p is an event pattern containing all variables occurring in<br />
  15. 15. ETALIS: Interval-based Semantics<br />
  16. 16. ETALIS: Declarative Semantics<br />
  17. 17. ETALIS: Operational Semantics<br />Complex pattern (not event-driven rule)<br />a ⊗ b ⊗ c -> ce1<br />((a ⊗ b) ⊗ c) -> ce1<br />a ⊗ b -> ie1<br />ie1 ⊗ c -> ce1<br />Binarization<br />a :- while_do(a,1).<br />a(1) :- ins(goal(b,a,ie1)). <br />b :- while_do(b,1).<br />b(1) :- goal(b,a,ie1) ⊗ del(goal(b,a,ie1)) ⊗ ie1.<br />ie1 :- while_do(ie1,1).<br />ie1(1) :- ins(goal(c,ie1,ce1)).<br />c :- while_do(c,1).<br />c(1) :- goal(c,ie1,ce1) ⊗ del(goal(c,ie1,ce1)) ⊗ ce1.<br />ce1 :- action1.<br />Event-driven backward chaining rules<br />
  18. 18.
  19. 19. Incremental Detection of Composed Events – Compiled rules in Prolog<br />Complex pattern (not event-driven rule)<br />a ⊗ b ⊗ c -> ce1<br />((a ⊗ b) ⊗ c) -> ce1<br />a ⊗ b -> ie1<br />ie1 ⊗ c -> ce1<br />Binarization<br />a :- while_do(a,1).<br />a(1) :- ins(goal(b,a,ie1)). <br />b :- while_do(b,1).<br />b(1) :- goal(b,a,ie1) ⊗ del(goal(b,a,ie1)) ⊗ ie1.<br />ie1 :- while_do(ie1,1).<br />ie1(1) :- ins(goal(c,ie1,ce1)).<br />c :- while_do(c,1).<br />c(1) :- goal(c,ie1,ce1) ⊗ del(goal(c,ie1,ce1)) ⊗ ce1.<br />ce1 :- action1.<br />Event-driven backward chaining rules<br />
  20. 20. Out-of-order Motivating Example<br />Hedge fund with independent cooperating agents<br />events arrive in an out-of-order<br />Received vs. real order of events<br />missing complex events due to an out-of-order stream, e.g., ce1<br />false positive complex events due to out-of-order events, e.g., ce2<br />
  21. 21. Inference Rule Transformation for Out-of-Order Events<br />
  22. 22. Pruning Outdated Events- Pushed Constraints -<br />
  23. 23. Pruning outdated events- Pattern-Based Garbage Collection -<br />GC via alarms<br />partial composed events are saved into memory with time stamps <br />the rules are labeled with a rule tag X<br />For a given rule the partial goals can be pruned by alarms based on the time stamps<br />pruning for:<br />
  24. 24. Evaluation Tests I<br />Stock market patterns<br />
  25. 25. Evaluation Tests II<br />
  26. 26. Evaluation Tests III<br />
  27. 27. Thank you! Questions…<br />ETALIS<br />Open source: <br />http://code.google.com/p/etalis<br />

×