analysis of the behavior of event processing applications

19
IBM Haifa Research Lab – Event Processing © 2010 IBM Corporation Analysis of the Behavior of Event Processing Applications Ella Rabinovich ([email protected]) Joint work with Opher Etzion, Sitvanit Ruah and Sarit Arcushin

Upload: ella-rabinovich

Post on 09-Jul-2015

349 views

Category:

Technology


1 download

DESCRIPTION

Presented at DEBS2010.

TRANSCRIPT

Page 1: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation

Analysis of the Behavior of Event Processing Applications

Ella Rabinovich ([email protected])Joint work with Opher Etzion, Sitvanit Ruah and Sarit Arcushin

Page 2: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation2

Agenda

Motivation The Verification Model Analysis Techniques

Static Analysis

Dynamic Analysis

Analysis with Formal Methods

Summary and Future Work

Page 3: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation3

Motivation

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

Page 4: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation4

Motivation – cont. 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?

Page 5: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation5

The Verification Model

Moxey C. et al: A Conceptual model for Event Processing Systems, an IBM Redguide publication.

Event type Event Processing Agent (EPA) Producer, Consumer Channel

Page 6: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation6

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-timeBuild-time

Development phaseDevelopment phase

Run-timeRun-time

Development &Development &production phasesproduction phases

Build-timeBuild-time

Development phaseDevelopment phase

Page 7: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation7

Static Analysis Observations

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

Page 8: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation8

Static Analysis – Disconnected Agents

EPA is disconnected with respect to its input in case the inputevent(s) are not defined or never produced. EPA is disconnected withrespect to its output in case it either does not produce a derived eventor produces a derived event that is never consumed.

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 Ai is disconnected with respect to its output if for each Aj, s.t. 0<=j<=M-1 and j != i, it holds that Dist(Ai, Aj) = .

Agent Ai is disconnected with respect to its input if for eachAj, s.t. 0<=j<=M-1 and j != i, it holds that Dist(Aj, Ai) = . ∞

Page 9: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation9

Static Analysis – Event Consequences

Event type consequences are all event types and EPAs found in thetransitive closure of the event type that is subject to change.

Event type ETi consequencesby events EventsCons(ETi) is{ETj, 0<=j<=N-1, s.t. there existsa path <ETi, …, ETj> in the application dependency graph}U ETi

Event type ETi consequencesby agents AgentsCons(ETi) is{Aj, 0<=j<=M-1, s.t. there existsa path <ETi, …, Aj> in the application dependency graph}

Cons(ETi) = EventsCons(ETi) U AgentsCons(ETi).

Page 10: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation10

Dynamic Analysis - Approach

Dynamic analysisresults

Runtime Scenario

Dynamic Analysis Component

EP ApplicationDefinition

HistoryDataStore

Observations fordynamic analysis

EP engine invocation on runtime scenario

Results analysis forcorrectness and coverage

Page 11: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation11

Dynamic Analysis Observations

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

Page 12: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation12

Dynamic Analysis – Forward Trace

An event instance forward trace is defined as a set of EPAs executedand derived events fired as a result of a certain event instance arrival.

Event instance EIi forward trace by events FEventsTrace (EIi) is {EIj, 0<=j<=K-1, s.t. EIj was fired as a result of EIi arrival}

Event instance EIi forward trace by agents FAgentsTrace(EIi) is {Aj, 0<=j<=M-1,s.t. Aj was detected as a result of EIi arrival}

FTrace(EIi) = FEventsTrace(EIi) U FAgentsTrace(EIi).

FTrace(EIi) Cons(Type(EIi))⊆

Page 13: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation13

Dynamic Analysis – CoverageThe coverage of event processing application's artifacts by scenario,is a collection of all event instances arrived and EPAs detected, as aresult of a scenario execution, i.e., the union of forward traces of allraw event instances.

Let RawEI be a set of raw events instances in a given scenario execution;RawEI EI.

Cov = U(FTrace(EIi)), s.t.

EIi ∈ RawEI.

Page 14: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation14

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 ofthe system M (an FSM):

Page 15: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation15

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

Page 16: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation16

Analysis Using Formal Methods - Feasibility

Advanced logical integrity observations are beyond the capabilities of current event processing tools

Applying formal methods to event processing is feasible

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

Page 17: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation17

Analysis Using Formal Methods Observations

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

Page 18: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation18

Summary and Future Work

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

Page 19: Analysis of the Behavior of Event Processing Applications

IBM Haifa Research Lab – Event Processing

© 2010 IBM Corporation19

QuestionsQuestions