SlideShare une entreprise Scribd logo
1  sur  18
A Declarative Framework for Matching
Iterative and Aggregative Patterns against
Event Streams
Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad
Stojanovic
RuleML : Proceedings of the 5th International Symposium on Rules,
Barcelona, Spain
Agenda

 Introduction, Motivation

 Iterative and Aggregative Patterns in ETALIS
   • Language
   • Window operations
   • Evaluation results

 Conclusion.
Iterative and Aggregative
                         Patterns in ETALIS

Recursive CEP in ETALIS                        ETALIS Features:
  ψ=?                                          • Logic-based CEP
  π ← φ ∨ ¬ ψ.
  φ = true.                                    • Knowledge-based CEP
  Event                                        • Stream (deductive)
  Sources
                                                 reasoning
                                  Detected     • Iterative and aggregative
                                  Situations
                                                 patterns
                        CEP
                                               • An implementation available
                                               • An extensible framework
                    Pattern
                    Definitions
Motivation

 In CEP it is common to perform various aggregations
  over data carried by events;
 Iterative patterns: an output (complex) event is treated
  as an input event of the same CEP processing agent;
 Kleene closure can be used to extract from the input
  stream a finite yet unbounded number of events with a
  particular property;
 Iterative and aggregative patterns, as well as Kleene
  closure can be realised with NFAs [Agrawal et al.
  SIGMOD’08] or event graphs [Mei et al. SIGMOD’09];
 ETALIS is a logic rule-based approach for CEP.
ETALIS - A Logic Rule-based Approach
                              for CEP

 A rule-based formalism is expressive enough and
  convenient to represent diverse complex event patterns;
 Rules can easily express complex relationships between
  events by matching certain temporal, relational or
  causal conditions;
 Our rule-based formalism can specify and evaluate
  contextual knowledge (which captures the domain of
  interest or context related to business critical actions);
 With background knowledge events can be: enriched,
  classified, clustered, filtered etc. (with no explicit
  specifications).
 ETALIS is a unified framework for CEP and reasoning.
ETALIS: Language Syntax

ETALIS Language for Events is formally defined by:




• pr - a predicate name with arity n;
• 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.

Event rule is defined as a formula of the following shape:



where p is an event pattern containing all variables occurring in
ETALIS: Interval-based Semantics
ETALIS: Declarative Semantics
Examples
A sum over an unbound event stream until a threshold value is met:




The k-fold sequential execution of an event a:




A sliding length-based window, e.g., n=5:
ETALIS: Operational Semantics - AND
                                  (1/6)
1. Complex pattern (not
event-driven rule)
a SEQ b SEQ c → ce1

2. Decoupling

((a SEQ b) SEQ c) → ce1


3. Binarization

a SEQ b → ie
ie SEQ c → ce1

4. Event-driven backward
chaining rules
ETALIS: Operational Semantics (3/6)
For any aggregate function, calculated over a window,
we implement the following three rules:
ETALIS: Operational Semantics (4/6)
SUM aggregate function:
ETALIS: Operational Semantics (5/6)
MAX aggregate function:
ETALIS: Operational Semantics (6/6)
COUNT aggregate function:




• Data structures: red-black trees, stack, difference lists
• Time-based windows require a time-based garbage
  collection (GC);
• We have implemented two techniques for GC:
   • pushed constraints
   • general and pattern-based GC
Tests I: Throughput Comparison
                           • Intel Core Quad CPU Q9400 2,66GHz, 8GB of RAM, Vista x64;
                             ETALIS on SWI Prolog 5.6.64 and YAP Prolog 5.1.3 vs. Esper 3.3.0
                           • Aggregations are computed over complex events of the following
                             type:



                                            Esper 3.3.0   P-Stack         P-Dlists                                            Esper 3.1.0      P-Stack    P-RB trees
Throughput (1000 x Events/Sec)




                                                                                        Throughput (1000 x Events/Sec)
                                 30                                                                                      30
                                 25                                                                                      25
                                 20                                                                                      20
                                 15                                                                                      15
                                 10                                                                                      10
                                  5                                                                                       5
                                  0                                                                                       0
                                      100           500            1000         50000                                         100             1000          50000
                                                     Window size                                                                            window size


                                      Figure: Throughput vs. wind. size (a) SUM-AND (b) AVG-SEQ
Tests II: CEP with Stream Reasoning




Figure: (a) throughput comparison (b) memory consumption
Conclusion

     • We presented a framework for a logic rule-based CEP
       and reasoning;

     • The framework is capable to specify and process
       iterative and aggregative complex event patterns;

     • Aggregations, calculated over sliding windows, do not
       require an extension of the existing language and
       come with no additional costs in terms of
       performance.



17
Thank you! Questions…

          ETALIS

          Open source:
http://code.google.com/p/etalis




                         Darko.Anicic@fzi.de

Contenu connexe

Similaire à Etalis rule ml_2011_itterative

Ontology mapping needs context & approximation
Ontology mapping needs context & approximationOntology mapping needs context & approximation
Ontology mapping needs context & approximationFrank van Harmelen
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用CHENHuiMei
 
Machine Learning with Apache Mahout
Machine Learning with Apache MahoutMachine Learning with Apache Mahout
Machine Learning with Apache MahoutDaniel Glauser
 
Improving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringImproving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringLionel Briand
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysisPraveen Narayanan
 
Stephan berg track f
Stephan berg   track fStephan berg   track f
Stephan berg track fAlona Gradman
 
Keynote at IWLS 2017
Keynote at IWLS 2017Keynote at IWLS 2017
Keynote at IWLS 2017Manish Pandey
 
No More, No Less: A Formal Model for Serverless Computing
No More, No Less: A Formal Model for Serverless ComputingNo More, No Less: A Formal Model for Serverless Computing
No More, No Less: A Formal Model for Serverless ComputingMarco Peressotti
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemDatabricks
 
FlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkFlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkTheodoros Vasiloudis
 
Introduction to Julia
Introduction to JuliaIntroduction to Julia
Introduction to Julia岳華 杜
 
Colored petri nets theory and applications
Colored petri nets theory and applicationsColored petri nets theory and applications
Colored petri nets theory and applicationsAbu Hussein
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examplesPeter Lawrey
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSubash John
 
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basicsnpinto
 
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...cvpaper. challenge
 
Towards Evaluating Size Reduction Techniques for Software Model Checking
Towards Evaluating Size Reduction Techniques for Software Model CheckingTowards Evaluating Size Reduction Techniques for Software Model Checking
Towards Evaluating Size Reduction Techniques for Software Model CheckingAkos Hajdu
 
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011telestax
 

Similaire à Etalis rule ml_2011_itterative (20)

Ontology mapping needs context & approximation
Ontology mapping needs context & approximationOntology mapping needs context & approximation
Ontology mapping needs context & approximation
 
深度學習在AOI的應用
深度學習在AOI的應用深度學習在AOI的應用
深度學習在AOI的應用
 
Ikc 2015
Ikc 2015Ikc 2015
Ikc 2015
 
Machine Learning with Apache Mahout
Machine Learning with Apache MahoutMachine Learning with Apache Mahout
Machine Learning with Apache Mahout
 
Improving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via ClusteringImproving Requirements Glossary Construction via Clustering
Improving Requirements Glossary Construction via Clustering
 
magellan_mongodb_workload_analysis
magellan_mongodb_workload_analysismagellan_mongodb_workload_analysis
magellan_mongodb_workload_analysis
 
Stephan berg track f
Stephan berg   track fStephan berg   track f
Stephan berg track f
 
Keynote at IWLS 2017
Keynote at IWLS 2017Keynote at IWLS 2017
Keynote at IWLS 2017
 
Blinkdb
BlinkdbBlinkdb
Blinkdb
 
No More, No Less: A Formal Model for Serverless Computing
No More, No Less: A Formal Model for Serverless ComputingNo More, No Less: A Formal Model for Serverless Computing
No More, No Less: A Formal Model for Serverless Computing
 
Clipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving SystemClipper: A Low-Latency Online Prediction Serving System
Clipper: A Low-Latency Online Prediction Serving System
 
FlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache FlinkFlinkML: Large Scale Machine Learning with Apache Flink
FlinkML: Large Scale Machine Learning with Apache Flink
 
Introduction to Julia
Introduction to JuliaIntroduction to Julia
Introduction to Julia
 
Colored petri nets theory and applications
Colored petri nets theory and applicationsColored petri nets theory and applications
Colored petri nets theory and applications
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
 
System Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancementsSystem Verilog 2009 & 2012 enhancements
System Verilog 2009 & 2012 enhancements
 
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
[Harvard CS264] 03 - Introduction to GPU Computing, CUDA Basics
 
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
教師なし画像特徴表現学習の動向 {Un, Self} supervised representation learning (CVPR 2018 完全読破...
 
Towards Evaluating Size Reduction Techniques for Software Model Checking
Towards Evaluating Size Reduction Techniques for Software Model CheckingTowards Evaluating Size Reduction Techniques for Software Model Checking
Towards Evaluating Size Reduction Techniques for Software Model Checking
 
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
CDI Telco Framework & Arquillian presentation at Mobicents Summit, Sochi 2011
 

Dernier

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxLoriGlavin3
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Dernier (20)

Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptxUse of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
Use of FIDO in the Payments and Identity Landscape: FIDO Paris Seminar.pptx
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

Etalis rule ml_2011_itterative

  • 1. A Declarative Framework for Matching Iterative and Aggregative Patterns against Event Streams Darko Anicic, Sebastian Rudolph, Paul Fodor, Nenad Stojanovic RuleML : Proceedings of the 5th International Symposium on Rules, Barcelona, Spain
  • 2. Agenda  Introduction, Motivation  Iterative and Aggregative Patterns in ETALIS • Language • Window operations • Evaluation results  Conclusion.
  • 3. Iterative and Aggregative Patterns in ETALIS Recursive CEP in ETALIS ETALIS Features: ψ=? • Logic-based CEP π ← φ ∨ ¬ ψ. φ = true. • Knowledge-based CEP Event • Stream (deductive) Sources reasoning Detected • Iterative and aggregative Situations patterns CEP • An implementation available • An extensible framework Pattern Definitions
  • 4. Motivation  In CEP it is common to perform various aggregations over data carried by events;  Iterative patterns: an output (complex) event is treated as an input event of the same CEP processing agent;  Kleene closure can be used to extract from the input stream a finite yet unbounded number of events with a particular property;  Iterative and aggregative patterns, as well as Kleene closure can be realised with NFAs [Agrawal et al. SIGMOD’08] or event graphs [Mei et al. SIGMOD’09];  ETALIS is a logic rule-based approach for CEP.
  • 5. ETALIS - A Logic Rule-based Approach for CEP  A rule-based formalism is expressive enough and convenient to represent diverse complex event patterns;  Rules can easily express complex relationships between events by matching certain temporal, relational or causal conditions;  Our rule-based formalism can specify and evaluate contextual knowledge (which captures the domain of interest or context related to business critical actions);  With background knowledge events can be: enriched, classified, clustered, filtered etc. (with no explicit specifications).  ETALIS is a unified framework for CEP and reasoning.
  • 6. ETALIS: Language Syntax ETALIS Language for Events is formally defined by: • pr - a predicate name with arity n; • 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. Event rule is defined as a formula of the following shape: where p is an event pattern containing all variables occurring in
  • 9. Examples A sum over an unbound event stream until a threshold value is met: The k-fold sequential execution of an event a: A sliding length-based window, e.g., n=5:
  • 10. ETALIS: Operational Semantics - AND (1/6) 1. Complex pattern (not event-driven rule) a SEQ b SEQ c → ce1 2. Decoupling ((a SEQ b) SEQ c) → ce1 3. Binarization a SEQ b → ie ie SEQ c → ce1 4. Event-driven backward chaining rules
  • 11. ETALIS: Operational Semantics (3/6) For any aggregate function, calculated over a window, we implement the following three rules:
  • 12. ETALIS: Operational Semantics (4/6) SUM aggregate function:
  • 13. ETALIS: Operational Semantics (5/6) MAX aggregate function:
  • 14. ETALIS: Operational Semantics (6/6) COUNT aggregate function: • Data structures: red-black trees, stack, difference lists • Time-based windows require a time-based garbage collection (GC); • We have implemented two techniques for GC: • pushed constraints • general and pattern-based GC
  • 15. Tests I: Throughput Comparison • Intel Core Quad CPU Q9400 2,66GHz, 8GB of RAM, Vista x64; ETALIS on SWI Prolog 5.6.64 and YAP Prolog 5.1.3 vs. Esper 3.3.0 • Aggregations are computed over complex events of the following type: Esper 3.3.0 P-Stack P-Dlists Esper 3.1.0 P-Stack P-RB trees Throughput (1000 x Events/Sec) Throughput (1000 x Events/Sec) 30 30 25 25 20 20 15 15 10 10 5 5 0 0 100 500 1000 50000 100 1000 50000 Window size window size Figure: Throughput vs. wind. size (a) SUM-AND (b) AVG-SEQ
  • 16. Tests II: CEP with Stream Reasoning Figure: (a) throughput comparison (b) memory consumption
  • 17. Conclusion • We presented a framework for a logic rule-based CEP and reasoning; • The framework is capable to specify and process iterative and aggregative complex event patterns; • Aggregations, calculated over sliding windows, do not require an extension of the existing language and come with no additional costs in terms of performance. 17
  • 18. Thank you! Questions… ETALIS Open source: http://code.google.com/p/etalis Darko.Anicic@fzi.de