Stream ¡and ¡Complex ¡Event ¡Processing ¡ Learning ¡From ¡the ¡Past ¡ Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ G. ¡Cugola ¡ ¡ ¡ ¡E. ¡Della ¡Valle ¡ ¡ ¡ ¡A. ¡Margara ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Politecnico ¡di ¡Milano ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Vrije ¡Universiteit ¡Amsterdam ¡ cugola@elet.polimi.it a.margara@vu.nl dellavalle@elet.polimi.it
Complex ¡Event ¡Processing ¡(CEP) ¡ Complex ¡Event ¡ Processing ¡ rules ¡ sources ¡ sinks ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 2 ¡
Idea ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 3 ¡
Outline ¡ • Model ¡ • Prototype ¡implementa;on ¡ • Based ¡on ¡machine ¡learning ¡ • Ini;al ¡results ¡and ¡valida;on ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 4 ¡
Event ¡Model ¡ Temperature ¡@10 ¡ ¡ (room=123, ¡value=24.5) ¡ S() ¡ S() ¡ T(25) ¡ T(27.5) ¡ T(28) ¡ T(50) ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 5 ¡
Rule ¡Languages ¡ Progress ¡ Apama ¡ NextCEP ¡ SASE+ ¡ TESLA ¡ ETALIS ¡ Oracle ¡CEP ¡ Borealis ¡ Stream ¡ TIBCO ¡Business ¡ Events ¡ IBM ¡WSBE ¡ Aurora ¡ Stream ¡Mill ¡ Cayuga ¡ Padres ¡ Esper ¡ MicrosoY ¡ Telegraph ¡ Stream ¡Insight ¡ CQ ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 6 ¡
CEP ¡Operators ¡ Window ¡ Selec;on ¡ Combina;on ¡ Define ¡ ¡ ¡FIRE: ¡ within ¡5 ¡min ¡ { ¡Smoke() ¡and ¡Temp(value>40) ¡and ¡not ¡Rain ¡(mm>2) ¡} ¡ where ¡{ ¡Temp ¡-‑> ¡Smoke ¡} ¡ Sequence ¡ Nega;on ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 7 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 8 ¡
Machine ¡Learning ¡ Var1 ¡= ¡25; ¡Var2 ¡= ¡True; ¡…….; ¡Occurred ¡= ¡YES ¡ Var1 ¡= ¡35; ¡Var2 ¡= ¡True; ¡…….; ¡Occurred ¡= ¡YES ¡ Var1 ¡= ¡12; ¡Var2 ¡= ¡False; ¡…….; ¡Occurred ¡= ¡NO ¡ Var1 ¡= ¡25; ¡Var2 ¡= ¡False; ¡…….; ¡Occurred ¡= ¡NO ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 9 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 10 ¡
Events ¡and ¡Alributes ¡Learner ¡ win D D B C D C A B CE A = no; B = no; C = yes; D = yes; Occurred = no A = yes; B = yes; C = no; D = no; Occurred = yes Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 11 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 12 ¡
Window ¡Learner ¡ win D D B C D C A B CE A = no; B = no; C = yes; D = yes; Occurred = no A = yes; B = yes; C = no; D = no; Occurred = yes Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 13 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 14 ¡
Predicates ¡Learner ¡ va ≤ 10 >10 va no ≤ 12 >12 va yes ≤ 20 >20 no yes (va > 10 and va ≤ 12) or (va > 20) Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 15 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 16 ¡
Sequences ¡Learner ¡ • For ¡each ¡occurrence ¡of ¡CE ¡ • For ¡each ¡couple ¡of ¡events ¡e1 ¡and ¡e2 ¡ • Count ¡Freq ¡(e1 ¡ à ¡e2) ¡ • Count ¡Freq ¡(e2 ¡ à ¡e1) ¡ • Seq(e1, ¡e2) ¡iff ¡ • Freq ¡(e1 ¡ à ¡e2) ¡ ≃ ¡1 ¡ • Freq ¡(e1 ¡ à ¡e2) ¡>> ¡Freq ¡(e2 ¡ à ¡e1) ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 17 ¡
iCEP ¡ Requires { } Requires { } Optional { Size of Window } Optional { Relevant Events/Attributes } Events and Attributes Learner Window Learner Produces { Events/Attributes } Produces { Size of Window } Requires { Events/Attributes, Size of Window } Optional { } Predicates Learner Produces { Predicates } Requires { Predicates, Size of Window } Requires { Predicates, Size of Window } Optional { } Optional { } Sequences Learner Negations Learner Produces { Sequences } Produces { Negations } Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 18 ¡
Nega;ons ¡Learner ¡ • For ¡each ¡occurrence ¡of ¡CE ¡ • For ¡each ¡relevant ¡event ¡e ¡ • Count ¡the ¡Freq ¡(e) ¡ • Neg ¡(e) ¡iff ¡ • Freq ¡(e) ¡ ≃ ¡0 ¡ Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 19 ¡
Evalua;on ¡ Generate evaluation history Generate training history of Generate Rule R of primitive events primitive events Detect all composite events in training history Split training history in positive and negative traces Execute iCEP to infer Rule R* Compare rules syntactically Detect all composite events in Detect all composite events in evaluation history using R* evaluation history using R Compare rules to determine recall and precision Stream ¡& ¡Complex ¡Event ¡Processing ¡-‑ ¡Automa;c ¡Rules ¡Genera;on ¡for ¡CEP ¡ 20 ¡
Recommend
More recommend