An Approach for Data-Driven and Logic-Based Complex Event Processing 3rd ACM International Conference on Distributed Event-Based Systems (DEBS 2009), Nashville, USA 06-09.July 2009 Darko Anicic Paul Fodor Roland Stühmer Nenad Stojanovic WIR FORSCHEN FÜR SIE
Motivation Role of Logic in Event Processing: Formal logical semantics to ground well defined behaviour of EP; Further on, to control reactive behaviour (actions/reactions) triggered by detected events; Problem: State-of-the-art logic-based EP is query driven (not event-driven) ETALIS approach is logic-based and event-driven! Reasoning over time, space, and context in EP; Detection of complex events, states, and situations of interest; Pattern rule management: consistency checking, minimal set of rules, correctness.
ETALIS Algorithm 1. Complex pattern (not event-driven rule) a ⊗ b ⊗ c -> ce1 2. Decoupling ((a ⊗ b) ⊗ c) -> ce1 a ⊗ b -> ie1 ie1 ⊗ c -> ce1 3. Binarization a :- while_do(a,1). a(1) :- ins(goal(b,a,ie1)). b :- while_do(b,1). b(1) :- goal(b,a,ie1) ⊗ del(goal(b,a,ie1)) ⊗ ie1. ie1 :- while_do(ie1,1). ie1(1) :- ins(goal(c,ie1,ce1)). c :- while_do(c,1). c(1) :- goal(c,ie1,ce1) ⊗ del(goal(c,ie1,ce1)) ⊗ ce1. ce1 :- action1. 4. Event-driven backward chaining rules
ETALIS Update Algorithm a ⊗ b ⊗ c -> ce1 a :- while_do(a,1). a(1) :- ins(goal(b,a,ie1)). b :- while_do(b,1). b(1) :- goal(b,a,ie1) ⊗ del(goal(b,a,ie1)) ⊗ ie1. ie1 :- while_do(ie1,1). ie1(1) :- ins(goal(c,ie1,ce1)). c :- while_do(c,1). c(1) :- goal(c,ie1,ce1) ⊗ del(goal(c,ie1,ce1)) ⊗ ce1. ce1 :- action1.
ETALIS Update Algorithm a ⊗ b ⊗ c -> ce1 b ⊗ c ⊗ d -> ce2 c ⊗ d -> ce3 a :- while_do(a,1). a(1) :- ins(goal(b,a,ie1)). b :- while_do(b,1). b(1) :- goal(b,a,ie1) * del(goal(b,a,ie1)) * ie1. b(2) :- ins(goal(c,b,ie2)). c :- while_do(c,1). c(1) :- goal(c,ie1,ce1) * del(goal(c,ie1,ce1)) * ce1. c(2) :- goal(c,b,ie2) * del(goal(c,b,ie2)) * ie2. c(3) :- ins(goal(d,c,ce3)). d :- while_do(d,1). d(1) :- goal(d,ie2,ce2) * del(goal(d,ie2,ce2)) * ce2. d(2) :- goal(d,c,ce3) * del(goal(d,c,ce3)) * ce3. ie1 :- while_do(ie1,1). ie1(1) :- ins(goal(c,ie1,ce1)). ie2 :- while_do(ie2,1). ie2(1) :- ins(goal(d,ie2,ce2)).
Representation of Binary Events 1. Complex pattern (not event-driven rule) a ⊗ b ⊗ c -> ce1 2. Decoupling ((a ⊗ b) ⊗ c) -> ce1 a ⊗ b -> ie1 ie1 ⊗ c -> ce1 3. Binarization 4. Representation of binary events ce1 ie1 ⊗ ⊗ a b c ie1
ETALIS Candelas Event program: a ⊗ b ⊗ c -> ce1 b ⊗ c ⊗ d -> ce2 c ⊗ d -> ce3 Action/Workflows triggers: e1 -> action1. e1 or e2 -> workflow1. e3 -> workflow2. a b c d ie1 ⊗ ie2 ⊗ ⊗ ce1 ce2 ⊗ ce3 ⊗
Advantages of ETALIS Possibilities to discover a desired state in the process of pattern detection. Standard eventoperators supported:
sequence
parallel composition
conjunction
negation
disjunction
window operators etc.
New operators easy to develop. Different consumption policies of events supported. Reasoning and querying over whole event space. ⊗ ⊗ ⊗ Aggregation functions supported:
count
sum
min
max
average
⊗ ⊗ Handling out-of-order events supported.
Thank you! ETALIS (Event-driven Transaction Logic Inference System) Open source: http://code.google.com/p/etalis See also our Live DEMO at: http://krake26.perimeter.fzi.de:8080/etalis darko.anicic@fzi.de pfodor@cs.sunysb.edu roland.stuehmer@fzi.de nenad.stojanovic@fzi.de
Remark: The presentation contains an animation whic more
Remark: The presentation contains an animation which cannot be seen directly from slideshare. To see the animation, please download the presentation first.
Abstract — We present a novel and powerful logical framework for Complex Event Processing (CEP). CEP deals with finding composed events, and has useful applications in areas ranging from agile business and enterprise processes management, financial market applications to active Web and service oriented computation.
Currently many systems for processing events have ad-hoc semantics, usually with an unexpected behavior. We believe formal logical semantics is an important requirement for event-driven reactive systems. On the other hand, many logic-based approaches for CEP (based on formal semantics) fail, due to their inability to compute complex patterns in the event-driven fashion. Our approach enables both logic-based and event-driven complex pattern detection. Moreover, the proposed event-driven backward chaining approach allows for very efficient deductive reasoning of complex events and situations.
We have implemented the logic-based framework for Complex Event Processing. The prototype is called ETALIS, which stands for Event-driven Transaction Logic Inference System. See our demo: http://krake26.perimeter.fzi.de:8080/etalis
or access the code:
http://code.google.com/p/etalis less
0 comments
Post a comment