SlideShare une entreprise Scribd logo
1  sur  38
Learning From the Past:
Automated Rule Generation for CEP
G. Cugola
Politecnico
Milano
A. Margara
USI
Lugano
G. Tamburrelli
USI
Lugano
Complex Event Processing (CEP)
Complex Event
Processing
Complex Event
Processing
sources sinksrules
Idea
The Learning Problem
• Given a composite event CE
• Given a set of historical traces
– Positive traces: CE occurs at the end of the trace
– Negative traces: CE does not occur in the trace
• Derive a rule that describes the causal relation
between:
– A pattern of primitive events
– The occurrence of CE
Event Model
Temperature @10
(room=123, value=24.5)
Rule Languages
Oracle CEPOracle CEP
Microsoft
Stream Insight
Microsoft
Stream Insight
StreamStream
CayugaCayuga
IBM WSBEIBM WSBE
Stream MillStream Mill
AuroraAurora
BorealisBorealis
SASE+SASE+
PadresPadres
EsperEsper
Telegraph
CQ
Telegraph
CQ
NextCEPNextCEP
TESLATESLA
ETALISETALIS
TIBCO Business
Events
TIBCO Business
Events
Progress
Apama
Progress
Apama
CEP Operators
Define FIRE:
within 5 min
{ Smoke(area = $a) and Temp(value>40, area = $a)
and not Rain (mm>2, area = $a) }
where { Temp -> Smoke }
SelectionSelectionCombinationCombination
NegationNegation SequenceSequence
WindowWindow
ParameterParameter
AggregatesAggregates
Solution Strategy
• Modular architecture
– Ad-hoc learning components for each operator
– Easy to modify/replace a component
• Possibly with hints from domain experts
– Easy to add new types of operators
ParameterParameterSelectionSelection
CombinationCombination
NegationNegation
SequenceSequence
WindowWindow
AggregatesAggregates
Learning Algorithm
• Key idea:
– Each operator defines a set of constraints
• E.g., the selection operator defines:
– Which event types must appear
– Which attribute values they must include
– A positive trace satisfies all the constraints in a
rule (for each operator)
– We can learn the constraints in a rule by
intersecting the constraints satisfied in each
positive trace
Learning Algorithm
• Rule: A and B must occur
ZBA CE
Y XA B CE
X
YA B CE
1
2
1
3
A
B
1
2 3
ZX
YZYW W
K K
Learning Algorithm
• Rule: A and B must occur
ZBA CE
Y XA B CE
X
YA B CE
1
2
1
3
A
B
1
2 3
X
YZYW W
K K
Z
Z
• What we learn can be a superset of the actual
constraints
• Limited impact in practice
Machine Learning
• Our initial prototype relied on supervised
machine learning algorithms and tools
• Lessons learned
– Some operators (e.g., parameters) were difficult to
encode
• Need to explicitly allocate one variable for each possible
constraint
• Space explosion
– (Significantly) higher execution time
– Lower precision
• Intersection prevents this!
iCEP
• One module for each operator
• Filtering architecture
– Positive traces are “cleaned” at each step
– Pruning “unrequired” elements
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Events and Attributes Learner
• Assumes the size of the evaluation window is
known
• Extracts the set of relevant event types and
attributes
– By intersecting the types and attributes that
appear in all positive traces
• Only selected types and attributes are
considered in the following modules
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Window Learner
• Assumes that the set of relevant types is
known
• Detects the smallest window that contains
such types in all positive traces
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Events and Window Learners
• In absence of domain knowledge about event types and
window …
• … Events and Win learners work together iteratively
– Increasing the size of the window
– Computing the set of relevant types at each step
– The process stops when the number of relevant types stabilizes
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Constraints and Aggregates Learners
• Extract constraints on the value of attributes
– Of individual events
– Of aggregations
• E.g., Maximum, Average value
• Users can specify a set of aggregation functions
Constraints and Aggregates Learners
1. Equality constraints
– Learn by intersection
• The same value appears in all positive traces
1. Inequality constraints (≠,<,>) for numeric
attributes
– Unknown relations / operators
• Min and Max values appearing in all positive traces
– Known relations / operators (from users)
• Learning algorithm base on Support Vector Machines
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Parameters and Sequences Learners
• Learn by intersection
– Parameters constraints satisfied by all positive
traces
• Both equality and inequality relations
– Ordering constraints satisfied by all positive traces
iCEP
Window
(Win) Learner
Events/Attributes
(Ev) Learner
Constraints
(Constr) Learner
Aggregates
(Aggr) Learner
Parameters
(Param) Learner
Sequences (Seq)
Learner
Negations (Neg)
Learner
Negative Traces
PositiveTraces
Negation Learner
• Only component that looks into negative
traces
– Selects traces that satisfy all the constraints
identified so far
– Extracts common elements in such traces
• These elements may constribute to prevent the
occurrence of the composite event
• They will be negated in the derived rule
Evaluation
• Synthetic workloads
• Real data
Synthetic Workload
Synthetic Workload
Number of Event Types 25
Distribution of Types Uniform
Number of Attributes per Event 3
Number of Constraints per Event 3
Average Window Size 10s
Average Distance Between Events 1s
Number of Parameter Constraints 0
Number of Sequence Constraints 0
Number of Aggregate Constraints 0
Number of Negation Constraints 0
Number of Positive Traces 1000
Recall Precision
0.98 0.94
Number of Events/Constraints
Window Size
Introducing Additional Constraints
Sequences Parameters
Aggregates
Presence of Negations
• We learn negation by intersection
– Looking at “common” elements in negative traces
• Multiple negations
– One negated element is sufficient for preventing the
occurrence of CE
– They are not possible to detect by intersection
Real Data
• Traffic monitoring system for public
transportation
• Rules to detect: delays from multiple bus lines
in a small time window
• Noisy data
– Not only exceptional events (delays) …
– … but also continuous operational information
from each and every bus line
Real Data
• Results in terms of precision and recall are
confimed
• Derived rules are noisy
– Include frequent events present in every trace
• A cleaning step could improve the quality of
rules
Conclusions - Lessons Learned
• First approach to automated rule generation
• Large solution space
– Many parameters to consider
• Difficult to encode in traditional machine learning
algorithms
• Modular approach
– Improved performance
– Improved accuracy
– Easier to add/replace single modules
• Integration with hints from domain experts
Future Work
• Address open problems
– Multiple negations
– Composite events that could be triggered by
multiple patterns (disjunction)
• Integrate additional operators
– E.g., detection of trends
• Develop techniques for rule cleaning
– Remove “noise”
www.inf.usi.ch/postdoc/margara

Contenu connexe

Tendances

Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingVasia Kalavri
 
Continuous Processing with Apache Flink - Strata London 2016
Continuous Processing with Apache Flink - Strata London 2016Continuous Processing with Apache Flink - Strata London 2016
Continuous Processing with Apache Flink - Strata London 2016Stephan Ewen
 
Flink Streaming Hadoop Summit San Jose
Flink Streaming Hadoop Summit San JoseFlink Streaming Hadoop Summit San Jose
Flink Streaming Hadoop Summit San JoseKostas Tzoumas
 
Debunking Common Myths in Stream Processing
Debunking Common Myths in Stream ProcessingDebunking Common Myths in Stream Processing
Debunking Common Myths in Stream ProcessingKostas Tzoumas
 
The Future of Real-Time in Spark
The Future of Real-Time in SparkThe Future of Real-Time in Spark
The Future of Real-Time in SparkReynold Xin
 
First Flink Bay Area meetup
First Flink Bay Area meetupFirst Flink Bay Area meetup
First Flink Bay Area meetupKostas Tzoumas
 
Machine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupMachine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupTill Rohrmann
 
An Introduction to Prometheus
An Introduction to PrometheusAn Introduction to Prometheus
An Introduction to PrometheusEvgeny Shmarnev
 
Predictive Maintenance with Deep Learning and Apache Flink
Predictive Maintenance with Deep Learning and Apache FlinkPredictive Maintenance with Deep Learning and Apache Flink
Predictive Maintenance with Deep Learning and Apache FlinkDongwon Kim
 
Don't Cross The Streams - Data Streaming And Apache Flink
Don't Cross The Streams  - Data Streaming And Apache FlinkDon't Cross The Streams  - Data Streaming And Apache Flink
Don't Cross The Streams - Data Streaming And Apache FlinkJohn Gorman (BSc, CISSP)
 
Introduction to near real time computing
Introduction to near real time computingIntroduction to near real time computing
Introduction to near real time computingTao Li
 
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward
 
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapKostas Tzoumas
 
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)ucelebi
 
Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming Flink Forward
 
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School Flink Forward
 
Real-time driving score service using Flink
Real-time driving score service using FlinkReal-time driving score service using Flink
Real-time driving score service using FlinkDongwon Kim
 
Efficient monitoring and alerting
Efficient monitoring and alertingEfficient monitoring and alerting
Efficient monitoring and alertingTobias Schmidt
 
Apache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World LondonApache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World LondonStephan Ewen
 

Tendances (20)

Self-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processingSelf-managed and automatically reconfigurable stream processing
Self-managed and automatically reconfigurable stream processing
 
Continuous Processing with Apache Flink - Strata London 2016
Continuous Processing with Apache Flink - Strata London 2016Continuous Processing with Apache Flink - Strata London 2016
Continuous Processing with Apache Flink - Strata London 2016
 
Flink Streaming Hadoop Summit San Jose
Flink Streaming Hadoop Summit San JoseFlink Streaming Hadoop Summit San Jose
Flink Streaming Hadoop Summit San Jose
 
Debunking Common Myths in Stream Processing
Debunking Common Myths in Stream ProcessingDebunking Common Myths in Stream Processing
Debunking Common Myths in Stream Processing
 
The Future of Real-Time in Spark
The Future of Real-Time in SparkThe Future of Real-Time in Spark
The Future of Real-Time in Spark
 
First Flink Bay Area meetup
First Flink Bay Area meetupFirst Flink Bay Area meetup
First Flink Bay Area meetup
 
Machine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning GroupMachine Learning with Apache Flink at Stockholm Machine Learning Group
Machine Learning with Apache Flink at Stockholm Machine Learning Group
 
An Introduction to Prometheus
An Introduction to PrometheusAn Introduction to Prometheus
An Introduction to Prometheus
 
Predictive Maintenance with Deep Learning and Apache Flink
Predictive Maintenance with Deep Learning and Apache FlinkPredictive Maintenance with Deep Learning and Apache Flink
Predictive Maintenance with Deep Learning and Apache Flink
 
Don't Cross The Streams - Data Streaming And Apache Flink
Don't Cross The Streams  - Data Streaming And Apache FlinkDon't Cross The Streams  - Data Streaming And Apache Flink
Don't Cross The Streams - Data Streaming And Apache Flink
 
Introduction to near real time computing
Introduction to near real time computingIntroduction to near real time computing
Introduction to near real time computing
 
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
Flink Forward Berlin 2017: Dongwon Kim - Predictive Maintenance with Apache F...
 
Flink internals web
Flink internals web Flink internals web
Flink internals web
 
Apache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmapApache Flink: API, runtime, and project roadmap
Apache Flink: API, runtime, and project roadmap
 
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
Unified Stream & Batch Processing with Apache Flink (Hadoop Summit Dublin 2016)
 
Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming Mikio Braun – Data flow vs. procedural programming
Mikio Braun – Data flow vs. procedural programming
 
Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School Vasia Kalavri – Training: Gelly School
Vasia Kalavri – Training: Gelly School
 
Real-time driving score service using Flink
Real-time driving score service using FlinkReal-time driving score service using Flink
Real-time driving score service using Flink
 
Efficient monitoring and alerting
Efficient monitoring and alertingEfficient monitoring and alerting
Efficient monitoring and alerting
 
Apache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World LondonApache Flink@ Strata & Hadoop World London
Apache Flink@ Strata & Hadoop World London
 

Similaire à Learning From the Past: Automated Rule Generation for CEP - DEBS 2014

Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Lionel Briand
 
Semantic Complex Event Processing
Semantic Complex Event ProcessingSemantic Complex Event Processing
Semantic Complex Event ProcessingAdrian Paschke
 
Deep time-to-failure: predicting failures, churns and customer lifetime with ...
Deep time-to-failure: predicting failures, churns and customer lifetime with ...Deep time-to-failure: predicting failures, churns and customer lifetime with ...
Deep time-to-failure: predicting failures, churns and customer lifetime with ...Data Science Milan
 
Design and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemDesign and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemErdi Olmezogullari
 
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...Marlon Dumas
 
Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Anatoly Levenchuk
 
Master Thesis Presentation
Master Thesis PresentationMaster Thesis Presentation
Master Thesis PresentationMohamed Sobh
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Lionel Briand
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year JourneyLionel Briand
 
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systemsJaap van Ekris
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance TestingMark Price
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examplesPeter Lawrey
 
Combinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learningCombinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learning민재 정
 
Nafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingNafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingSDTools
 
Testing Machine Learning-enabled Systems: A Personal Perspective
Testing Machine Learning-enabled Systems: A Personal PerspectiveTesting Machine Learning-enabled Systems: A Personal Perspective
Testing Machine Learning-enabled Systems: A Personal PerspectiveLionel Briand
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systemeSDTools
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedOmid Vahdaty
 

Similaire à Learning From the Past: Automated Rule Generation for CEP - DEBS 2014 (20)

Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
Testing Dynamic Behavior in Executable Software Models - Making Cyber-physica...
 
Semantic Complex Event Processing
Semantic Complex Event ProcessingSemantic Complex Event Processing
Semantic Complex Event Processing
 
Deep time-to-failure: predicting failures, churns and customer lifetime with ...
Deep time-to-failure: predicting failures, churns and customer lifetime with ...Deep time-to-failure: predicting failures, churns and customer lifetime with ...
Deep time-to-failure: predicting failures, churns and customer lifetime with ...
 
Design and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management SystemDesign and Implementation of A Data Stream Management System
Design and Implementation of A Data Stream Management System
 
Reaction RuleML 1.0
Reaction RuleML 1.0Reaction RuleML 1.0
Reaction RuleML 1.0
 
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...
Mine Your Simulation Model: Automated Discovery of Business Process Simulatio...
 
Stream Processing Overview
Stream Processing OverviewStream Processing Overview
Stream Processing Overview
 
Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling Ali Mousavi -- Event modeling
Ali Mousavi -- Event modeling
 
Master Thesis Presentation
Master Thesis PresentationMaster Thesis Presentation
Master Thesis Presentation
 
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...Automated and Scalable Solutions for Software Testing: The Essential Role of ...
Automated and Scalable Solutions for Software Testing: The Essential Role of ...
 
AI in SE: A 25-year Journey
AI in SE: A 25-year JourneyAI in SE: A 25-year Journey
AI in SE: A 25-year Journey
 
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
2010-03-31 - VU Amsterdam - Experiences testing safety critical systems
 
Continuous Performance Testing
Continuous Performance TestingContinuous Performance Testing
Continuous Performance Testing
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
 
Combinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learningCombinatorial optimization and deep reinforcement learning
Combinatorial optimization and deep reinforcement learning
 
Nafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modelingNafems15 Technical meeting on system modeling
Nafems15 Technical meeting on system modeling
 
Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...Introduction to Genetic algorithm and its significance in VLSI design and aut...
Introduction to Genetic algorithm and its significance in VLSI design and aut...
 
Testing Machine Learning-enabled Systems: A Personal Perspective
Testing Machine Learning-enabled Systems: A Personal PerspectiveTesting Machine Learning-enabled Systems: A Personal Perspective
Testing Machine Learning-enabled Systems: A Personal Perspective
 
Nafems15 systeme
Nafems15 systemeNafems15 systeme
Nafems15 systeme
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
 

Dernier

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Modelsaagamshah0812
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsAndolasoft Inc
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...OnePlan Solutions
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comFatema Valibhai
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...OnePlan Solutions
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsJhone kinadey
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 

Dernier (20)

CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 
Unlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language ModelsUnlocking the Future of AI Agents with Large Language Models
Unlocking the Future of AI Agents with Large Language Models
 
How To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.jsHow To Use Server-Side Rendering with Nuxt.js
How To Use Server-Side Rendering with Nuxt.js
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
Tech Tuesday-Harness the Power of Effective Resource Planning with OnePlan’s ...
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
HR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.comHR Software Buyers Guide in 2024 - HRSoftware.com
HR Software Buyers Guide in 2024 - HRSoftware.com
 
Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...Advancing Engineering with AI through the Next Generation of Strategic Projec...
Advancing Engineering with AI through the Next Generation of Strategic Projec...
 
Right Money Management App For Your Financial Goals
Right Money Management App For Your Financial GoalsRight Money Management App For Your Financial Goals
Right Money Management App For Your Financial Goals
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 

Learning From the Past: Automated Rule Generation for CEP - DEBS 2014

  • 1. Learning From the Past: Automated Rule Generation for CEP G. Cugola Politecnico Milano A. Margara USI Lugano G. Tamburrelli USI Lugano
  • 2. Complex Event Processing (CEP) Complex Event Processing Complex Event Processing sources sinksrules
  • 4. The Learning Problem • Given a composite event CE • Given a set of historical traces – Positive traces: CE occurs at the end of the trace – Negative traces: CE does not occur in the trace • Derive a rule that describes the causal relation between: – A pattern of primitive events – The occurrence of CE
  • 6. Rule Languages Oracle CEPOracle CEP Microsoft Stream Insight Microsoft Stream Insight StreamStream CayugaCayuga IBM WSBEIBM WSBE Stream MillStream Mill AuroraAurora BorealisBorealis SASE+SASE+ PadresPadres EsperEsper Telegraph CQ Telegraph CQ NextCEPNextCEP TESLATESLA ETALISETALIS TIBCO Business Events TIBCO Business Events Progress Apama Progress Apama
  • 7. CEP Operators Define FIRE: within 5 min { Smoke(area = $a) and Temp(value>40, area = $a) and not Rain (mm>2, area = $a) } where { Temp -> Smoke } SelectionSelectionCombinationCombination NegationNegation SequenceSequence WindowWindow ParameterParameter AggregatesAggregates
  • 8. Solution Strategy • Modular architecture – Ad-hoc learning components for each operator – Easy to modify/replace a component • Possibly with hints from domain experts – Easy to add new types of operators ParameterParameterSelectionSelection CombinationCombination NegationNegation SequenceSequence WindowWindow AggregatesAggregates
  • 9. Learning Algorithm • Key idea: – Each operator defines a set of constraints • E.g., the selection operator defines: – Which event types must appear – Which attribute values they must include – A positive trace satisfies all the constraints in a rule (for each operator) – We can learn the constraints in a rule by intersecting the constraints satisfied in each positive trace
  • 10. Learning Algorithm • Rule: A and B must occur ZBA CE Y XA B CE X YA B CE 1 2 1 3 A B 1 2 3 ZX YZYW W K K
  • 11. Learning Algorithm • Rule: A and B must occur ZBA CE Y XA B CE X YA B CE 1 2 1 3 A B 1 2 3 X YZYW W K K Z Z • What we learn can be a superset of the actual constraints • Limited impact in practice
  • 12. Machine Learning • Our initial prototype relied on supervised machine learning algorithms and tools • Lessons learned – Some operators (e.g., parameters) were difficult to encode • Need to explicitly allocate one variable for each possible constraint • Space explosion – (Significantly) higher execution time – Lower precision • Intersection prevents this!
  • 13. iCEP • One module for each operator • Filtering architecture – Positive traces are “cleaned” at each step – Pruning “unrequired” elements Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 14. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 15. Events and Attributes Learner • Assumes the size of the evaluation window is known • Extracts the set of relevant event types and attributes – By intersecting the types and attributes that appear in all positive traces • Only selected types and attributes are considered in the following modules
  • 16. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 17. Window Learner • Assumes that the set of relevant types is known • Detects the smallest window that contains such types in all positive traces
  • 18. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 19. Events and Window Learners • In absence of domain knowledge about event types and window … • … Events and Win learners work together iteratively – Increasing the size of the window – Computing the set of relevant types at each step – The process stops when the number of relevant types stabilizes
  • 20. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 21. Constraints and Aggregates Learners • Extract constraints on the value of attributes – Of individual events – Of aggregations • E.g., Maximum, Average value • Users can specify a set of aggregation functions
  • 22. Constraints and Aggregates Learners 1. Equality constraints – Learn by intersection • The same value appears in all positive traces 1. Inequality constraints (≠,<,>) for numeric attributes – Unknown relations / operators • Min and Max values appearing in all positive traces – Known relations / operators (from users) • Learning algorithm base on Support Vector Machines
  • 23. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 24. Parameters and Sequences Learners • Learn by intersection – Parameters constraints satisfied by all positive traces • Both equality and inequality relations – Ordering constraints satisfied by all positive traces
  • 25. iCEP Window (Win) Learner Events/Attributes (Ev) Learner Constraints (Constr) Learner Aggregates (Aggr) Learner Parameters (Param) Learner Sequences (Seq) Learner Negations (Neg) Learner Negative Traces PositiveTraces
  • 26. Negation Learner • Only component that looks into negative traces – Selects traces that satisfy all the constraints identified so far – Extracts common elements in such traces • These elements may constribute to prevent the occurrence of the composite event • They will be negated in the derived rule
  • 29. Synthetic Workload Number of Event Types 25 Distribution of Types Uniform Number of Attributes per Event 3 Number of Constraints per Event 3 Average Window Size 10s Average Distance Between Events 1s Number of Parameter Constraints 0 Number of Sequence Constraints 0 Number of Aggregate Constraints 0 Number of Negation Constraints 0 Number of Positive Traces 1000 Recall Precision 0.98 0.94
  • 33. Presence of Negations • We learn negation by intersection – Looking at “common” elements in negative traces • Multiple negations – One negated element is sufficient for preventing the occurrence of CE – They are not possible to detect by intersection
  • 34. Real Data • Traffic monitoring system for public transportation • Rules to detect: delays from multiple bus lines in a small time window • Noisy data – Not only exceptional events (delays) … – … but also continuous operational information from each and every bus line
  • 35. Real Data • Results in terms of precision and recall are confimed • Derived rules are noisy – Include frequent events present in every trace • A cleaning step could improve the quality of rules
  • 36. Conclusions - Lessons Learned • First approach to automated rule generation • Large solution space – Many parameters to consider • Difficult to encode in traditional machine learning algorithms • Modular approach – Improved performance – Improved accuracy – Easier to add/replace single modules • Integration with hints from domain experts
  • 37. Future Work • Address open problems – Multiple negations – Composite events that could be triggered by multiple patterns (disjunction) • Integrate additional operators – E.g., detection of trends • Develop techniques for rule cleaning – Remove “noise”

Notes de l'éditeur

  1. Real time processing of continuous flows of data Generated by sources at unpredictable rates To produce new higher level knowledge in the form of composite events or situations of interests and deliver it to connected sinks According to a set of deployed rules that specify how to filter, select, and combine incoming data, based on their content and their timing relationships Focus on fast algorithms. Widely used in High Frequency Trading and partly in Computer Systems Monitoring Problem of language for expressing rules. Worked on that in the past. Today focus on a new problem: even with a good language, how to write a good rule? Understand and express the correct causal relationships between primitive events and composite ones
  2. Look at the past occurrences of composite events and see if we can extract some useful information
  3. We consider a model in which events are identified by a type, a set of attribute/value pairs, and a single timestamp. We consider a history of past occurrences of primitive and composite events. We want to infer the rule that describes the causal relationship between primitive and composite events. Which are the operators we can use to define our rule?
  4. System from tool vendors: IBM – Oracle – Microsoft – TIBCO (The leading one, together with Progress Apama) Also a (partially) open source solution: Esper Research proposals: Stream Mill (UCLA) – Stream (Stanford) – NextCEP (Imperial) Different languages: real-time analysis (relational operations on a stream) vs. situation detection (from patterns) We focus mainly on the second type of languages and we identify a (sub)set of common operators to focus on
  5. Each operator defines a set of constraints: for example, the selection operator defines which events must appear in a trace and which attribute values they must include
  6. Each operator defines a set of constraints: for example, the selection operator defines which events must appear in a trace and which attribute values they must include
  7. Parameters and sequences learners work again by intersecting all the constraints appearing in positive traces We consider equality parameters and ordering constraints
  8. Underconstraining reduces precision Errors in the detection of a constraint are emphasized when there are only a few constraints.
  9. Increasing the window size also increases the number of events to consider. This reduces the procesion, but the impact is minimal.