SlideShare a Scribd company logo
Analysis of the Behavior of Event Processing Applications Ella Rabinovich ( [email_address] ) Joint work with Opher Etzion, Sitvanit Ruah and Sarit Arcushin
Motivation The Verification Model Analysis Techniques Static Analysis Dynamic Analysis Analysis with Formal Methods Summary and Future Work Agenda
Event processing applications development is an evolutional process, often done bottom-up Modifications and extensions to existing applications are very common     continuous validation and verification  is required Event processing poses challenges when applying state-of-the-art software verification techniques Comprises strong temporal semantics Uses asynchronous operational mode Analyzing the behavior of big applications (hundreds of assets) by manual inspection is often impractical Motivation
Changing a certain event, what are the application artifacts affected? What are all possible ways to produce a certain action (derived event)? There was an event that should have resulted in a certain action, but that never happened! “ Wrong” action was taken, how did that happen? Motivation – cont.
Moxey C. et al:  A Conceptual model for Event Processing Systems, an IBM Redguide publication. The Verification Model Event type Event Processing Agent (EPA) Producer, Consumer Channel
Analysis Techniques Static Analysis Navigate through mass of information wisely Discover event processing application artifacts dependencies and change rules with confidence Dynamic Analysis Compare the actual output against the expected results Explore rule coverage with multiple scenario invocation System consistency tests Analysis with Formal Methods Advanced correctness and logical integrity observations Build-time Development phase Run-time Development & production phases Build-time Development phase
Disconnected  agents EPA either does not produce any derived event or produces a derived event that is never consumed – “dead end” EPA’s input event(s) are never produced Event consequences All application assets (events and EPAs) directly or indirectly affected by the event Event provenance All possible ways to emit an event (set of paths in the application network) Potential infinite cycles detection An event that belongs to its own consequences Static Analysis Observations
EPA is  disconnected with respect to its input  in case the input event(s) are not defined or never produced. EPA is  disconnected with respect to its output  in case it either does not produce a derived event or produces a derived event that is never consumed. Static Analysis – Disconnected Agents Letf ET be a set of event types, s.t.|ET| = N and let A be a set of EPAs, s.t. |A| = M. Agent A i  is disconnected with respect to its  output  if for each A j , s.t. 0<=j<=M-1 and j != i, it holds that Dist(A i , A j ) =  . Agent A i  is disconnected with respect to its  input  if for each A j , s.t. 0<=j<=M-1 and j != i, it holds that Dist(A j , A i ) =  .
Event type   consequences  are all event types and EPAs found in the transitive closure of the event type that is subject to change. Static Analysis – Event Consequences Event type ETi consequences by events EventsCons(ETi) is {ETj, 0<=j<=N-1, s.t. there exists a path <ETi, …, ETj> in  the application dependency graph} U ETi Event type ETi consequences by agents AgentsCons(ETi) is {Aj, 0<=j<=M-1, s.t. there exists a path <ETi, …, Aj> in  the application dependency graph} Cons(ETi) = EventsCons(ETi) U AgentsCons(ETi).
Dynamic Analysis - Approach Dynamic analysis results Runtime Scenario Dynamic Analysis Component EP Application Definition History Data Store Observations for dynamic analysis EP engine invocation on runtime scenario Results analysis for correctness and coverage
EPA evaluation in context Tracing an EPA behavior within a certain context partition, e.g. for specific Customer ID Event instance forward trace EPAs executed and events fired as a result of an event instance arrival Event instance backward trace EPAs, raw and derived events that caused the firing of an observed event Application coverage by scenario execution Events arrived and EPAs detected as a result of a scenario execution  Dynamic Analysis Observations
An  event instance forward trace  is defined as a set of EPAs executed and derived events fired as a result of a certain event instance arrival.  Dynamic Analysis – Forward Trace Event instance EI i  forward trace by events  FEventsTrace (EIi)  is {EI j , 0<=j<=K-1, s.t. EI j  was fired as a result of  EI i  arrival} Event instance EIi forward trace by agents  FAgentsTrace(EI i )  is {A j , 0<=j<=M-1,s.t. A j  was detected as a result of EI i  arrival} FTrace(EI i )  = FEventsTrace(EI i )  U  FAgentsTrace(EI i ). FTrace(EIi)  Cons(Type(EIi))
The  coverage of event processing application's artifacts by scenario , is a collection of all event instances arrived and EPAs detected, as a result of a scenario execution, i.e., the union of forward traces of all raw event instances. Dynamic Analysis – Coverage Let RawEI be a set of raw events instances in a given scenario execution; RawEI  EI. Cov  =  U (FTrace(EI i )), s.t. EIi    RawEI.
is the system correct? Formal Verification (aka Model Checking) A formal specification of a system property  p does M satisfy p? no counter example yes the system is correct! a labeled state-transition graph A mathematical model of the system  M  (an FSM):
Analysis Using Formal Methods - Motivation Static analysis methods enable to derive a set of “shallow” observations on top of the application graph An EPA can be physically connected to the graph, but not reachable during the application runtime
Advanced logical integrity observations are beyond the capabilities of current event processing tools Applying formal methods to event processing is feasible Analysis Using Formal Methods - Feasibility Formal verification techniques are optimized for these kind of tasks, using exhaustive exploration of the entire application model Strong temporal nature Relatively free model (event arrival is not constrained) Relatively small number of assets    formal verification is efficient
Derived event unreachability A derived event will never be produced due to logical contradictions in its provenance paths Logical equivalence of two EPAs For a given scenario,  EPA1 is detected iff EPA2 is detected Mutual exclusion of two EPAs For a given scenario,  EPA1 is detected iff EPA2 is  not  detected Automatic generation of a scenario for application coverage Using the model checking “counter example” feature Analysis Using Formal Methods Observations
Summary A framework for event processing applications analysis, consisting of a  model  and a  set of formally defined observations A major step in quality assurance of event processing applications Aims to lower the effort and complexity for non-experts in event processing application development Future Work Further investigation of the contribution of formal methods   Identifying the indicators for event processing application quality, and exploring techniques for monitoring these indicators Summary and Future Work
Questions

More Related Content

PPTX
Model Checking in Formal Methods
PDF
Mr201401 consideration for indicators of malware likeness based on static fil...
PDF
Mining System Logs to Learn Error Predictors, Universität Stuttgart, Stuttgar...
PDF
Presentation
PDF
Metamorphic Security Testing for Web Systems
PDF
Enabling Automated Software Testing with Artificial Intelligence
PPTX
Compiler lecture 07
PDF
Scalable and Cost-Effective Model-Based Software Verification and Testing
Model Checking in Formal Methods
Mr201401 consideration for indicators of malware likeness based on static fil...
Mining System Logs to Learn Error Predictors, Universität Stuttgart, Stuttgar...
Presentation
Metamorphic Security Testing for Web Systems
Enabling Automated Software Testing with Artificial Intelligence
Compiler lecture 07
Scalable and Cost-Effective Model-Based Software Verification and Testing

Viewers also liked (8)

PPTX
Mobile OS market
PPT
PreMapper: Improving Entity Extraction Accuracy in the Digital Humanities
PPT
Indusrty Experience with the IBM Active Middleware Technology (AMiT)
PDF
Why do we need Pics.io
PPT
Elochka
PPT
Tvorcheskiestranichki
PPTX
Crunchbase
PPT
Enhancing Digital Cultural Heritage Collections with Social Network Capabilities
Mobile OS market
PreMapper: Improving Entity Extraction Accuracy in the Digital Humanities
Indusrty Experience with the IBM Active Middleware Technology (AMiT)
Why do we need Pics.io
Elochka
Tvorcheskiestranichki
Crunchbase
Enhancing Digital Cultural Heritage Collections with Social Network Capabilities
Ad

Similar to Analysis of the Behavior of Event Processing Applications (20)

PPT
Proposed Event Processing Definitions ,September 20, 2006
PPT
Aaai 2011 event processing tutorial
PPT
Vldb 2010 event processing tutorial
PDF
Ijetcas14 467
PDF
FIWARE Complex Event Processing
PDF
FIWARE Complex Event Processing
PDF
SEMANTIC STUDIES OF A SYNCHRONOUS APPROACH TO ACTIVITY RECOGNITION
PDF
Java event tracking for real-time unaware sensitivity analysis
DOCX
Event tracking for real time unaware sensitivity analysis
PDF
Event tracking for real time unaware sensitivity analysis
PPTX
Monitoring Distributed Systems
PPT
FIWARE CEP GE introduction, ICT 2015
PDF
Event tracking for real time unaware sensitivity analysis
PDF
Event tracking for real time unaware sensitivity analysis
PDF
Dotnet event tracking for real-time unaware sensitivity analysis
PDF
Event tracking for real time unaware sensitivity analysis
PDF
Dotnet event tracking for real-time unaware sensitivity analysis
PDF
Presentation iswc
PDF
Java Programming :Event Handling(Types of Events)
PDF
Semantic Complex Event Processing
Proposed Event Processing Definitions ,September 20, 2006
Aaai 2011 event processing tutorial
Vldb 2010 event processing tutorial
Ijetcas14 467
FIWARE Complex Event Processing
FIWARE Complex Event Processing
SEMANTIC STUDIES OF A SYNCHRONOUS APPROACH TO ACTIVITY RECOGNITION
Java event tracking for real-time unaware sensitivity analysis
Event tracking for real time unaware sensitivity analysis
Event tracking for real time unaware sensitivity analysis
Monitoring Distributed Systems
FIWARE CEP GE introduction, ICT 2015
Event tracking for real time unaware sensitivity analysis
Event tracking for real time unaware sensitivity analysis
Dotnet event tracking for real-time unaware sensitivity analysis
Event tracking for real time unaware sensitivity analysis
Dotnet event tracking for real-time unaware sensitivity analysis
Presentation iswc
Java Programming :Event Handling(Types of Events)
Semantic Complex Event Processing
Ad

Recently uploaded (20)

PPTX
Group 1 Presentation -Planning and Decision Making .pptx
PDF
Architecture types and enterprise applications.pdf
PDF
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PPTX
Programs and apps: productivity, graphics, security and other tools
PDF
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
PDF
Developing a website for English-speaking practice to English as a foreign la...
PDF
project resource management chapter-09.pdf
PPTX
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
PDF
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
PPT
Module 1.ppt Iot fundamentals and Architecture
PDF
Enhancing emotion recognition model for a student engagement use case through...
PPTX
The various Industrial Revolutions .pptx
PPTX
1. Introduction to Computer Programming.pptx
PPTX
TLE Review Electricity (Electricity).pptx
PDF
NewMind AI Weekly Chronicles - August'25-Week II
PDF
Hindi spoken digit analysis for native and non-native speakers
PDF
A contest of sentiment analysis: k-nearest neighbor versus neural network
PDF
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
PDF
Web App vs Mobile App What Should You Build First.pdf
Group 1 Presentation -Planning and Decision Making .pptx
Architecture types and enterprise applications.pdf
DASA ADMISSION 2024_FirstRound_FirstRank_LastRank.pdf
Assigned Numbers - 2025 - Bluetooth® Document
Programs and apps: productivity, graphics, security and other tools
TrustArc Webinar - Click, Consent, Trust: Winning the Privacy Game
Developing a website for English-speaking practice to English as a foreign la...
project resource management chapter-09.pdf
MicrosoftCybserSecurityReferenceArchitecture-April-2025.pptx
Profit Center Accounting in SAP S/4HANA, S4F28 Col11
Module 1.ppt Iot fundamentals and Architecture
Enhancing emotion recognition model for a student engagement use case through...
The various Industrial Revolutions .pptx
1. Introduction to Computer Programming.pptx
TLE Review Electricity (Electricity).pptx
NewMind AI Weekly Chronicles - August'25-Week II
Hindi spoken digit analysis for native and non-native speakers
A contest of sentiment analysis: k-nearest neighbor versus neural network
Transform Your ITIL® 4 & ITSM Strategy with AI in 2025.pdf
Web App vs Mobile App What Should You Build First.pdf

Analysis of the Behavior of Event Processing Applications

  • 1. Analysis of the Behavior of Event Processing Applications Ella Rabinovich ( [email_address] ) Joint work with Opher Etzion, Sitvanit Ruah and Sarit Arcushin
  • 2. Motivation The Verification Model Analysis Techniques Static Analysis Dynamic Analysis Analysis with Formal Methods Summary and Future Work Agenda
  • 3. Event processing applications development is an evolutional process, often done bottom-up Modifications and extensions to existing applications are very common  continuous validation and verification is required Event processing poses challenges when applying state-of-the-art software verification techniques Comprises strong temporal semantics Uses asynchronous operational mode Analyzing the behavior of big applications (hundreds of assets) by manual inspection is often impractical Motivation
  • 4. Changing a certain event, what are the application artifacts affected? What are all possible ways to produce a certain action (derived event)? There was an event that should have resulted in a certain action, but that never happened! “ Wrong” action was taken, how did that happen? Motivation – cont.
  • 5. Moxey C. et al: A Conceptual model for Event Processing Systems, an IBM Redguide publication. The Verification Model Event type Event Processing Agent (EPA) Producer, Consumer Channel
  • 6. Analysis Techniques Static Analysis Navigate through mass of information wisely Discover event processing application artifacts dependencies and change rules with confidence Dynamic Analysis Compare the actual output against the expected results Explore rule coverage with multiple scenario invocation System consistency tests Analysis with Formal Methods Advanced correctness and logical integrity observations Build-time Development phase Run-time Development & production phases Build-time Development phase
  • 7. Disconnected agents EPA either does not produce any derived event or produces a derived event that is never consumed – “dead end” EPA’s input event(s) are never produced Event consequences All application assets (events and EPAs) directly or indirectly affected by the event Event provenance All possible ways to emit an event (set of paths in the application network) Potential infinite cycles detection An event that belongs to its own consequences Static Analysis Observations
  • 8. EPA is disconnected with respect to its input in case the input event(s) are not defined or never produced. EPA is disconnected with respect to its output in case it either does not produce a derived event or produces a derived event that is never consumed. Static Analysis – Disconnected Agents Letf ET be a set of event types, s.t.|ET| = N and let A be a set of EPAs, s.t. |A| = M. Agent A i is disconnected with respect to its output if for each A j , s.t. 0<=j<=M-1 and j != i, it holds that Dist(A i , A j ) = . Agent A i is disconnected with respect to its input if for each A j , s.t. 0<=j<=M-1 and j != i, it holds that Dist(A j , A i ) = .
  • 9. Event type consequences are all event types and EPAs found in the transitive closure of the event type that is subject to change. Static Analysis – Event Consequences Event type ETi consequences by events EventsCons(ETi) is {ETj, 0<=j<=N-1, s.t. there exists a path <ETi, …, ETj> in the application dependency graph} U ETi Event type ETi consequences by agents AgentsCons(ETi) is {Aj, 0<=j<=M-1, s.t. there exists a path <ETi, …, Aj> in the application dependency graph} Cons(ETi) = EventsCons(ETi) U AgentsCons(ETi).
  • 10. Dynamic Analysis - Approach Dynamic analysis results Runtime Scenario Dynamic Analysis Component EP Application Definition History Data Store Observations for dynamic analysis EP engine invocation on runtime scenario Results analysis for correctness and coverage
  • 11. EPA evaluation in context Tracing an EPA behavior within a certain context partition, e.g. for specific Customer ID Event instance forward trace EPAs executed and events fired as a result of an event instance arrival Event instance backward trace EPAs, raw and derived events that caused the firing of an observed event Application coverage by scenario execution Events arrived and EPAs detected as a result of a scenario execution Dynamic Analysis Observations
  • 12. An event instance forward trace is defined as a set of EPAs executed and derived events fired as a result of a certain event instance arrival. Dynamic Analysis – Forward Trace Event instance EI i forward trace by events FEventsTrace (EIi) is {EI j , 0<=j<=K-1, s.t. EI j was fired as a result of EI i arrival} Event instance EIi forward trace by agents FAgentsTrace(EI i ) is {A j , 0<=j<=M-1,s.t. A j was detected as a result of EI i arrival} FTrace(EI i ) = FEventsTrace(EI i ) U FAgentsTrace(EI i ). FTrace(EIi) Cons(Type(EIi))
  • 13. The coverage of event processing application's artifacts by scenario , is a collection of all event instances arrived and EPAs detected, as a result of a scenario execution, i.e., the union of forward traces of all raw event instances. Dynamic Analysis – Coverage Let RawEI be a set of raw events instances in a given scenario execution; RawEI EI. Cov = U (FTrace(EI i )), s.t. EIi  RawEI.
  • 14. is the system correct? Formal Verification (aka Model Checking) A formal specification of a system property p does M satisfy p? no counter example yes the system is correct! a labeled state-transition graph A mathematical model of the system M (an FSM):
  • 15. Analysis Using Formal Methods - Motivation Static analysis methods enable to derive a set of “shallow” observations on top of the application graph An EPA can be physically connected to the graph, but not reachable during the application runtime
  • 16. Advanced logical integrity observations are beyond the capabilities of current event processing tools Applying formal methods to event processing is feasible Analysis Using Formal Methods - Feasibility Formal verification techniques are optimized for these kind of tasks, using exhaustive exploration of the entire application model Strong temporal nature Relatively free model (event arrival is not constrained) Relatively small number of assets  formal verification is efficient
  • 17. Derived event unreachability A derived event will never be produced due to logical contradictions in its provenance paths Logical equivalence of two EPAs For a given scenario, EPA1 is detected iff EPA2 is detected Mutual exclusion of two EPAs For a given scenario, EPA1 is detected iff EPA2 is not detected Automatic generation of a scenario for application coverage Using the model checking “counter example” feature Analysis Using Formal Methods Observations
  • 18. Summary A framework for event processing applications analysis, consisting of a model and a set of formally defined observations A major step in quality assurance of event processing applications Aims to lower the effort and complexity for non-experts in event processing application development Future Work Further investigation of the contribution of formal methods Identifying the indicators for event processing application quality, and exploring techniques for monitoring these indicators Summary and Future Work