113
On Signal Temporal Logic Alexandre Donzé University of California, Berkeley February 3, 2014 Alexandre Donzé EECS294-98 Spring 2014 1 / 52

On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

On Signal Temporal Logic

Alexandre Donzé

University of California, Berkeley

February 3, 2014

Alexandre Donzé EECS294-98 Spring 2014 1 / 52

Page 2: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Outline

1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 2 / 52

Page 3: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Outline

1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 2 / 52

Page 4: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal logics in a nutshell

Temporal logics specify patterns that timed behaviors of systems may or may notsatisfy.

The most intuitive is the Linear Temporal Logic (LTL), dealing with discretesequences of states.

Based on logic operators (¬, ∧, ∨) and temporal operators: “next”, “always” (G),“eventually” (F) and “until” (U)

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 3 / 52

Page 5: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Linear Temporal Logic

An LTL formula ϕ is evaluated on a sequence, e.g., w = aaabbaaa . . .

At each step of w, we can define a truth value of ϕ, noted χϕ(w, i)

LTL atoms are symbols: a, b:

i = 0 1 2 3 4 5 6 7 . . .w = a a a b b a a a . . .

χa(w, i) = 1 1 1 0 0 1 1 1 . . .χb(w, i) = 0 0 0 1 1 0 0 0 . . .

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 4 / 52

Page 6: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

LTL, Temporal Operators© (“next”), G (“globally”), F (“eventually”) and U (“until”).

They are evaluated at each step wrt the future of sequences

Trace w = a a a b b a a a . . .©b (next) χ©b(w, i) = 0 0 1 1 0 0 0 ? . . .G a (always) χGa(w, i) = 0 0 0 0 0 1? 1? 1? . . .F b (eventually) χFb(w, i) = 1 1 1 1 1 0? 0? 0? . . .a U b (until) χaUb(w, i) = 1 1 1 0 0 0? 0? 0? . . .

Remarksχ is acausal: it depends on future events

Finite sequences semantics allows to define a unique value ∀(w, i)

Notation: w |= ϕ⇔ χϕ(w, 0) = 1

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 5 / 52

Page 7: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

LTL, Temporal Operators© (“next”), G (“globally”), F (“eventually”) and U (“until”).

They are evaluated at each step wrt the future of sequences

Trace w = a a a b b a a a . . .©b (next) χ©b(w, i) = 0 0 1 1 0 0 0 ? . . .G a (always) χGa(w, i) = 0 0 0 0 0 1? 1? 1? . . .F b (eventually) χFb(w, i) = 1 1 1 1 1 0? 0? 0? . . .a U b (until) χaUb(w, i) = 1 1 1 0 0 0? 0? 0? . . .

Remarksχ is acausal: it depends on future events

Finite sequences semantics allows to define a unique value ∀(w, i)

Notation: w |= ϕ⇔ χϕ(w, 0) = 1

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 5 / 52

Page 8: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

LTL, Temporal Operators© (“next”), G (“globally”), F (“eventually”) and U (“until”).

They are evaluated at each step wrt the future of sequences

Trace w = a a a b b a a a . . .©b (next) χ©b(w, i) = 0 0 1 1 0 0 0 0? . . .G a (always) χGa(w, i) = 0 0 0 0 0 1? 1? 1? . . .F b (eventually) χFb(w, i) = 1 1 1 1 1 0? 0? 0? . . .a U b (until) χaUb(w, i) = 1 1 1 0 0 0? 0? 0? . . .

Remarksχ is acausal: it depends on future events

Finite sequences semantics allows to define a unique value ∀(w, i)

Notation: w |= ϕ⇔ χϕ(w, 0) = 1

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 5 / 52

Page 9: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

LTL, Temporal Operators© (“next”), G (“globally”), F (“eventually”) and U (“until”).

They are evaluated at each step wrt the future of sequences

Trace w = a a a b b a a a . . .©b (next) χ©b(w, i) = 0 0 1 1 0 0 0 ? . . .G a (always) χGa(w, i) = 0 0 0 0 0 1? 1? 1? . . .F b (eventually) χFb(w, i) = 1 1 1 1 1 0? 0? 0? . . .a U b (until) χaUb(w, i) = 1 1 1 0 0 0? 0? 0? . . .

Remarksχ is acausal: it depends on future events

Finite sequences semantics allows to define a unique value ∀(w, i)

Notation: w |= ϕ⇔ χϕ(w, 0) = 1

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 5 / 52

Page 10: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

LTL, Temporal Operators© (“next”), G (“globally”), F (“eventually”) and U (“until”).

They are evaluated at each step wrt the future of sequences

Trace w = a a a b b a a a . . .©b (next) χ©b(w, i) = 0 0 1 1 0 0 0 ? . . .G a (always) χGa(w, i) = 0 0 0 0 0 1? 1? 1? . . .F b (eventually) χFb(w, i) = 1 1 1 1 1 0? 0? 0? . . .a U b (until) χaUb(w, i) = 1 1 1 0 0 0? 0? 0? . . .

Remarksχ is acausal: it depends on future events

Finite sequences semantics allows to define a unique value ∀(w, i)

Notation: w |= ϕ⇔ χϕ(w, 0) = 1

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 5 / 52

Page 11: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking

Suppose w are execution traces of some systemM

SystemM aaaabbbaa . . . Property ϕ 111000 . . .

Model-checking: proving thatM |= ϕ

where M |= ϕ ⇔ For all w in traces(M), χϕ(w, 0) = 1

Monitoring: computing χϕ(w, 0) for finite sets of w

Remark: Statistical model checkingDoing statistics on χϕ(w, 0) for populations of w

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 6 / 52

Page 12: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking

Suppose w are execution traces of some systemM

SystemM aaaabbbaa . . . Property ϕ 111000 . . .

Model-checking: proving thatM |= ϕ

where M |= ϕ ⇔ For all w in traces(M), χϕ(w, 0) = 1

Monitoring: computing χϕ(w, 0) for finite sets of w

Remark: Statistical model checkingDoing statistics on χϕ(w, 0) for populations of w

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 6 / 52

Page 13: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking

Suppose w are execution traces of some systemM

SystemM aaaabbbaa . . . Property ϕ 111000 . . .

Model-checking: proving thatM |= ϕ

where M |= ϕ ⇔ For all w in traces(M), χϕ(w, 0) = 1

Monitoring: computing χϕ(w, 0) for finite sets of w

Remark: Statistical model checkingDoing statistics on χϕ(w, 0) for populations of w

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 6 / 52

Page 14: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Model checking temporal logics successful in formal verification andsynthesis for hardware digital circuits

Most on-going research in model checking aims at software

But growing interest/needs in even scarier fields such asanalog/mixed-signal circuits, systems biology, cyber-physical systems

⇒ Tendency to move from discrete-time discrete systems to hybrid(discrete-continuous) systems

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 7 / 52

Page 15: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Model checking temporal logics successful in formal verification andsynthesis for hardware digital circuits

Most on-going research in model checking aims at software

But growing interest/needs in even scarier fields such asanalog/mixed-signal circuits, systems biology, cyber-physical systems

⇒ Tendency to move from discrete-time discrete systems to hybrid(discrete-continuous) systems

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 7 / 52

Page 16: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Model checking temporal logics successful in formal verification andsynthesis for hardware digital circuits

Most on-going research in model checking aims at software

But growing interest/needs in even scarier fields such asanalog/mixed-signal circuits, systems biology, cyber-physical systems

⇒ Tendency to move from discrete-time discrete systems to hybrid(discrete-continuous) systems

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 7 / 52

Page 17: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Model checking temporal logics successful in formal verification andsynthesis for hardware digital circuits

Most on-going research in model checking aims at software

But growing interest/needs in even scarier fields such asanalog/mixed-signal circuits, systems biology, cyber-physical systems

⇒ Tendency to move from discrete-time discrete systems to hybrid(discrete-continuous) systems

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 7 / 52

Page 18: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Vdd

ids1 ids2

Vd1 Vd2C C

Vctrl

IL1 IL2

L R R L

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 8 / 52

Page 19: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 8 / 52

Page 20: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 8 / 52

Page 21: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Temporal Logics in the Wild

On Temporal Logic and Signal Processing, A. Donzé, O. Maler, E. Bartocci, D.Nickovic, R. Grosu, S. Smolka„ ATVA 2012

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 8 / 52

Page 22: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

From LTL to STL

Extension of LTL with real-time and real-valued constraints

Ex: request-grant propertyLTL G( r => F g)Boolean predicates, discrete-time

MTL G( r => F[0,.5s] g )Boolean predicates, real-time

STL G( x[t] > 0 => F[0,.5s]y[t] > 0 )Predicates over real values , real-time

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 9 / 52

Page 23: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

From LTL to STL

Extension of LTL with real-time and real-valued constraints

Ex: request-grant propertyLTL G( r => F g)Boolean predicates, discrete-time

MTL G( r => F[0,.5s] g )Boolean predicates, real-time

STL G( x[t] > 0 => F[0,.5s]y[t] > 0 )Predicates over real values , real-time

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 9 / 52

Page 24: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

From LTL to STL

Extension of LTL with real-time and real-valued constraints

Ex: request-grant propertyLTL G( r => F g)Boolean predicates, discrete-time

MTL G( r => F[0,.5s] g )Boolean predicates, real-time

STL G( x[t] > 0 => F[0,.5s]y[t] > 0 )Predicates over real values , real-time

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 9 / 52

Page 25: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

From LTL to STL

Extension of LTL with real-time and real-valued constraints

Ex: request-grant propertyLTL G( r => F g)Boolean predicates, discrete-time

MTL G( r => F[0,.5s] g )Boolean predicates, real-time

STL G( x[t] > 0 => F[0,.5s]y[t] > 0 )Predicates over real values , real-time

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 9 / 52

Page 26: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Syntax

MTL/STL Formulas

ϕ := > | µ | ¬ϕ | ϕ ∧ ψ | ϕ U[a,b] ψ

I ⊥ = ¬>I Eventually is F[a,b] ϕ = > U[a,b] ϕ

I Always is G[a,b]ϕ = ¬( F[a,b] ¬ϕ)

STL PredicatesSTL adds an analog layer to MTL. Assume signals x1[t], x2[t], . . . , xn [t],then atomic predicates are of the form:

µ = f (x1[t], . . . , xn [t]) > 0

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 10 / 52

Page 27: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Syntax

MTL/STL Formulas

ϕ := > | µ | ¬ϕ | ϕ ∧ ψ | ϕ U[a,b] ψ

I ⊥ = ¬>I Eventually is F[a,b] ϕ = > U[a,b] ϕ

I Always is G[a,b]ϕ = ¬( F[a,b] ¬ϕ)

STL PredicatesSTL adds an analog layer to MTL. Assume signals x1[t], x2[t], . . . , xn [t],then atomic predicates are of the form:

µ = f (x1[t], . . . , xn [t]) > 0

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 10 / 52

Page 28: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL SemanticsThe satisfaction of a formula ϕ by a signal x = (x1, . . . , xn) at time t is

(x, t) |= µ ⇔ f (x1[t], . . . , xn [t]) > 0(x, t) |= ϕ ∧ ψ ⇔ (x, t) |= ϕ ∧ (x, t) |= ψ(x, t) |= ¬ϕ ⇔ ¬((x, t) |= ϕ)(x, t) |= ϕ U[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ ∧

∀t ′′ ∈ [t, t ′], (x, t ′′) |= ϕ}

I Eventually is F[a,b] ϕ = > U[a,b] ϕ

(x, t) |= F[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

I Always is G[a,b]ϕ = ¬( F[a,b] ¬ϕ)

(x, t) |= G[a,b]ψ ⇔ ∀t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 11 / 52

Page 29: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL SemanticsThe satisfaction of a formula ϕ by a signal x = (x1, . . . , xn) at time t is

(x, t) |= µ ⇔ f (x1[t], . . . , xn [t]) > 0(x, t) |= ϕ ∧ ψ ⇔ (x, t) |= ϕ ∧ (x, t) |= ψ(x, t) |= ¬ϕ ⇔ ¬((x, t) |= ϕ)(x, t) |= ϕ U[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ ∧

∀t ′′ ∈ [t, t ′], (x, t ′′) |= ϕ}

I Eventually is F[a,b] ϕ = > U[a,b] ϕ

(x, t) |= F[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

I Always is G[a,b]ϕ = ¬( F[a,b] ¬ϕ)

(x, t) |= G[a,b]ψ ⇔ ∀t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 11 / 52

Page 30: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL SemanticsThe satisfaction of a formula ϕ by a signal x = (x1, . . . , xn) at time t is

(x, t) |= µ ⇔ f (x1[t], . . . , xn [t]) > 0(x, t) |= ϕ ∧ ψ ⇔ (x, t) |= ϕ ∧ (x, t) |= ψ(x, t) |= ¬ϕ ⇔ ¬((x, t) |= ϕ)(x, t) |= ϕ U[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ ∧

∀t ′′ ∈ [t, t ′], (x, t ′′) |= ϕ}

I Eventually is F[a,b] ϕ = > U[a,b] ϕ

(x, t) |= F[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

I Always is G[a,b]ϕ = ¬( F[a,b] ¬ϕ)

(x, t) |= G[a,b]ψ ⇔ ∀t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 11 / 52

Page 31: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Examples

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 12 / 52

Page 32: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Examples

The signal is never above 3.5ϕ := G (x[t] < 3.5)

3.5

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 12 / 52

Page 33: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Examples

Between 2s and 6s the signal is between -2 and 2ϕ := G[2,6] (|x[t]| < 2)

2

2 s6 s

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 12 / 52

Page 34: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Examples

Always |x|>0.5⇒ after 1 s, |x| settles under 0.5 for 1.5 sϕ := G(x[t] > .5→ F[0,.6] ( G[0,1.5] x[t] < 0.5))

0.5

≤1 s 1.5 s

0.5

≤1 s 1.5 s

0.5

≤1 s 1.5 s

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 12 / 52

Page 35: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking STL

I Models are generally hybrid systems producing hybrid tracesI Model-Checking untractable except in restrictive cases, resort to monitoringI Quantitative satisfaction of STL can accomodate noise/approximations and

more

Hybrid System

x = fq(x) ||q0

q1

q2

q0 → q1 → · · ·Simulation

Property ϕ ≡G[q0 → F[0, 1]

q2U[0, .2](x≥ .5)]

ok

¬ ok

Tool Support: Breach Toolbox

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 13 / 52

Page 36: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking STL

I Models are generally hybrid systems producing hybrid tracesI Model-Checking untractable except in restrictive cases, resort to monitoringI Quantitative satisfaction of STL can accomodate noise/approximations and

more

Hybrid System

x = fq(x) ||q0

q1

q2

q0 → q1 → · · ·

x(t)

SimulationProperty ϕ ≡

G[q0 → F[0, 1]

q2U[0, .2](x≥ .5)]

STL monitoring

ok

¬ ok

ok

¬ ok

Tool Support: Breach Toolbox

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 13 / 52

Page 37: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking STL

I Models are generally hybrid systems producing hybrid tracesI Model-Checking untractable except in restrictive cases, resort to monitoringI Quantitative satisfaction of STL can accomodate noise/approximations and

more

Hybrid System

x = fq(x) ||q0

q1

q2

q0 → q1 → · · ·

x(t)± ε

SimulationProperty ϕ ≡

G[q0 → F[0, 1]

q2U[0, .2](x≥ .5)]

STL monitoringok

¬ ok

Tool Support: Breach Toolbox

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 13 / 52

Page 38: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Model-Checking STL

I Models are generally hybrid systems producing hybrid tracesI Model-Checking untractable except in restrictive cases, resort to monitoringI Quantitative satisfaction of STL can accomodate noise/approximations and

more

Hybrid System

x = fq(x) ||q0

q1

q2

q0 → q1 → · · ·

x(t)± ε

SimulationProperty ϕ ≡

G[q0 → F[0, 1]

q2U[0, .2](x≥ .5)]

STL monitoringok

¬ ok

ε

Tool Support: Breach Toolbox

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 13 / 52

Page 39: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Outline

1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 14 / 52

Page 40: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Semantics

The validity of a formula ϕ with respect to a signal x = (x1, . . . , xn) attime t is

(x, t) |= µ ⇔ f (x1[t], . . . , xn [t]) > 0

(x, t) |= ϕ ∧ ψ ⇔ (x, t) |= ϕ ∧ (x, t) |= ψ

(x, t) |= ¬ϕ ⇔ ¬((x, t) |= ϕ)

(x, t) |= ϕ U[a,b] ψ ⇔ ∃t ′ ∈ [t + a, t + b] such that (x, t ′) |= ψ ∧∀t ′′ ∈ [t, t ′], (x, t ′′) |= ϕ}

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 15 / 52

Page 41: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

STL Satisfaction Function

The semantics can be defined as function χϕ(x, t) such that:

x, t |= ϕ⇔ χϕ(x, t) = >

Considering Booleans (B, <,−) as an order with involution:

χµ(x, t) = f (x1[t], . . . , xn [t]) > 0

χ¬ϕ(x, t) = −χϕ(x, t)

χϕ1∧ϕ2(x, t) = min(χϕ1(x, t), χϕ2(w, t))

χϕ1 U[a,b] ϕ2(x, t) = maxτ∈t+[a,b]

(min(χϕ2(x, τ), mins∈[t,τ ]

χϕ1(x, s))

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 16 / 52

Page 42: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

ExampleConsider a simple piecewise affine signal:

x

t

>

⊥1 2 3 4 5 6

1

2

3

4

5

Satisfaction signal of :I ϕ = x ≥ 2

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 17 / 52

Page 43: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

ExampleConsider a simple piecewise affine signal:

I

x

t

>

⊥1 2 3 4 5 6

1

2

3

4

5

Satisfaction signal of :I ϕ = x ≥ 2

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 17 / 52

Page 44: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

ExampleConsider a simple piecewise affine signal:

I

x

t

>

⊥1 2 3 4 5 6

1

2

3

4

5

Satisfaction signal of :I ϕ = x ≥ 2I ϕ = F(x ≥ 2)

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 17 / 52

Page 45: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

ExampleConsider a simple piecewise affine signal:

x

t

>

⊥1 2 3 4 5 6

1

2

3

4

5

Satisfaction signal of :I ϕ = x ≥ 2I ϕ = F[0,0.5](x ≥ 2)

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 17 / 52

Page 46: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Robust Satisfaction Signal

The Reals (R, <,−) also form an order with involution:

ρµ(x, t) = f (x1[t], . . . , xn [t])

ρ¬ϕ(x, t) = −ρϕ(x, t)

ρϕ1∧ϕ2(x, t) = min(ρϕ1(x, t), ρϕ2(w, t))

ρϕ1 U[a,b] ϕ2(x, t) = supτ∈t+[a,b]

(min(ρϕ2(x, τ), infs∈[t,τ ]

ρϕ1(x, s))

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 18 / 52

Page 47: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Property of Robust Satisfaction Signal

I Sign indicates satisfaction status

ρϕ(x, t) > 0⇒ x, t � ϕρϕ(x, t) < 0⇒ x, t 2 ϕ

I Absolute value indicates tolerance

x, t � ϕ and ‖x − x ′‖∞ ≤ ρϕ(x, t) ⇒ x ′, t � ϕx, t 2 ϕ and ‖x − x ′‖∞ ≤ −ρϕ(x, t) ⇒ x ′, t 2 ϕ

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 19 / 52

Page 48: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Property of Robust Satisfaction Signal

I Sign indicates satisfaction status

ρϕ(x, t) > 0⇒ x, t � ϕρϕ(x, t) < 0⇒ x, t 2 ϕ

I Absolute value indicates tolerance

x, t � ϕ and ‖x − x ′‖∞ ≤ ρϕ(x, t) ⇒ x ′, t � ϕx, t 2 ϕ and ‖x − x ′‖∞ ≤ −ρϕ(x, t) ⇒ x ′, t 2 ϕ

Alexandre Donzé Signal Temporal Logic EECS294-98 Spring 2014 19 / 52

Page 49: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Outline

1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 20 / 52

Page 50: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Robust MonitoringA robust STL monitor is a transducer that transform x into ρϕ(x, .)

0 0.5 1 1.5 2 2.5 3 3.5 4−1

0

1

2

3

4

5

6

7

8

x[t]

STL MonitorFormula ϕ

0 0.5 1 1.5 2 2.5 3 3.5 4−4

−3

−2

−1

0

1

2

3

4

Quant. satBool. sat

ρϕ(x, ·)/χϕ(x, ·)

In practiceI Trace: time words over alphabet R, linear interpolation

Input: x(·) , (ti , x(ti))i∈N 0utput: ρϕ(x, ·) , (rj , z(rj))j∈NI Continuity, and piecewise affine property preserved

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 21 / 52

Page 51: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Robust MonitoringA robust STL monitor is a transducer that transform x into ρϕ(x, .)

0 0.5 1 1.5 2 2.5 3 3.5 4−1

0

1

2

3

4

5

6

7

8

x[t]

STL MonitorFormula ϕ

0 0.5 1 1.5 2 2.5 3 3.5 4−4

−3

−2

−1

0

1

2

3

4

Quant. satBool. sat

ρϕ(x, ·)/χϕ(x, ·)

In practiceI Trace: time words over alphabet R, linear interpolation

Input: x(·) , (ti , x(ti))i∈N 0utput: ρϕ(x, ·) , (rj , z(rj))j∈NI Continuity, and piecewise affine property preserved

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 21 / 52

Page 52: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Robust MonitoringA robust STL monitor is a transducer that transform x into ρϕ(x, .)

0 0.5 1 1.5 2 2.5 3 3.5 4−1

0

1

2

3

4

5

6

7

8

x[t]

STL MonitorFormula ϕ

0 0.5 1 1.5 2 2.5 3 3.5 4−4

−3

−2

−1

0

1

2

3

4

Quant. satBool. sat

ρϕ(x, ·)/χϕ(x, ·)

In practiceI Trace: time words over alphabet R, linear interpolation

Input: x(·) , (ti , x(ti))i∈N 0utput: ρϕ(x, ·) , (rj , z(rj))j∈NI Continuity, and piecewise affine property preserved

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 21 / 52

Page 53: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Computing the Robust Satisfaction Function( Donze, Ferrere, Maler, Efficient Robust Monitoring of STL Formula, CAV’13)

I Atomic transducers compute in linear time in the size of the inputI Key idea is to exploit efficient streaming algorithm (Lemire’s)

computing the max and min over a moving window

I The function ρϕ(x, t) is computed inductively on the structure of ϕI linear time complexity in size of x is preservedI exponential worst case complexity in the size of ϕ

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 22 / 52

Page 54: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Boolean operators

NegationI Input signal: (ti , x(ti))i≤nx

I Output signal: (ti ,−x(ti))i≤nx

ConjunctionI Input signals: (ti , x(ti))i≤nx , (t ′i , x ′(t ′i))i≤nx′

I Output signal: (ri , z(ri))i≤nz

Time sequence r contains t, t ′, and punctual intersections x ∩ x ′Value z(ri) = min{x(ri), x ′(ri)}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 23 / 52

Page 55: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Boolean operators

NegationI Input signal: (ti , x(ti))i≤nx

I Output signal: (ti ,−x(ti))i≤nx

ConjunctionI Input signals: (ti , x(ti))i≤nx , (t ′i , x ′(t ′i))i≤nx′

I Output signal: (ri , z(ri))i≤nz

Time sequence r contains t, t ′, and punctual intersections x ∩ x ′Value z(ri) = min{x(ri), x ′(ri)}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 23 / 52

Page 56: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Until

Rewrite PropertyI Boolean SemanticsϕU[a,b]ψ ∼ G[0,a]ϕ ∧ F[a,b]ψ ∧ F{a}(ϕUψ)

I Quantitative SemanticsρϕU[a,b]ψ(x, t) = ρG[0,a]ϕ∧F[a,b]ψ∧F{a}(ϕUψ)(x, t)

Combines untimed until and timed eventually

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 24 / 52

Page 57: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Until

Rewrite PropertyI Boolean SemanticsϕU[a,b]ψ ∼ G[0,a]ϕ ∧ F[a,b]ψ ∧ F{a}(ϕUψ)

I Quantitative SemanticsρϕU[a,b]ψ(x, t) = ρG[0,a]ϕ∧F[a,b]ψ∧F{a}(ϕUψ)(x, t)

Combines untimed until and timed eventually

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 24 / 52

Page 58: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Untimed Until

Computed by backward induction:

For all s < t, we note x�[s,t) the restriction of x to [s, t).

I Boolean Semantics x, s � ϕUψ iffx�[s,t), s � ϕUψ or

(x�[s,t), s � Gϕ and x, t � ϕUψ

)I Quantitative Semantics ρϕUψ(x, s) =

max{ρϕUψ(x�[s,t), s),min{ρ(Gϕ, x�[s,t), s), ρ(ϕUψ, x, t)}

}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 25 / 52

Page 59: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Untimed Until

Computed by backward induction:

For all s < t, we note x�[s,t) the restriction of x to [s, t).

I Boolean Semantics x, s � ϕUψ iffx�[s,t), s � ϕUψ or

(x�[s,t), s � Gϕ and x, t � ϕUψ

)I Quantitative Semantics ρϕUψ(x, s) =

max{ρϕUψ(x�[s,t), s),min{ρ(Gϕ, x�[s,t), s), ρ(ϕUψ, x, t)}

}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 25 / 52

Page 60: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Timed Eventually

Definition: ρF[a,b]ϕ(x, t) = supt′∈[t+a,t+b]

ρϕ(x, t) = sup[t+a,t+b]

x

Computation:I the maximum is reached at t + a, t + b, or at sample point in{ti | ti ∈ (t + a, t + b]}

I max{x(ti) | ti ∈ (t + a, t + b]} computed by Lemire’s algorithm:

we maintain an ordered set M such thatmax{x(ti)|i ∈ M} = max{x(ti) | ti ∈ (t + a, t + b]}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 26 / 52

Page 61: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Timed Eventually: two steps in Lemire’s algorithm

b+a

Maximum candidates {x(ti)|i ∈ M} = {u1, u2, u3, u4}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 27 / 52

Page 62: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Timed Eventually: two steps in Lemire’s algorithm

t+a t+b

Maximum candidates {x(ti)|i ∈ M} = {u1, u2, u3}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 27 / 52

Page 63: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Timed Eventually: two steps in Lemire’s algorithm

t+a t+b

Maximum candidates {x(ti)|i ∈ M} = {u2, u3}

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 27 / 52

Page 64: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Performance Results

0 2e4 4e4 6e4 8e4 10e40

0.5

1

1.5

2

2.5

3

Signal size ny

Computa

tionTim

e(s)

|ϕ| = 1,Time ρ ' 2.34 × 10−6n y

|ϕ| = 25,Time ρ ' 1.63 × 10−5n y

|ϕ| = 50,Time ρ ' 2.45 × 10−5n y

Alexandre Donzé Robust Monitoring of STL EECS294-98 Spring 2014 28 / 52

Page 65: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé STL Problems EECS294-98 Spring 2014 29 / 52

Page 66: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parametric STL

Informally, a PSTL formula is an STL formula where (some) numericconstants are left unspecified, represented by symbolic parameters.

Definition (PSTL syntax)

ϕ := µ(x[t]) > π | ¬ϕ | ϕ ∧ ψ | ϕ U[τ1,τ2] ψ

whereI π is a scale parameterI τ1, τ2 are time parameters

Alexandre Donzé STL Problems EECS294-98 Spring 2014 30 / 52

Page 67: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parametric STL - Illustration“After 2s, the signal is never above 3”

ϕ := F[2,∞] (x[t] < 3)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 31 / 52

Page 68: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parametric STL - Illustration“After 2s, the signal is never above 3”

ϕ := F[2,∞] (x[t] < 3)

3

2

Alexandre Donzé STL Problems EECS294-98 Spring 2014 31 / 52

Page 69: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parametric STL - Illustration“After τ s, the signal is never above π”

ϕ := G[τ,∞] (x[t] < π)

π ?

τ ?

Alexandre Donzé STL Problems EECS294-98 Spring 2014 31 / 52

Page 70: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parameter synthesis for PSTL

ProblemGiven a system S with a PSTL formula with n symbolic parametersϕ(p1, . . . , pn), find a tight valuation function v such that

x, t |= ϕ(v(p1), . . . , v(pn)),

Informally, a valuation v is tight if there exists a valuation v′ in a δ-closeneighborhood of v, with δ “small”, such that

x, t |=/ ϕ(v′(p1), . . . , v′(pn))

Alexandre Donzé STL Problems EECS294-98 Spring 2014 32 / 52

Page 71: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Exampleϕ := G

(x[t] > π → F[0,τ1] ( G[0,τ2] x[t] < π)

)I Valuation 1: π ← 1.5, τ1 ← 1 s, τ2 ← 1.15 sI Valuation 2 (tight): π ← .5, τ1 ← 0.65 s, τ2 ← 2 s

Alexandre Donzé STL Problems EECS294-98 Spring 2014 33 / 52

Page 72: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Exampleϕ := G

(x[t] > π → F[0,τ1] ( G[0,τ2] x[t] < π)

)I Valuation 1: π ← 1.5, τ1 ← 1 s, τ2 ← 1.15 sI Valuation 2 (tight): π ← .5, τ1 ← 0.65 s, τ2 ← 2 s

π

τ1 s

τ2 s

Alexandre Donzé STL Problems EECS294-98 Spring 2014 33 / 52

Page 73: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Exampleϕ := G

(x[t] > π → F[0,τ1] ( G[0,τ2] x[t] < π)

)I Valuation 1: π ← 1.5, τ1 ← 1 s, τ2 ← 1.15 sI Valuation 2 (tight): π ← .5, τ1 ← 0.65 s, τ2 ← 2 s

π

τ1 s

τ2 s

Alexandre Donzé STL Problems EECS294-98 Spring 2014 33 / 52

Page 74: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parameter synthesis

ChallengesI Multiple solutions: which one to chose ?I Tightness implies to “optimize” the valuation v(pi) for each pi

The problem can be greatly simplified if the formula is monotonic in each pi .

DefinitionA PSTL formula ϕ(p1, · · · , pn) is monotonically increasing wrt pi if

∀x, v, v′,

x |= ϕ(v(p1), . . . , v(pi), . . .)v(pj) = v′(pj), j 6= iv′(pi) ≥ v(pi)

⇒ x |= ϕ(v′(p1), . . . , v′(pi), . . .)

It is monotonically decreasing if this holds when replacing v′(pi) ≥ v(pi) withv′(pi) ≤ v(pi).

Alexandre Donzé STL Problems EECS294-98 Spring 2014 34 / 52

Page 75: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parameter synthesis

ChallengesI Multiple solutions: which one to chose ?I Tightness implies to “optimize” the valuation v(pi) for each pi

The problem can be greatly simplified if the formula is monotonic in each pi .

DefinitionA PSTL formula ϕ(p1, · · · , pn) is monotonically increasing wrt pi if

∀x, v, v′,

x |= ϕ(v(p1), . . . , v(pi), . . .)v(pj) = v′(pj), j 6= iv′(pi) ≥ v(pi)

⇒ x |= ϕ(v′(p1), . . . , v′(pi), . . .)

It is monotonically decreasing if this holds when replacing v′(pi) ≥ v(pi) withv′(pi) ≤ v(pi).

Alexandre Donzé STL Problems EECS294-98 Spring 2014 34 / 52

Page 76: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

Exact D(x, ϕ)

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 77: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 78: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 79: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 80: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 81: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 82: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 83: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Monotonic Validity DomainsI The validity domain D of ϕ and x is the set of valuations v s.t. x |= ϕ(v)I A tight valuation is a valuation in D close to its boundary ∂DI In case of monoticity, ∂D has the structure of a Pareto front which can be

estimated with generalized binary search heuristics

p1

p2

x

x

x

* D(x, ϕ) ⊆ D(x, ϕ)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 35 / 52

Page 84: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Deciding Monotonicity

Simple casesI f (x) > π ↘ f (x) < π ↗I G[0,τ ] ϕ ↘ F[0,τ ] ϕ ↗I etc

General caseI Deciding monotonicity can be encoded in an SMT queryI However, the problem is undecidable, due to undecidabilty of STLI In practice, monotonicity can be decided easily (in our experience so

far)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 36 / 52

Page 85: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Deciding Monotonicity

Simple casesI f (x) > π ↘ f (x) < π ↗I G[0,τ ] ϕ ↘ F[0,τ ] ϕ ↗I etc

General caseI Deciding monotonicity can be encoded in an SMT queryI However, the problem is undecidable, due to undecidabilty of STLI In practice, monotonicity can be decided easily (in our experience so

far)

Alexandre Donzé STL Problems EECS294-98 Spring 2014 36 / 52

Page 86: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé STL Problems EECS294-98 Spring 2014 37 / 52

Page 87: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Solving the Falsification problem

ProblemGiven the system:

u(t) System S S(u(t))

Find an input signal u ∈ U such that S(u(t)), 0 |=/ ϕ

In practiceI We parameterize U and reduce the problem to a parameter synthesis

problem within some set PuI The search of a solution is guided by the quantitative measure of

satisfaction of ϕ

Alexandre Donzé STL Problems EECS294-98 Spring 2014 38 / 52

Page 88: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Solving the Falsification problem

ProblemGiven the system:

u(t) System S S(u(t))

Find an input signal u ∈ U such that S(u(t)), 0 |=/ ϕ

In practiceI We parameterize U and reduce the problem to a parameter synthesis

problem within some set PuI The search of a solution is guided by the quantitative measure of

satisfaction of ϕ

Alexandre Donzé STL Problems EECS294-98 Spring 2014 38 / 52

Page 89: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Parameterizing the Input Space

Input parameter set Pu Input signals u(t) ∈ U

0 5 10 150

10

20

30

40

50

60

70

80

NoteThe set of input signals generated by Pu is in general a subset of U

I.e., we do not guarantee completeness.

Alexandre Donzé STL Problems EECS294-98 Spring 2014 39 / 52

Page 90: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Falsification with Quantitative Satisfaction

Given a formula ϕ, a signal x and a time t, recall that we have:ρϕ(x, t) > 0⇒ x, t � ϕρϕ(x, t) < 0⇒ x, t 2 ϕ

pu System S x(t) STL Monitor ϕok

¬ ok

ρϕ(x, t)

As x is obtained by simulation using input parameters pu, the falsificationproblem can be reduced to solving

ρ∗ = minpu∈Pu

ρϕ(x, 0)

If ρ∗ < 0, we found a counterexample.

Alexandre Donzé STL Problems EECS294-98 Spring 2014 40 / 52

Page 91: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Falsification with Quantitative Satisfaction

Given a formula ϕ, a signal x and a time t, recall that we have:ρϕ(x, t) > 0⇒ x, t � ϕρϕ(x, t) < 0⇒ x, t 2 ϕ

pu System S x(t) STL Monitor ϕok

¬ ok

ρϕ(x, t)

As x is obtained by simulation using input parameters pu, the falsificationproblem can be reduced to solving

ρ∗ = minpu∈Pu

ρϕ(x, 0)

If ρ∗ < 0, we found a counterexample.

Alexandre Donzé STL Problems EECS294-98 Spring 2014 40 / 52

Page 92: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Optimizing Satisfaction Function

Solvingρ∗ = min

pu∈PuF(pu) = ρϕ(x, 0)

is difficult in general, as nothing can be assumed on F .

In practice, use of global nonlinear optimization algorithms

Success will depend on how smooth is Fu , its local optima, etc

Critical is the ability to compute ρ efficiently.

Alexandre Donzé STL Problems EECS294-98 Spring 2014 41 / 52

Page 93: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Smoothing Quantitative Satisfaction FunctionsDepending on how ρ is defined, the function to optimize can have different profiles

0

20

40

60

80

100 0

5

10

15

20

−6

−4

−2

0

2

4

0

dt_u0

0

0

0

0

(not (ev_[0, 5] (gear4w))) and (not ((ev (speed[t]>70)) and (alw_[40, inf] (speed[t]<30))))

throttle_u0

Qua

ntita

tive

Sat

isfa

ctio

n

−5

−4

−3

−2

−1

0

1

2

Alexandre Donzé STL Problems EECS294-98 Spring 2014 42 / 52

Page 94: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Smoothing Quantitative Satisfaction FunctionsDepending on how ρ is defined, the function to optimize can have different profiles

0

20

40

60

80

100 0

5

10

15

20

−6

−4

−2

0

2

4

0

dt_u0

0

0

0

0

(not (ev_[0, 5] (gear4w))) and (not ((ev (speed[t]>70)) and (alw_[40, inf] (speed[t]<30))))

throttle_u0

Qua

ntita

tive

Sat

isfa

ctio

n

−5

−4

−3

−2

−1

0

1

2

Alexandre Donzé STL Problems EECS294-98 Spring 2014 42 / 52

Page 95: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Smoothing Quantitative Satisfaction FunctionsDepending on how ρ is defined, the function to optimize can have different profiles

0

20

40

60

80

100 0

5

10

15

20

−20

0

20

40

60

80

dt_u0

0

00

0

0

(not (ev_[0, 5] (gear4w))) and (not ((ev (speed[t]>70)) and (alw_[40, inf] (speed[t]<30))))

throttle_u0

Qua

ntita

tive

Sat

isfa

ctio

n

0

10

20

30

40

50

60

Alexandre Donzé STL Problems EECS294-98 Spring 2014 42 / 52

Page 96: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm1 Signal Temporal LogicFrom LTL to STLRobust Semantics

2 Robust Monitoring of STL

3 STL ProblemsPSTL and Parameter SynthesisFalsificationSpecification Mining

Alexandre Donzé STL Problems EECS294-98 Spring 2014 43 / 52

Page 97: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Mining ProblemConsider the following automatic transmission system:

gear3

RPM2

speed1

VehicleTransmission

Ne

gear

Nout

Ti

Tout

ThresholdCalculation

run() gear

throttle

down_th

up_th

ShiftLogic

speed

up_th

down_th

gear

CALC_TH

Engine

Ti

ThrottleNe

2

throttle1

ImprellerTorque

EngineRPM

TransmissionRPM

VehicleSpeed

OutputTorque

I What is the maximum speed that the vehicule can reach ?I What is the minimum dwell time in a given gear ?I etc

Alexandre Donzé STL Problems EECS294-98 Spring 2014 44 / 52

Page 98: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis

Our approach takes two major ingredientsI PSTL to formulate template specificationsI A counter-example guided inductive synthesis loop alternating

parameter synthesis and falsification

Alexandre Donzé STL Problems EECS294-98 Spring 2014 45 / 52

Page 99: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Template Specification Examples

I the speed is always below π1 and RPM below π2

ϕsp_rpm(π1, π2) := G ( (speed < π1) ∧ (RPM < π2) ) .

I the vehicle cannot reach 100 mph in τ seconds with RPM always below π

ϕrpm100(τ, π) := ¬( F[0,τ ] (speed > 100) ∧ G(RPM < π)).

I whenever it shift to gear 2, it dwells in gear 2 for at least τ seconds

ϕstay(τ) := G((

gear 6= 2 ∧F[0,ε] gear = 2

)⇒ G[ε,τ ]gear = 2

).

Alexandre Donzé STL Problems EECS294-98 Spring 2014 46 / 52

Page 100: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Template Specification Examples

I the speed is always below π1 and RPM below π2

ϕsp_rpm(π1, π2) := G ( (speed < π1) ∧ (RPM < π2) ) .

I the vehicle cannot reach 100 mph in τ seconds with RPM always below π

ϕrpm100(τ, π) := ¬( F[0,τ ] (speed > 100) ∧ G(RPM < π)).

I whenever it shift to gear 2, it dwells in gear 2 for at least τ seconds

ϕstay(τ) := G((

gear 6= 2 ∧F[0,ε] gear = 2

)⇒ G[ε,τ ]gear = 2

).

Alexandre Donzé STL Problems EECS294-98 Spring 2014 46 / 52

Page 101: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Template Specification Examples

I the speed is always below π1 and RPM below π2

ϕsp_rpm(π1, π2) := G ( (speed < π1) ∧ (RPM < π2) ) .

I the vehicle cannot reach 100 mph in τ seconds with RPM always below π

ϕrpm100(τ, π) := ¬( F[0,τ ] (speed > 100) ∧ G(RPM < π)).

I whenever it shift to gear 2, it dwells in gear 2 for at least τ seconds

ϕstay(τ) := G((

gear 6= 2 ∧F[0,ε] gear = 2

)⇒ G[ε,τ ]gear = 2

).

Alexandre Donzé STL Problems EECS294-98 Spring 2014 46 / 52

Page 102: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 103: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 104: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 105: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 106: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 107: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← .7, π1 ← 2, π2 ← 3

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 108: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← 1.1, π1 ← 3.7, π2 ← 5

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 109: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Specification Synthesis Algorithm

Template Specification Inferred Specification

+ Controller Plant Modele u

y

FindParam

SimulationTraces

CandidateSpecification

CounterexampleTraces

FalsifyAlgo

F[0,τ1](x1 < π1 ∧ G[0,τ2](x2 > π2))

τ1 ← 1.1, π1 ← 3.7, π2 ← 5

F[0,1.1](x1 < 3.7 ∧ G[0,5](x2 > 0.1))

init

Counter-exampleFound

No Counterexample

Alexandre Donzé STL Problems EECS294-98 Spring 2014 47 / 52

Page 110: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

ResultsI the speed is always below π1 and RPM below π2

ϕsp_rpm(π1, π2) := G ( (speed < π1) ∧ (RPM < π2) ) .

I the vehicle cannot reach 100 mph in τ seconds with RPM always below π

ϕrpm100(τ, π) := ¬( F[0,τ ] (speed > 100) ∧ G(RPM < π)).

I whenever it shift to gear 2, it dwells in gear 2 for at least τ seconds

ϕstay(τ) := G((

gear 6= 2 ∧F[0,ε] gear = 2

)⇒ G[ε,τ ]gear = 2

).

Template Parameter values Fals. Synth. #Sim. Sat./xϕsp_rpm(π1, π2) (155 mph, 4858 rpm) 197.2 s 23.1 s 496 0.043 sϕrpm100(π, τ) (3278.3 rpm, 49.91 s) 267.7 s 10.51 s 709 0.026 sϕrpm100(τ, π) (4997 rpm, 12.20 s) 147.8 s 5.188 s 411 0.021 sϕstay(π) 1.79 s 430.9 s 2.157 s 1015 0.032 s

Alexandre Donzé STL Problems EECS294-98 Spring 2014 48 / 52

Page 111: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Results on Industrial-scale Model

4000+ Simulink blocksLook-up tablesnonlinear dynamics

I Attempt to mine maximum observed settling time:I stops after 4 iterationsI gives answer tsettle = simulation time horizon...

0

Alexandre Donzé STL Problems EECS294-98 Spring 2014 49 / 52

Page 112: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Results on Industrial-scale Model

0

I The above trace found an actual (unexpected) bug in the modelI The cause was identified as a wrong value in a look-up table

Alexandre Donzé STL Problems EECS294-98 Spring 2014 50 / 52

Page 113: On Signal Temporal Logic - Peoplesseshia/fmee/lectures/EECS294-98_Spring2014_STL...40 60 80 100 120 40 60 80 mm Outline 1 SignalTemporalLogic FromLTLtoSTL RobustSemantics 2 RobustMonitoringofSTL

40 60 80 100 120

40

60

80

mm

Conclusion

A lot of work still to be done:I Online monitoring and miningI STL and timed/hybrid automaI Better falsification/optimization of satisfaction functionsI STL templates mining (beyond parameters in PSTL)I Helping designers writing and using STL

Alexandre Donzé Conclusion EECS294-98 Spring 2014 51 / 52