Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo...

40
Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI), Ayca Balkan, Sina Caliskan, Elaine Render, Matthias Rungger, Yasser Shoukry Cyber-Physical Systems Laboratory Department of Electrical Engineering University of California at Los Angeles Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 1 / 14

Transcript of Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo...

Page 1: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Synthesizing Robust Software

Paulo Tabuada

Rupak Majumdar (MPI), Ayca Balkan, Sina Caliskan,Elaine Render, Matthias Rungger, Yasser Shoukry

Cyber-Physical Systems LaboratoryDepartment of Electrical Engineering

University of California at Los Angeles

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 1 / 14

Page 2: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Software systems are designed based on assumptions about their environment.

But the real environment is either unknown at design time or changing over time.

Hence, the assumptions will be violated and current design methodologies offerno assurance on how software behaves when such violations occur.

Ideally, we would like a modest deviation from the assumptionsto lead to a modest deviation from the nominal correctness guarantees.

Robustness!

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 2 / 14

Page 3: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Software systems are designed based on assumptions about their environment.

But the real environment is either unknown at design time or changing over time.

Hence, the assumptions will be violated and current design methodologies offerno assurance on how software behaves when such violations occur.

Ideally, we would like a modest deviation from the assumptionsto lead to a modest deviation from the nominal correctness guarantees.

Robustness!

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 2 / 14

Page 4: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Software systems are designed based on assumptions about their environment.

But the real environment is either unknown at design time or changing over time.

Hence, the assumptions will be violated and current design methodologies offerno assurance on how software behaves when such violations occur.

Ideally, we would like a modest deviation from the assumptionsto lead to a modest deviation from the nominal correctness guarantees.

Robustness!

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 2 / 14

Page 5: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Software systems are designed based on assumptions about their environment.

But the real environment is either unknown at design time or changing over time.

Hence, the assumptions will be violated and current design methodologies offerno assurance on how software behaves when such violations occur.

Ideally, we would like a modest deviation from the assumptionsto lead to a modest deviation from the nominal correctness guarantees.

Robustness!

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 2 / 14

Page 6: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Software systems are designed based on assumptions about their environment.

But the real environment is either unknown at design time or changing over time.

Hence, the assumptions will be violated and current design methodologies offerno assurance on how software behaves when such violations occur.

Ideally, we would like a modest deviation from the assumptionsto lead to a modest deviation from the nominal correctness guarantees.

Robustness!

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 2 / 14

Page 7: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Our starting point:

Robustness is a very familiar concept in control theory;

It is well understood that the models used for controller design (assumptions) areprecious but always wrong:

Weight of a car (1 passenger vs 5 passengers);Aerodynamic characteristics of a car (surfboard on the top of the car orbicycle mounted on a rack in the back);etc.

The most basic controller designs do not explicitly address robustness, but theyare robust against unmodeled disturbances.

Can the same be done for software?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 3 / 14

Page 8: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Our starting point:

Robustness is a very familiar concept in control theory;

It is well understood that the models used for controller design (assumptions) areprecious but always wrong:

Weight of a car (1 passenger vs 5 passengers);Aerodynamic characteristics of a car (surfboard on the top of the car orbicycle mounted on a rack in the back);etc.

The most basic controller designs do not explicitly address robustness, but theyare robust against unmodeled disturbances.

Can the same be done for software?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 3 / 14

Page 9: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Our starting point:

Robustness is a very familiar concept in control theory;

It is well understood that the models used for controller design (assumptions) areprecious but always wrong:

Weight of a car (1 passenger vs 5 passengers);Aerodynamic characteristics of a car (surfboard on the top of the car orbicycle mounted on a rack in the back);etc.

The most basic controller designs do not explicitly address robustness, but theyare robust against unmodeled disturbances.

Can the same be done for software?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 3 / 14

Page 10: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Our starting point:

Robustness is a very familiar concept in control theory;

It is well understood that the models used for controller design (assumptions) areprecious but always wrong:

Weight of a car (1 passenger vs 5 passengers);Aerodynamic characteristics of a car (surfboard on the top of the car orbicycle mounted on a rack in the back);etc.

The most basic controller designs do not explicitly address robustness, but theyare robust against unmodeled disturbances.

Can the same be done for software?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 3 / 14

Page 11: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

RobustnessWhat is known about software robustness?

In Computer Science:

Recent work by Bloem, Chatterjee, Chaudhuri, Gulwani, Henzinger, Jobstman,Majumdar, ...

Older work by Dijkstra (self-stabilizing algorithms).

In Control Theory:

There is a subfield of control theory called robust control;

The following classification will be useful:

State based methods (modern view);Input-output based methods (older view originated by the analysis ofamplifiers and other circuits).

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 4 / 14

Page 12: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

RobustnessWhat is known about software robustness?

In Computer Science:

Recent work by Bloem, Chatterjee, Chaudhuri, Gulwani, Henzinger, Jobstman,Majumdar, ...

Older work by Dijkstra (self-stabilizing algorithms).

In Control Theory:

There is a subfield of control theory called robust control;

The following classification will be useful:

State based methods (modern view);Input-output based methods (older view originated by the analysis ofamplifiers and other circuits).

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 4 / 14

Page 13: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

We start with a plain automaton.

DefinitionA finite-state automaton is a triple A = (Q,Σ, δ) consisting of:

A finite set of states Q;

A finite set of actions Σ;

A transition function δ : Q × Σ→ Q.

How to reason about modest deviations from the nominal behavior?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 5 / 14

Page 14: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

We start with a plain automaton.

DefinitionA finite-state automaton is a triple A = (Q,Σ, δ) consisting of:

A finite set of states Q;

A finite set of actions Σ;

A transition function δ : Q × Σ→ Q.

How to reason about modest deviations from the nominal behavior?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 5 / 14

Page 15: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

We introduce metric automata.

DefinitionA finite-state metric automaton is a sextuple Aβ = (Q, d ,Σ,X , β, δ) consisting of:

A finite set of states Q;

A metric d : Q ×Q → R+0 ;

A finite set of actions Σ;

A finite set of environment actions X including a special symbol ε denotingnominal (no disturbance) behavior;

A parameter β ∈ R+0 defining the “power” of the disturbance;

A transition function δ : Q × Σ×X → Q.

It seems that we are explicitly modeling the disturbances through the transitionfunction δ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 6 / 14

Page 16: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

We introduce metric automata.

DefinitionA finite-state metric automaton is a sextuple Aβ = (Q, d ,Σ,X , β, δ) consisting of:

A finite set of states Q;

A metric d : Q ×Q → R+0 ;

A finite set of actions Σ;

A finite set of environment actions X including a special symbol ε denotingnominal (no disturbance) behavior;

A parameter β ∈ R+0 defining the “power” of the disturbance;

A transition function δ : Q × Σ×X → Q.

It seems that we are explicitly modeling the disturbances through the transitionfunction δ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 6 / 14

Page 17: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessDisturbance model

We assume that we have:

d(δ(q, σ, ε), δ(q, σ, x)) ≤ β ∀q ∈ Q, σ ∈ Σ, x ∈ X .

q δ(q, σ, ε)

δ(q, σ, x1)

δ(q, σ, x2)

(σ, ε)

(σ, x1)

(σ, x2)

The parameter β does not need to be known: results will be parameterized by β.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 7 / 14

Page 18: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessDisturbance model

We assume that we have:

d(δ(q, σ, ε), δ(q, σ, x)) ≤ β ∀q ∈ Q, σ ∈ Σ, x ∈ X .

q δ(q, σ, ε)

δ(q, σ, x1)

δ(q, σ, x2)

(σ, ε)

(σ, x1)

(σ, x2)

The parameter β does not need to be known: results will be parameterized by β.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 7 / 14

Page 19: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

DefinitionA winning strategy (S : Q → 2Σ) for the automaton A0 and (reachability or Büchi)winning objective F ⊆ Q is γ-robust if for any β ∈ R+

0 it is winning for the automatonAβ with (reachability, Büchi) winning objective Bγβ(F ):

Bγβ(F ) = {q ∈ Q | d(q,F ) ≤ γβ} .

Note that if there are no disturbances, β = 0 and Bγβ(F ) = F .

The parameter γ describes how much F is inflated to obtain Bγβ(F ).

The map transforming environment strategies to the language accepted by Aβ isuniformly continuous with modulus of continuity γ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 8 / 14

Page 20: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

DefinitionA winning strategy (S : Q → 2Σ) for the automaton A0 and (reachability or Büchi)winning objective F ⊆ Q is γ-robust if for any β ∈ R+

0 it is winning for the automatonAβ with (reachability, Büchi) winning objective Bγβ(F ):

Bγβ(F ) = {q ∈ Q | d(q,F ) ≤ γβ} .

Note that if there are no disturbances, β = 0 and Bγβ(F ) = F .

The parameter γ describes how much F is inflated to obtain Bγβ(F ).

The map transforming environment strategies to the language accepted by Aβ isuniformly continuous with modulus of continuity γ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 8 / 14

Page 21: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

DefinitionA winning strategy (S : Q → 2Σ) for the automaton A0 and (reachability or Büchi)winning objective F ⊆ Q is γ-robust if for any β ∈ R+

0 it is winning for the automatonAβ with (reachability, Büchi) winning objective Bγβ(F ):

Bγβ(F ) = {q ∈ Q | d(q,F ) ≤ γβ} .

Note that if there are no disturbances, β = 0 and Bγβ(F ) = F .

The parameter γ describes how much F is inflated to obtain Bγβ(F ).

The map transforming environment strategies to the language accepted by Aβ isuniformly continuous with modulus of continuity γ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 8 / 14

Page 22: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustness

DefinitionA winning strategy (S : Q → 2Σ) for the automaton A0 and (reachability or Büchi)winning objective F ⊆ Q is γ-robust if for any β ∈ R+

0 it is winning for the automatonAβ with (reachability, Büchi) winning objective Bγβ(F ):

Bγβ(F ) = {q ∈ Q | d(q,F ) ≤ γβ} .

Note that if there are no disturbances, β = 0 and Bγβ(F ) = F .

The parameter γ describes how much F is inflated to obtain Bγβ(F ).

The map transforming environment strategies to the language accepted by Aβ isuniformly continuous with modulus of continuity γ.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 8 / 14

Page 23: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessVerification and synthesis

Given an automaton A0, γ ∈ R+0 , and a strategy S one can ask:

Verification: Is S γ-robust?

Optimal verification: What is the smallest γ ∈ R+0 for which S is γ-robust?

Synthesis: Can we synthesize a γ-robust strategy?

Optimal synthesis: What is the smallest γ ∈ R+0 for which we can synthesize a

γ-robust strategy?

All the above problems can be reduced to dynamic programmingand are thus polynomially solvable.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 9 / 14

Page 24: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessVerification and synthesis

Given an automaton A0, γ ∈ R+0 , and a strategy S one can ask:

Verification: Is S γ-robust?

Optimal verification: What is the smallest γ ∈ R+0 for which S is γ-robust?

Synthesis: Can we synthesize a γ-robust strategy?

Optimal synthesis: What is the smallest γ ∈ R+0 for which we can synthesize a

γ-robust strategy?

All the above problems can be reduced to dynamic programmingand are thus polynomially solvable.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 9 / 14

Page 25: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessVerification and synthesis

Given an automaton A0, γ ∈ R+0 , and a strategy S one can ask:

Verification: Is S γ-robust?

Optimal verification: What is the smallest γ ∈ R+0 for which S is γ-robust?

Synthesis: Can we synthesize a γ-robust strategy?

Optimal synthesis: What is the smallest γ ∈ R+0 for which we can synthesize a

γ-robust strategy?

All the above problems can be reduced to dynamic programmingand are thus polynomially solvable.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 9 / 14

Page 26: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessCritical assessment

On the positive side, state based robustness:

handles ω-regular objectives (Büchi and parity) as a simple extension ofreachability;

the analysis makes use of an extension of rank functions inspired on controltechniques (Lyapunov functions).

On the less positive side, state based robustness:

requires a metric. What if I have two different automata defining the samelanguage? How to reason about robustness before having an implementationwith states?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 10 / 14

Page 27: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

State based robustnessCritical assessment

On the positive side, state based robustness:

handles ω-regular objectives (Büchi and parity) as a simple extension ofreachability;

the analysis makes use of an extension of rank functions inspired on controltechniques (Lyapunov functions).

On the less positive side, state based robustness:

requires a metric. What if I have two different automata defining the samelanguage? How to reason about robustness before having an implementationwith states?

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 10 / 14

Page 28: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessTowards a definition

Rather than automata we now consider transducers f : Σ∗ → Λ∗;

Rather than a metric we use cost functions I : Σ∗ → N+0 and O : Λ∗ → N+

0 toplace costs on input and output strings, respectively;

A notion of robustness should have the following two properties:

Bounded disturbances should lead to bounded consequences;The effect of a sporadic disturbance should disappear in finitely manysteps;Well known requirements in control theory that recently appeared as twoseparate notions of robustness proposed by Henzinger and co-workers.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 11 / 14

Page 29: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessTowards a definition

Rather than automata we now consider transducers f : Σ∗ → Λ∗;

Rather than a metric we use cost functions I : Σ∗ → N+0 and O : Λ∗ → N+

0 toplace costs on input and output strings, respectively;

A notion of robustness should have the following two properties:

Bounded disturbances should lead to bounded consequences;The effect of a sporadic disturbance should disappear in finitely manysteps;Well known requirements in control theory that recently appeared as twoseparate notions of robustness proposed by Henzinger and co-workers.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 11 / 14

Page 30: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessTowards a definition

Rather than automata we now consider transducers f : Σ∗ → Λ∗;

Rather than a metric we use cost functions I : Σ∗ → N+0 and O : Λ∗ → N+

0 toplace costs on input and output strings, respectively;

A notion of robustness should have the following two properties:

Bounded disturbances should lead to bounded consequences;

The effect of a sporadic disturbance should disappear in finitely manysteps;Well known requirements in control theory that recently appeared as twoseparate notions of robustness proposed by Henzinger and co-workers.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 11 / 14

Page 31: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessTowards a definition

Rather than automata we now consider transducers f : Σ∗ → Λ∗;

Rather than a metric we use cost functions I : Σ∗ → N+0 and O : Λ∗ → N+

0 toplace costs on input and output strings, respectively;

A notion of robustness should have the following two properties:

Bounded disturbances should lead to bounded consequences;The effect of a sporadic disturbance should disappear in finitely manysteps;

Well known requirements in control theory that recently appeared as twoseparate notions of robustness proposed by Henzinger and co-workers.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 11 / 14

Page 32: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessTowards a definition

Rather than automata we now consider transducers f : Σ∗ → Λ∗;

Rather than a metric we use cost functions I : Σ∗ → N+0 and O : Λ∗ → N+

0 toplace costs on input and output strings, respectively;

A notion of robustness should have the following two properties:

Bounded disturbances should lead to bounded consequences;The effect of a sporadic disturbance should disappear in finitely manysteps;Well known requirements in control theory that recently appeared as twoseparate notions of robustness proposed by Henzinger and co-workers.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 11 / 14

Page 33: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessA definition

Adapting and simplifying the control theoretic notion of Input-to-State DynamicStability we propose:

DefinitionGiven parameters γ, η ∈ N, we say the transducer f : Σ∗ → Λ∗ is (γ, η)-input-outputstable if for each σ ∈ Σ∗ we have

O (f (σ)) ≤ maxσ′�σ

˘γ I

`σ′

´− η

`|σ| −

˛̨σ′

˛̨´¯.

The parameter γ is called the robustness gain. It measures how much thedisturbance is amplified.

The parameter η is called the rate of decay. It measures how quickly the effectsof a disturbance disappear.

The notion of (γ, η)-input-output stability captures the two desired properties.

The verification and synthesis problems are polynomially solvable when f , I, andO are described by finite-state (cost/weighted) automata;

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 12 / 14

Page 34: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessA definition

Adapting and simplifying the control theoretic notion of Input-to-State DynamicStability we propose:

DefinitionGiven parameters γ, η ∈ N, we say the transducer f : Σ∗ → Λ∗ is (γ, η)-input-outputstable if for each σ ∈ Σ∗ we have

O (f (σ)) ≤ maxσ′�σ

˘γ I

`σ′

´− η

`|σ| −

˛̨σ′

˛̨´¯.

The parameter γ is called the robustness gain. It measures how much thedisturbance is amplified.

The parameter η is called the rate of decay. It measures how quickly the effectsof a disturbance disappear.

The notion of (γ, η)-input-output stability captures the two desired properties.

The verification and synthesis problems are polynomially solvable when f , I, andO are described by finite-state (cost/weighted) automata;

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 12 / 14

Page 35: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessA definition

Adapting and simplifying the control theoretic notion of Input-to-State DynamicStability we propose:

DefinitionGiven parameters γ, η ∈ N, we say the transducer f : Σ∗ → Λ∗ is (γ, η)-input-outputstable if for each σ ∈ Σ∗ we have

O (f (σ)) ≤ maxσ′�σ

˘γ I

`σ′

´− η

`|σ| −

˛̨σ′

˛̨´¯.

The parameter γ is called the robustness gain. It measures how much thedisturbance is amplified.

The parameter η is called the rate of decay. It measures how quickly the effectsof a disturbance disappear.

The notion of (γ, η)-input-output stability captures the two desired properties.

The verification and synthesis problems are polynomially solvable when f , I, andO are described by finite-state (cost/weighted) automata;

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 12 / 14

Page 36: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessA definition

Adapting and simplifying the control theoretic notion of Input-to-State DynamicStability we propose:

DefinitionGiven parameters γ, η ∈ N, we say the transducer f : Σ∗ → Λ∗ is (γ, η)-input-outputstable if for each σ ∈ Σ∗ we have

O (f (σ)) ≤ maxσ′�σ

˘γ I

`σ′

´− η

`|σ| −

˛̨σ′

˛̨´¯.

The parameter γ is called the robustness gain. It measures how much thedisturbance is amplified.

The parameter η is called the rate of decay. It measures how quickly the effectsof a disturbance disappear.

The notion of (γ, η)-input-output stability captures the two desired properties.

The verification and synthesis problems are polynomially solvable when f , I, andO are described by finite-state (cost/weighted) automata;

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 12 / 14

Page 37: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Input/output based robustnessA definition

Adapting and simplifying the control theoretic notion of Input-to-State DynamicStability we propose:

DefinitionGiven parameters γ, η ∈ N, we say the transducer f : Σ∗ → Λ∗ is (γ, η)-input-outputstable if for each σ ∈ Σ∗ we have

O (f (σ)) ≤ maxσ′�σ

˘γ I

`σ′

´− η

`|σ| −

˛̨σ′

˛̨´¯.

The parameter γ is called the robustness gain. It measures how much thedisturbance is amplified.

The parameter η is called the rate of decay. It measures how quickly the effectsof a disturbance disappear.

The notion of (γ, η)-input-output stability captures the two desired properties.

The verification and synthesis problems are polynomially solvable when f , I, andO are described by finite-state (cost/weighted) automata;

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 12 / 14

Page 38: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Issues for discussion:

It should be possible to robustify any synthesis methodology.

How to migrate these ideas from automata and transducers to programinglanguages in order to make them usable by programmers?

Specifying robustness requires the programer to rank all the possibleenvironment behaviors and all the possible program behaviors. This is notalways easy to do!

I am looking forward to working with all of you to make robustness practical.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 13 / 14

Page 39: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Issues for discussion:

It should be possible to robustify any synthesis methodology.

How to migrate these ideas from automata and transducers to programinglanguages in order to make them usable by programmers?

Specifying robustness requires the programer to rank all the possibleenvironment behaviors and all the possible program behaviors. This is notalways easy to do!

I am looking forward to working with all of you to make robustness practical.

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 13 / 14

Page 40: Synthesizing Robust Software - University of Pennsylvania · Lab Synthesizing Robust Software Paulo Tabuada Rupak Majumdar (MPI),Ayca Balkan, Sina Caliskan, Elaine Render,Matthias

Lab

Robustness

Relevant recent references:

Robust Discrete Synthesis Against Unspecified DisturbancesRupak Majumdar, Elaine Render, and Paulo Tabuada14th International Conference on Hybrid Systems: Computation and Control2011.

A theory of ω-regular robust software synthesisRupak Majumdar, Elaine Render, and Paulo TabuadaTo appear in the ACM Transactions on Embedded Computing Systems, 2012.

Input-Output Stability for Discrete SystemsPaulo Tabuada, Ayca Balkan, Sina Caliskan, Yasser Shoukry, and RupakMajumdarSubmitted to EMSOFT 2012.

For preprints send an email to [email protected].

Paulo Tabuada (CyPhyLab - UCLA) Synthesizing Robust Software UPenn, June 4, 2012 14 / 14