SlideShare a Scribd company logo
1 of 69
Download to read offline
The Quest for Average Response Time
Tom Henzinger
IST Austria
Joint work with Krishnendu Chatterjee and Jan Otop
Yes/No
Program Analysis
PropertyProgram
Formal Verification
Yes/No
Model Checker
Transition
System
 (r ) } g)PropertyProgram
Formal Verification
Yes/No
Model Checker
Timed
Automaton
 (r ) }· 5 g)
Quantitative
PropertyProgram
Formal Verification
Yes/No
Model Checker
Markov
Process
Quantitative
PropertyProgram 8 (r ) Pr(}g) ¸ 0.5)
Formal Verification
Model Checker
Timed
Automaton Program  (r ) } g)Property
Quantitative Answer R
Worst or average response time
Quantitative Analysis
Quantitative Analysis
From checking correctness
to measuring performance and robustness of software systems:
Quantitative temporal logics
Quantitative automata
Quantitative abstractions
Quantitative synthesis
etc.
Quantitative Analysis
From checking correctness
to measuring performance and robustness of software systems:
Quantitative temporal logics
Quantitative automata
Quantitative abstractions
Quantitative synthesis
etc.
None of this has captured average response time.
Observations
r request
g grant
t tick
x neither
§ = {r,g,t,x}
Program Behavior = Observation Sequence
x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x …
Response Times
x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x … 4,3,2
Response Times
x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x … 4,3,2
r t t t t t t t … 1
Response Property
r
g
r,t,x
g,t,x
Response Monitor
r
r,t,xg,t,x
S
S
g
Response Monitor
r
r,t,xg,t,x
S
S
g
Decomposing model checking [Pnueli et al.]
Alternating automata
Run-time verification
Bounded Response
r
g
r,x
g,t,x
C := 0
C · 3
t
C := C+1
Bounded Response
r
g
r,x
g,t,x
C := 0
C · 3
t
C := C+1
g
C > 3
(Discrete) clocks exponentially succinct,
but not more expressive than finite state.
Bounded Response Monitor
r r,x
g,t,x
S
S
g
t
C := C+1
C := 0
C · 3
Maximal Response
r
g r,x
g,t,x
C := 0
V := max(V,C)
t
C := C+1
V := 0
Maximal Response
r
g r,x
g,t,x
C := 0
V := max(V,C)
t
C := C+1
V := 0
Value of an infinite run is liminf of V.
Maximal Response Monitor
r r,x
g,t,x
S
S
g
t
V := V+1
V := 0V := 0
V := max(V, )
is final value of V.S
Average Response
r
g r,x
g,t,x
C := 0
N := N+1
V := avg(V,C,N)
t
C := C+1
V := 0
N := 0
avg(V,C,N) = (V¢(N-1)+C) / N
Average Response Monitor
r r,x
g,t,x
S
S
g
t
V := V+1
V := 0
V := avg(V, ,N)
N := N+1
V := 0
N := 0
(max,inc) automata:
Master automaton maintains the max of values
returned by slaves (1 max register).
Each slave automaton counts occurrences of t
(1 inc register).
(avg,inc) automata:
Master automaton maintains the avg of values
returned by slaves (1 avg register).
Slaves as above.
Nested Weighted Automata
r r,x
0
g,t,x
0
S
g
0
t
1
S
limavg of weights
sum of weights
Function on weights instead of registers.
Unlike in the qualitative case,
nested weighted automata (“quantitative monitors”) are
more expressive than flat weighted automata:
1. value of flat limavg automaton bounded by largest weight
(cannot specify average response time)
2. flat automata have constant “width” (number of registers)
Deterministic qualitative automaton A: §! ! B
Deterministic quantitative automaton A: §! ! R
Deterministic qualitative automaton A: §! ! B
Deterministic quantitative automaton A: §! ! R
! = x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x …
Response(!) = 1
BoundedResponse(!) = 0
MaximalResponse(!) = 4
AverageResponse(!) = 3
4
3 2
tr,g,t,x
Nondeterministic Automaton
t
t t t t t t t t t … values {0, 1}
Nondeterministic qualitative automaton A: §! ! B
A(!) = max{ value(½) | ½ run of A and obs(½) = ! }
Nondeterministic quantitative automaton A: §! ! R
A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
Nondeterministic qualitative automaton A: §! ! B
A(!) = max{ value(½) | ½ run of A and obs(½) = ! }
Emptiness: 9!. A(!) = 1
Universality: 8!. A(!) = 1
Nondeterministic quantitative automaton A: §! ! R
A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
Nondeterministic qualitative automaton A: §! ! B
A(!) = max{ value(½) | ½ run of A and obs(½) = ! }
Emptiness: 9!. A(!) = 1
Universality: 8!. A(!) = 1
Nondeterministic quantitative automaton A: §! ! R
A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
Emptiness: 9!. A(!) ¸ ¸
Universality: 8!. A(!) ¸ ¸
Transition System = Labeled Graph
r
r
t
x
x
x
t
g
g
g
t
t
t
t
x
x
t
Defines a set of behaviors.
Qualitative Analysis
Given a transition system A and a qualitative property B,
Q1. does some run of A correspond to a run of B ?
[emptiness of A £ B ]
Q2. does every run of A correspond to a run of B ?
[as hard as universality of B ]
Quantitative Analysis
Given a transition system A and a quantitative property B,
Q1. does some run of A correspond to a run of B with value V ¸ ¸ ?
[emptiness of A £ B ]
Q2. does every run of A correspond to a run of B with V ¸ ¸ ?
[as hard as universality of B ]
Qualitative Analysis
Given a transition system A and a qualitative property B,
Q1. does some run of A correspond to a run of B ?
[emptiness of A £ B ]
Q2. does every run of A correspond to a run of B ?
Equivalently: does some run of A correspond to a run of :B ?
[emptiness of A £ :B ]
Qualitative Analysis
Given a transition system A and a qualitative property B,
Q1. does some run of A correspond to a run of B ?
[emptiness of A £ B ]
Q2. does every run of A correspond to a run of B ?
Equivalently: does some run of A correspond to a run of :B ?
[emptiness of A £ :B ]
For deterministic B, the complement :B is easy to compute.
Nondeterministic quantitative automaton A: §! ! R
A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
Monitor: obs(½1) = obs(½2) ) value(½1) = value(½2)
Deterministic automata are monitors.
Quantitative Analysis
Given a transition system A and a quantitative property B,
Q1. does some run of A correspond to a run of B with value V ¸ ¸ ?
[emptiness of A £ B ]
Q2. does every run of A correspond to a run of B with V ¸ ¸ ?
For monitor B, equivalently:
does some run of A correspond to a run of B with V < ¸ ?
[emptiness of A £ -B ]
Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
Best maximal response time: 2
Worst maximal response time: 3
Emptiness of (max,inc) automata
Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
Best maximal response time: 2
Worst maximal response time: 3
Emptiness of (max,inc) automata
Best average response time: 1.5
Worst average response time: 3
Emptiness of (avg,inc) automata
Results on (max,inc) Automata
Nondet Monitor
(max,inc) (max,inc)
Emptiness PSPACE PSPACE
Universality · EXPSPACE PSPACE
¸ PSPACE
Qualitative nondeterministic universality PSPACE,
emptiness and deterministic universality PTIME.
Results on (avg,inc) Automata
Nondet Monitor
(avg,inc) (avg,inc)
Emptiness · EXPSPACE · EXPSPACE
¸ PSPACE ¸ PSPACE
Universality undecidable · EXPSPACE
¸ PSPACE
Results on (avg,inc) Automata
Nondet Monitor Monitor Monitor
(avg,inc) (avg,inc) bounded width constant width
(avg,inc) (avg,inc)
Emptiness · EXPSPACE · EXPSPACE PSPACE PTIME
¸ PSPACE ¸ PSPACE
Universality undecidable · EXPSPACE PSPACE PTIME
¸ PSPACE
How many overlapping requests?
Probabilistic System = Markov Chain
r
r
t
x
x
x
t
g
g
g
t
t
t
t
x
x
t
0.5 0.3
0.2
0.5
0.5
Defines probability for every
finite observation sequence,
and prob density function on
infinite observation sequences.
0.9
0.1
Probabilistic System = Markov Chain
r
r
t
x
x
x
t
g
g
g
t
t
t
t
x
x
t
0.5 0.3
0.2
0.5
0.5
Defines probability for every
finite observation sequence,
and prob density function on
infinite observation sequences.
0.9
0.1
Given prob density function on §!,
monitor specifies random variable V.
Probabilistic Analysis
Given a probabilistic system A and a functional quantitative property B,
Q1. compute the expected value of V on the runs of A £ B
[moment analysis]
Q2. compute the probability of V ¸ ¸ on the runs of A £ B
[distribution analysis]
Probabilistic Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
0.5 0.5
Probabilistic Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
Expected maximal response time: 2.5
Prob of maximal response time at most 2: 0.5
Probabilistic analysis of (max,inc) automata
0.5 0.5
Probabilistic Example
r r
t
t
t
t
t
r
g
g
g
t
t
t
Expected maximal response time: 2.5
Prob of maximal response time at most 2: 0.5
Probabilistic analysis of (max,inc) automata
Expected average response time: 2.25
Prob of average response time at most 2: 0.5
Probabilistic analysis of (avg,inc) automata
0.5 0.5
Results on (max,inc) Automata
Nondet Monitor
(max,inc) (max,inc)
Emptiness PSPACE PSPACE
Universality · EXPSPACE PSPACE
¸ PSPACE
Expectation · EXPSPACE
¸ PSPACE
Probability · EXPSPACE
¸ PSPACE
Results on (avg,inc) Automata
Nondet Monitor
(avg,inc) (avg,inc)
Emptiness · EXPSPACE · EXPSPACE
¸ PSPACE ¸ PSPACE
Universality undecidable · EXPSPACE
¸ PSPACE
Expectation PTIME
Probability PTIME
Markov Decision Process
r
r
t
x
x
x
t
g
g
g
t
t
t
t
x
x
t
0.5
0.5
0.9
0.1
Markov Decision Process
r
r
t
x
x
x
t
g
g
g
t
t
t
t
x
x
t
0.5
0.5
0.9
0.1
Given a policy p:§!!{ $,$,$ },
monitor specifies random
variable V.
Many Open Questions …
E.g., given an MDP A and a monitor B,
compute the policy that maximizes the expected value of B on A
(generalization of mean-payoff game).
r t r t r t t t g t g t g
5,5,5
Matching Requests and Grants
r t r t r t t t g t g t g
5,5,5
7,5,3
Matching Requests and Grants
Quantitative pushdown monitors?
Counter Machine
r
x
g,t,x
S
S
g
C = 0
t
V := V+1
V := 0
C := 0V := 0
V := max(V, )
r
C := C+1
g
C > 0
C := C-1
Emptiness for two counters is in general undecidable.
Counter Monitor
t
x
r,g,x
S
S
t
V := 0V := 0
V := max(V, )
r
V := V+1
g
V := V-1
No test on counter values.
Counter Monitor
t
x
r,g,x
S
S
t
V := 0V := 0
V := max(V, )
r
V := V+1
g
V := V-1
No test on counter values. width = 1
Register Automaton
x
V := 0
C := 0
r
C := C+1
g
C := C-1
Emptiness of (max,inc+dec) decidable [flat, constant width: Alur et al.].
t
V := max(V,C)
C := 0
Results on (max,inc+dec) Automata
Nondet Monitor
(max,inc+dec) (max,inc+dec)
Emptiness PSPACE PSPACE
Universality undecidable undecidable
Expectation undecidable
Probability undecidable
Results on (avg,inc+dec) Automata
Nondet Monitor
(avg,inc+dec) (avg,inc+dec)
Emptiness open open
Universality undecidable open
Expectation PTIME
Probability PTIME
Quantitative Monitors = Nested Weighted Automata
Unbounded width allows for natural decomposition of specifications
(incl. average response time).
More expressive and more succinct than flat weighted automata.
Emptiness decidable and sufficient for
monitor verification, model measuring, and model repair
(universality can be undecidable, even for constant width).
Probabilistic analysis polynomial for (avg,inc+dec) monitors.
Model Measuring:
How much can system A be perturbed without violating qualitative property B ?
Model Repair:
How much must system A be changed to satisfy qualitative property B ?
Model Measuring:
How much can system A be perturbed without violating qualitative property B ?
For an observation sequence ! we can define
distance d(A,!) (e.g. edit distance) by constructing from A
monitor FA such that FA(!) = d(A,!).
Robustness of A with respect to B:
r(A,B) = sup{ e | 8!. d(A,!) · e ) B(!) = 1 }.
Model Repair:
How much must system A be changed to satisfy qualitative property B ?
References
Nested Weighted Automata: LICS 2015
Quantitative Automata under Probabilistic Semantics: LICS 2016
Nested Weighted Automata of Bounded Width: MFCS 2016
IST (Institute of Science and Technology) Austria
looking for PhD students: phd.ist.ac.at

More Related Content

What's hot

Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
Applying Model Checking Approach with Floating Point Arithmetic for Verificat...Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
Sergey Staroletov
 
Concurrent Bounded Model Checking
Concurrent Bounded Model CheckingConcurrent Bounded Model Checking
Concurrent Bounded Model Checking
Quoc-Sang Phan
 

What's hot (20)

Asymptotic Notation
Asymptotic NotationAsymptotic Notation
Asymptotic Notation
 
Egor Bogatov - .NET Core intrinsics and other micro-optimizations
Egor Bogatov - .NET Core intrinsics and other micro-optimizationsEgor Bogatov - .NET Core intrinsics and other micro-optimizations
Egor Bogatov - .NET Core intrinsics and other micro-optimizations
 
Compiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax DefinitionCompiler Construction | Lecture 2 | Declarative Syntax Definition
Compiler Construction | Lecture 2 | Declarative Syntax Definition
 
Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )Asymptotic notations(Big O, Omega, Theta )
Asymptotic notations(Big O, Omega, Theta )
 
openMP loop parallelization
openMP loop parallelizationopenMP loop parallelization
openMP loop parallelization
 
Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
Applying Model Checking Approach with Floating Point Arithmetic for Verificat...Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
Applying Model Checking Approach with Floating Point Arithmetic for Verificat...
 
Clone Refactoring with Lambda Expressions
Clone Refactoring with Lambda ExpressionsClone Refactoring with Lambda Expressions
Clone Refactoring with Lambda Expressions
 
Compiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | InterpretersCompiler Construction | Lecture 14 | Interpreters
Compiler Construction | Lecture 14 | Interpreters
 
.NET 2015: Будущее рядом
.NET 2015: Будущее рядом.NET 2015: Будущее рядом
.NET 2015: Будущее рядом
 
Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4Paradigmas de Linguagens de Programacao - Aula #4
Paradigmas de Linguagens de Programacao - Aula #4
 
Algorithm.ppt
Algorithm.pptAlgorithm.ppt
Algorithm.ppt
 
Operators
OperatorsOperators
Operators
 
C++20 the small things - Timur Doumler
C++20 the small things - Timur DoumlerC++20 the small things - Timur Doumler
C++20 the small things - Timur Doumler
 
Exception handling
Exception handlingException handling
Exception handling
 
Improved deterministic algorithms for decremental transitive closure and stro...
Improved deterministic algorithms for decremental transitive closure and stro...Improved deterministic algorithms for decremental transitive closure and stro...
Improved deterministic algorithms for decremental transitive closure and stro...
 
Concurrent Bounded Model Checking
Concurrent Bounded Model CheckingConcurrent Bounded Model Checking
Concurrent Bounded Model Checking
 
Bounded Model Checking
Bounded Model CheckingBounded Model Checking
Bounded Model Checking
 
BPMN process views construction
BPMN process views constructionBPMN process views construction
BPMN process views construction
 
Looping
LoopingLooping
Looping
 
MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2MATLAB Programming - Loop Control Part 2
MATLAB Programming - Loop Control Part 2
 

Viewers also liked

Viewers also liked (20)

TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systemsTMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
TMPA-2017: Evolutionary Algorithms in Test Generation for digital systems
 
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
TMPA-2017: Using Functional Directives to Analyze Code Complexity and Communi...
 
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LLTMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
TMPA-2017: Extended Context-Free Grammars Parsing with Generalized LL
 
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
TMPA-2017: Technology and Tools for Developing Industrial Software Test Suite...
 
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case GenerationTMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
TMPA-2017: A Survey on Model-Based Testing Tools for Test Case Generation
 
TMPA-2017: Layered Layouts for Software Systems Visualization
TMPA-2017: Layered Layouts for Software Systems VisualizationTMPA-2017: Layered Layouts for Software Systems Visualization
TMPA-2017: Layered Layouts for Software Systems Visualization
 
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
TMPA-2017: Functional Parser of Markdown Language Based on Monad Combining an...
 
TMPA-2017: A Survey of High-Performance Computing for Software Verification
TMPA-2017: A Survey of High-Performance Computing for Software VerificationTMPA-2017: A Survey of High-Performance Computing for Software Verification
TMPA-2017: A Survey of High-Performance Computing for Software Verification
 
TMPA-2017: Stemming Architectural Decay in Software Systems
TMPA-2017:  Stemming Architectural Decay in Software SystemsTMPA-2017:  Stemming Architectural Decay in Software Systems
TMPA-2017: Stemming Architectural Decay in Software Systems
 
TMPA-2017: Conference Opening
TMPA-2017: Conference OpeningTMPA-2017: Conference Opening
TMPA-2017: Conference Opening
 
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
TMPA-2017: Predicate Abstraction Based Configurable Method for Data Race Dete...
 
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java ProgramsTMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
TMPA-2017: Dl-Check: Dynamic Potential Deadlock Detection Tool for Java Programs
 
TMPA-2017: Static Checking of Array Objects in JavaScript
TMPA-2017: Static Checking of Array Objects in JavaScriptTMPA-2017: Static Checking of Array Objects in JavaScript
TMPA-2017: Static Checking of Array Objects in JavaScript
 
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
TMPA-2017: Defect Report Classification in Accordance with Areas of TestingTMPA-2017: Defect Report Classification in Accordance with Areas of Testing
TMPA-2017: Defect Report Classification in Accordance with Areas of Testing
 
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality MeasureTMPA-2017: 5W+1H Static Analysis Report Quality Measure
TMPA-2017: 5W+1H Static Analysis Report Quality Measure
 
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
TMPA-2017: Regression Testing with Semiautomatic Test Selection for Auditing ...
 
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
TMPA-2017: Compositional Process Model Synthesis based on Interface PatternsTMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
TMPA-2017: Compositional Process Model Synthesis based on Interface Patterns
 
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
TMPA-2017: Live testing distributed system fault tolerance with fault injecti...
 
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
TMPA-2017: Distributed Analysis of the BMC Kind: Making It Fit the Tornado Su...
 
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
 

Similar to TMPA-2017: The Quest for Average Response Time

ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
zukun
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
butest
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
butest
 
Algorithm chapter 2
Algorithm chapter 2Algorithm chapter 2
Algorithm chapter 2
chidabdu
 
Advanced Datastructures and algorithms CP4151unit1b.pdf
Advanced Datastructures and algorithms CP4151unit1b.pdfAdvanced Datastructures and algorithms CP4151unit1b.pdf
Advanced Datastructures and algorithms CP4151unit1b.pdf
Sheba41
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
Aakash deep Singhal
 

Similar to TMPA-2017: The Quest for Average Response Time (20)

Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1Anlysis and design of algorithms part 1
Anlysis and design of algorithms part 1
 
Randomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced AlgorithmRandomized Algorithm- Advanced Algorithm
Randomized Algorithm- Advanced Algorithm
 
Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02Asymptotics 140510003721-phpapp02
Asymptotics 140510003721-phpapp02
 
Slide2
Slide2Slide2
Slide2
 
Asymptotic Notations.pptx
Asymptotic Notations.pptxAsymptotic Notations.pptx
Asymptotic Notations.pptx
 
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
ECCV2008: MAP Estimation Algorithms in Computer Vision - Part 2
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 
pptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspacespptx - Psuedo Random Generator for Halfspaces
pptx - Psuedo Random Generator for Halfspaces
 
Lec1
Lec1Lec1
Lec1
 
Data_Structure_and_Algorithms_Lecture_1.ppt
Data_Structure_and_Algorithms_Lecture_1.pptData_Structure_and_Algorithms_Lecture_1.ppt
Data_Structure_and_Algorithms_Lecture_1.ppt
 
Introduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic NotationIntroduction to Algorithms and Asymptotic Notation
Introduction to Algorithms and Asymptotic Notation
 
Time series Modelling Basics
Time series Modelling BasicsTime series Modelling Basics
Time series Modelling Basics
 
Introduction to design and analysis of algorithm
Introduction to design and analysis of algorithmIntroduction to design and analysis of algorithm
Introduction to design and analysis of algorithm
 
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Av 738- Adaptive Filtering - Wiener Filters[wk 3]Av 738- Adaptive Filtering - Wiener Filters[wk 3]
Av 738- Adaptive Filtering - Wiener Filters[wk 3]
 
Algorithm chapter 2
Algorithm chapter 2Algorithm chapter 2
Algorithm chapter 2
 
Annotations.pdf
Annotations.pdfAnnotations.pdf
Annotations.pdf
 
1.algorithms
1.algorithms1.algorithms
1.algorithms
 
Advanced Datastructures and algorithms CP4151unit1b.pdf
Advanced Datastructures and algorithms CP4151unit1b.pdfAdvanced Datastructures and algorithms CP4151unit1b.pdf
Advanced Datastructures and algorithms CP4151unit1b.pdf
 
Algorithm Analysis.pdf
Algorithm Analysis.pdfAlgorithm Analysis.pdf
Algorithm Analysis.pdf
 
Lecture 2 data structures and algorithms
Lecture 2 data structures and algorithmsLecture 2 data structures and algorithms
Lecture 2 data structures and algorithms
 

More from Iosif Itkin

More from Iosif Itkin (20)

Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4Foundations of Software Testing Lecture 4
Foundations of Software Testing Lecture 4
 
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
QA Financial Forum London 2021 - Automation in Software Testing. Humans and C...
 
Exactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test OraclesExactpro FinTech Webinar - Global Exchanges Test Oracles
Exactpro FinTech Webinar - Global Exchanges Test Oracles
 
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX ProtocolExactpro FinTech Webinar - Global Exchanges FIX Protocol
Exactpro FinTech Webinar - Global Exchanges FIX Protocol
 
Operational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market InfrastructuresOperational Resilience in Financial Market Infrastructures
Operational Resilience in Financial Market Infrastructures
 
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
20 Simple Questions from Exactpro for Your Enjoyment This Holiday Season
 
Testing the Intelligence of your AI
Testing the Intelligence of your AITesting the Intelligence of your AI
Testing the Intelligence of your AI
 
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market InfrastructuresEXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
EXTENT 2019: Exactpro Quality Assurance for Financial Market Infrastructures
 
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
ClearTH Test Automation Framework: Case Study in IRS & CDS Swaps Lifecycle Mo...
 
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan ShamraiEXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
EXTENT Talks 2019 Tbilisi: Failover and Recovery Test Automation - Ivan Shamrai
 
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference OpenEXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
EXTENT Talks QA Community Tbilisi 20 April 2019 - Conference Open
 
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
User-Assisted Log Analysis for Quality Control of Distributed Fintech Applica...
 
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
QAFF Chicago 2019 - Complex Post-Trade Systems, Requirements Traceability and...
 
QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)QA Community Saratov: Past, Present, Future (2019-02-08)
QA Community Saratov: Past, Present, Future (2019-02-08)
 
Machine Learning and RoboCop Testing
Machine Learning and RoboCop TestingMachine Learning and RoboCop Testing
Machine Learning and RoboCop Testing
 
Behaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibileBehaviour Driven Development: Oltre i limiti del possibile
Behaviour Driven Development: Oltre i limiti del possibile
 
2018 - Exactpro Year in Review
2018 - Exactpro Year in Review2018 - Exactpro Year in Review
2018 - Exactpro Year in Review
 
Exactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and StrategyExactpro Discussion about Joy and Strategy
Exactpro Discussion about Joy and Strategy
 
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing ChallengesFIX EMEA Conference 2018 - Post Trade Software Testing Challenges
FIX EMEA Conference 2018 - Post Trade Software Testing Challenges
 
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
BDD. The Outer Limits. Iosif Itkin at Youcon (in Russian)
 

Recently uploaded

Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 

Recently uploaded (20)

Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024Manulife - Insurer Transformation Award 2024
Manulife - Insurer Transformation Award 2024
 
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu SubbuApidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
Apidays Singapore 2024 - Modernizing Securities Finance by Madhu Subbu
 
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWEREMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
EMPOWERMENT TECHNOLOGY GRADE 11 QUARTER 2 REVIEWER
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 

TMPA-2017: The Quest for Average Response Time

  • 1. The Quest for Average Response Time Tom Henzinger IST Austria Joint work with Krishnendu Chatterjee and Jan Otop
  • 3. Yes/No Model Checker Transition System  (r ) } g)PropertyProgram Formal Verification
  • 4. Yes/No Model Checker Timed Automaton  (r ) }· 5 g) Quantitative PropertyProgram Formal Verification
  • 6. Model Checker Timed Automaton Program  (r ) } g)Property Quantitative Answer R Worst or average response time Quantitative Analysis
  • 7. Quantitative Analysis From checking correctness to measuring performance and robustness of software systems: Quantitative temporal logics Quantitative automata Quantitative abstractions Quantitative synthesis etc.
  • 8. Quantitative Analysis From checking correctness to measuring performance and robustness of software systems: Quantitative temporal logics Quantitative automata Quantitative abstractions Quantitative synthesis etc. None of this has captured average response time.
  • 9. Observations r request g grant t tick x neither § = {r,g,t,x}
  • 10. Program Behavior = Observation Sequence x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x …
  • 11. Response Times x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x … 4,3,2
  • 12. Response Times x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x … 4,3,2 r t t t t t t t … 1
  • 15. Response Monitor r r,t,xg,t,x S S g Decomposing model checking [Pnueli et al.] Alternating automata Run-time verification
  • 16. Bounded Response r g r,x g,t,x C := 0 C · 3 t C := C+1
  • 17. Bounded Response r g r,x g,t,x C := 0 C · 3 t C := C+1 g C > 3 (Discrete) clocks exponentially succinct, but not more expressive than finite state.
  • 18. Bounded Response Monitor r r,x g,t,x S S g t C := C+1 C := 0 C · 3
  • 19. Maximal Response r g r,x g,t,x C := 0 V := max(V,C) t C := C+1 V := 0
  • 20. Maximal Response r g r,x g,t,x C := 0 V := max(V,C) t C := C+1 V := 0 Value of an infinite run is liminf of V.
  • 21. Maximal Response Monitor r r,x g,t,x S S g t V := V+1 V := 0V := 0 V := max(V, ) is final value of V.S
  • 22. Average Response r g r,x g,t,x C := 0 N := N+1 V := avg(V,C,N) t C := C+1 V := 0 N := 0 avg(V,C,N) = (V¢(N-1)+C) / N
  • 23. Average Response Monitor r r,x g,t,x S S g t V := V+1 V := 0 V := avg(V, ,N) N := N+1 V := 0 N := 0
  • 24. (max,inc) automata: Master automaton maintains the max of values returned by slaves (1 max register). Each slave automaton counts occurrences of t (1 inc register). (avg,inc) automata: Master automaton maintains the avg of values returned by slaves (1 avg register). Slaves as above.
  • 25. Nested Weighted Automata r r,x 0 g,t,x 0 S g 0 t 1 S limavg of weights sum of weights Function on weights instead of registers.
  • 26. Unlike in the qualitative case, nested weighted automata (“quantitative monitors”) are more expressive than flat weighted automata: 1. value of flat limavg automaton bounded by largest weight (cannot specify average response time) 2. flat automata have constant “width” (number of registers)
  • 27. Deterministic qualitative automaton A: §! ! B Deterministic quantitative automaton A: §! ! R
  • 28. Deterministic qualitative automaton A: §! ! B Deterministic quantitative automaton A: §! ! R ! = x t t x x r x x t x x x r x t x t x x t g r t t g g x t x t x … Response(!) = 1 BoundedResponse(!) = 0 MaximalResponse(!) = 4 AverageResponse(!) = 3 4 3 2
  • 29. tr,g,t,x Nondeterministic Automaton t t t t t t t t t t … values {0, 1}
  • 30. Nondeterministic qualitative automaton A: §! ! B A(!) = max{ value(½) | ½ run of A and obs(½) = ! } Nondeterministic quantitative automaton A: §! ! R A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
  • 31. Nondeterministic qualitative automaton A: §! ! B A(!) = max{ value(½) | ½ run of A and obs(½) = ! } Emptiness: 9!. A(!) = 1 Universality: 8!. A(!) = 1 Nondeterministic quantitative automaton A: §! ! R A(!) = sup{ value(½) | ½ run of A and obs(½) = ! }
  • 32. Nondeterministic qualitative automaton A: §! ! B A(!) = max{ value(½) | ½ run of A and obs(½) = ! } Emptiness: 9!. A(!) = 1 Universality: 8!. A(!) = 1 Nondeterministic quantitative automaton A: §! ! R A(!) = sup{ value(½) | ½ run of A and obs(½) = ! } Emptiness: 9!. A(!) ¸ ¸ Universality: 8!. A(!) ¸ ¸
  • 33. Transition System = Labeled Graph r r t x x x t g g g t t t t x x t Defines a set of behaviors.
  • 34. Qualitative Analysis Given a transition system A and a qualitative property B, Q1. does some run of A correspond to a run of B ? [emptiness of A £ B ] Q2. does every run of A correspond to a run of B ? [as hard as universality of B ]
  • 35. Quantitative Analysis Given a transition system A and a quantitative property B, Q1. does some run of A correspond to a run of B with value V ¸ ¸ ? [emptiness of A £ B ] Q2. does every run of A correspond to a run of B with V ¸ ¸ ? [as hard as universality of B ]
  • 36. Qualitative Analysis Given a transition system A and a qualitative property B, Q1. does some run of A correspond to a run of B ? [emptiness of A £ B ] Q2. does every run of A correspond to a run of B ? Equivalently: does some run of A correspond to a run of :B ? [emptiness of A £ :B ]
  • 37. Qualitative Analysis Given a transition system A and a qualitative property B, Q1. does some run of A correspond to a run of B ? [emptiness of A £ B ] Q2. does every run of A correspond to a run of B ? Equivalently: does some run of A correspond to a run of :B ? [emptiness of A £ :B ] For deterministic B, the complement :B is easy to compute.
  • 38. Nondeterministic quantitative automaton A: §! ! R A(!) = sup{ value(½) | ½ run of A and obs(½) = ! } Monitor: obs(½1) = obs(½2) ) value(½1) = value(½2) Deterministic automata are monitors.
  • 39. Quantitative Analysis Given a transition system A and a quantitative property B, Q1. does some run of A correspond to a run of B with value V ¸ ¸ ? [emptiness of A £ B ] Q2. does every run of A correspond to a run of B with V ¸ ¸ ? For monitor B, equivalently: does some run of A correspond to a run of B with V < ¸ ? [emptiness of A £ -B ]
  • 41. Example r r t t t t t r g g g t t t Best maximal response time: 2 Worst maximal response time: 3 Emptiness of (max,inc) automata
  • 42. Example r r t t t t t r g g g t t t Best maximal response time: 2 Worst maximal response time: 3 Emptiness of (max,inc) automata Best average response time: 1.5 Worst average response time: 3 Emptiness of (avg,inc) automata
  • 43. Results on (max,inc) Automata Nondet Monitor (max,inc) (max,inc) Emptiness PSPACE PSPACE Universality · EXPSPACE PSPACE ¸ PSPACE Qualitative nondeterministic universality PSPACE, emptiness and deterministic universality PTIME.
  • 44. Results on (avg,inc) Automata Nondet Monitor (avg,inc) (avg,inc) Emptiness · EXPSPACE · EXPSPACE ¸ PSPACE ¸ PSPACE Universality undecidable · EXPSPACE ¸ PSPACE
  • 45. Results on (avg,inc) Automata Nondet Monitor Monitor Monitor (avg,inc) (avg,inc) bounded width constant width (avg,inc) (avg,inc) Emptiness · EXPSPACE · EXPSPACE PSPACE PTIME ¸ PSPACE ¸ PSPACE Universality undecidable · EXPSPACE PSPACE PTIME ¸ PSPACE How many overlapping requests?
  • 46. Probabilistic System = Markov Chain r r t x x x t g g g t t t t x x t 0.5 0.3 0.2 0.5 0.5 Defines probability for every finite observation sequence, and prob density function on infinite observation sequences. 0.9 0.1
  • 47. Probabilistic System = Markov Chain r r t x x x t g g g t t t t x x t 0.5 0.3 0.2 0.5 0.5 Defines probability for every finite observation sequence, and prob density function on infinite observation sequences. 0.9 0.1 Given prob density function on §!, monitor specifies random variable V.
  • 48. Probabilistic Analysis Given a probabilistic system A and a functional quantitative property B, Q1. compute the expected value of V on the runs of A £ B [moment analysis] Q2. compute the probability of V ¸ ¸ on the runs of A £ B [distribution analysis]
  • 50. Probabilistic Example r r t t t t t r g g g t t t Expected maximal response time: 2.5 Prob of maximal response time at most 2: 0.5 Probabilistic analysis of (max,inc) automata 0.5 0.5
  • 51. Probabilistic Example r r t t t t t r g g g t t t Expected maximal response time: 2.5 Prob of maximal response time at most 2: 0.5 Probabilistic analysis of (max,inc) automata Expected average response time: 2.25 Prob of average response time at most 2: 0.5 Probabilistic analysis of (avg,inc) automata 0.5 0.5
  • 52. Results on (max,inc) Automata Nondet Monitor (max,inc) (max,inc) Emptiness PSPACE PSPACE Universality · EXPSPACE PSPACE ¸ PSPACE Expectation · EXPSPACE ¸ PSPACE Probability · EXPSPACE ¸ PSPACE
  • 53. Results on (avg,inc) Automata Nondet Monitor (avg,inc) (avg,inc) Emptiness · EXPSPACE · EXPSPACE ¸ PSPACE ¸ PSPACE Universality undecidable · EXPSPACE ¸ PSPACE Expectation PTIME Probability PTIME
  • 55. Markov Decision Process r r t x x x t g g g t t t t x x t 0.5 0.5 0.9 0.1 Given a policy p:§!!{ $,$,$ }, monitor specifies random variable V.
  • 56. Many Open Questions … E.g., given an MDP A and a monitor B, compute the policy that maximizes the expected value of B on A (generalization of mean-payoff game).
  • 57. r t r t r t t t g t g t g 5,5,5 Matching Requests and Grants
  • 58. r t r t r t t t g t g t g 5,5,5 7,5,3 Matching Requests and Grants Quantitative pushdown monitors?
  • 59. Counter Machine r x g,t,x S S g C = 0 t V := V+1 V := 0 C := 0V := 0 V := max(V, ) r C := C+1 g C > 0 C := C-1 Emptiness for two counters is in general undecidable.
  • 60. Counter Monitor t x r,g,x S S t V := 0V := 0 V := max(V, ) r V := V+1 g V := V-1 No test on counter values.
  • 61. Counter Monitor t x r,g,x S S t V := 0V := 0 V := max(V, ) r V := V+1 g V := V-1 No test on counter values. width = 1
  • 62. Register Automaton x V := 0 C := 0 r C := C+1 g C := C-1 Emptiness of (max,inc+dec) decidable [flat, constant width: Alur et al.]. t V := max(V,C) C := 0
  • 63. Results on (max,inc+dec) Automata Nondet Monitor (max,inc+dec) (max,inc+dec) Emptiness PSPACE PSPACE Universality undecidable undecidable Expectation undecidable Probability undecidable
  • 64. Results on (avg,inc+dec) Automata Nondet Monitor (avg,inc+dec) (avg,inc+dec) Emptiness open open Universality undecidable open Expectation PTIME Probability PTIME
  • 65. Quantitative Monitors = Nested Weighted Automata Unbounded width allows for natural decomposition of specifications (incl. average response time). More expressive and more succinct than flat weighted automata. Emptiness decidable and sufficient for monitor verification, model measuring, and model repair (universality can be undecidable, even for constant width). Probabilistic analysis polynomial for (avg,inc+dec) monitors.
  • 66. Model Measuring: How much can system A be perturbed without violating qualitative property B ? Model Repair: How much must system A be changed to satisfy qualitative property B ?
  • 67. Model Measuring: How much can system A be perturbed without violating qualitative property B ? For an observation sequence ! we can define distance d(A,!) (e.g. edit distance) by constructing from A monitor FA such that FA(!) = d(A,!). Robustness of A with respect to B: r(A,B) = sup{ e | 8!. d(A,!) · e ) B(!) = 1 }. Model Repair: How much must system A be changed to satisfy qualitative property B ?
  • 68. References Nested Weighted Automata: LICS 2015 Quantitative Automata under Probabilistic Semantics: LICS 2016 Nested Weighted Automata of Bounded Width: MFCS 2016
  • 69. IST (Institute of Science and Technology) Austria looking for PhD students: phd.ist.ac.at