Towards a Hybrid Dynamic Logic for Hybrid Dynamic Systems e Platzer - - PowerPoint PPT Presentation

towards a hybrid dynamic logic for hybrid dynamic systems
SMART_READER_LITE
LIVE PREVIEW

Towards a Hybrid Dynamic Logic for Hybrid Dynamic Systems e Platzer - - PowerPoint PPT Presentation

Towards a Hybrid Dynamic Logic for Hybrid Dynamic Systems e Platzer 1 , 2 Andr 1 Carnegie Mellon University, Pittsburgh, PA, USA 2 University of Oldenburg, Department of Computing Science, Germany aplatzer@cs.cmu.edu LICS International


slide-1
SLIDE 1

Towards a Hybrid Dynamic Logic for Hybrid Dynamic Systems

Andr´ e Platzer1,2

1Carnegie Mellon University, Pittsburgh, PA, USA 2University of Oldenburg, Department of Computing Science, Germany

aplatzer@cs.cmu.edu

LICS International Workshop on Hybrid Logic 2006

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 1 / 10

slide-2
SLIDE 2

Towards a Hybrid Dynamic Logic for Hybrid Dynamic Systems

Andr´ e Platzer1,2

1Carnegie Mellon University, Pittsburgh, PA, USA 2University of Oldenburg, Department of Computing Science, Germany

aplatzer@cs.cmu.edu

LICS International Workshop on Hybrid Logic 2006

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 1 / 10

slide-3
SLIDE 3

Hybrid Dynamic Systems

Hybrid Dynamic Logic

Logic with state-references and program-modalities

Hybrid Dynamic Systems

Hybrid dynamic systems are subject to both continuous evolution along differential equations and discrete change. t x

+0.5

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-4
SLIDE 4

Hybrid Dynamic Systems

Hybrid Dynamic Systems

Hybrid dynamic systems are subject to both continuous evolution along differential equations and discrete change.

Example (Safety-Critical)

Car / train / aircraft / chemical process / artificial pancreas discrete: digital controller of plant continuous: physical model of plant

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-5
SLIDE 5

Hybrid Dynamic Systems: Verification

Hybrid Dynamic Systems

Hybrid dynamic systems are subject to both continuous evolution along differential equations and discrete change.

Challenges (Compositional Verification)

1 Verify intricate dynamics in isolation 2 Integrability of local correctness Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-6
SLIDE 6

Hybrid Dynamic Systems: Verification

Hybrid Dynamic Systems

Hybrid dynamic systems are subject to both continuous evolution along differential equations and discrete change.

Challenges (Compositional Verification)

1 Verify intricate dynamics in isolation 2 Integrability of local correctness 1

state-based reasoning: (transition to abstract state i)

2

introspection: (statement about other state @iφ)

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-7
SLIDE 7

Outline

1

Motivation

2

The Logic dLh Syntax Semantics Compositional Introspection

3

The dLh Calculus Sequent Calculus State-based Reasoning Soundness & Co

4

Conclusions & Future Work

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-8
SLIDE 8

Outline

1

Motivation

2

The Logic dLh Syntax Semantics Compositional Introspection

3

The dLh Calculus Sequent Calculus State-based Reasoning Soundness & Co

4

Conclusions & Future Work

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 2 / 10

slide-9
SLIDE 9

The Logic dLh: Syntax

dLh formulas = first-order logic + dynamic logic

  • [α]φ,

αφ

+ hybrid logic

Definition (System actions α)

˙ x = f (x) (continuous evolution) x := θ (discrete mode switch) φ? (conditional execution) α; γ (seq. composition) α ∪ γ (nondet. choice) α∗ (nondet. repetition)

Details Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 3 / 10

slide-10
SLIDE 10

dLh Semantics: Hybrid System Evolution

t x e−t ˙ x = −x +0.5 ˙ x = f (x) x > 1 → ˙ x = −x; x := x + 0.5; ˙ x = f (x) safe

Details Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 4 / 10

slide-11
SLIDE 11

dLh Semantics: Hybrid System Evolution

t x e−t ˙ x = −x

+0.5 ˙

x = f (x) x > 1 → ˙ x = −x; x := x + 0.5; ˙ x = f (x) safe

Details Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 4 / 10

slide-12
SLIDE 12

Compositional Introspection in ETCS Braking

[poll-sensor; a := accel-sys; ¨ z = a](z ≥ m → @islope)

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 5 / 10

slide-13
SLIDE 13

Compositional Introspection in ETCS Braking

[poll-sensor; a := accel-sys; i?; ¨ z = a](z ≥ m → @islope)

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 5 / 10

slide-14
SLIDE 14

Outline

1

Motivation

2

The Logic dLh Syntax Semantics Compositional Introspection

3

The dLh Calculus Sequent Calculus State-based Reasoning Soundness & Co

4

Conclusions & Future Work

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 5 / 10

slide-15
SLIDE 15

Sequent Calculus (excerpt)

(R1) @ix := θj ⊢ @iF θ

x

@ix := θj ⊢ @jF (R2) @iαa, @aφ ⊢ @iαφ ⊢ (R3) @i∃t≥0 x := yx(t)φ ⊢ @i˙ x = f (x)φ ⊢ where yx solution of IVP

  • ˙

x = f (x) x(0) = x

  • Priority:

R3>R2>R1

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 6 / 10

slide-16
SLIDE 16

State-based Reasoning for Compositional Verification

∗ @ta := -br, @t¨ z = -bcr ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acr ⊢ @t¨ z = -bz ≥ m ... @tc2?; . . .r ⊢ . . . @t(a := -br ∨ c2?; a := 0.1r), @r¨ z = acr ⊢ @t¨ z = -bz ≥ m @ta := -b ∪ (c2?; a := 0.1)r, @r¨ z = acr ⊢ @t¨ z = -bz ≥ m @ta := -b ∪ (c2?; a := 0.1)¨ z = acr ⊢ @t¨ z = -bz ≥ m @taccelcr ⊢ @t¨ z = -bz ≥ m @t¬¨ z = -bz ≥ m, @stctlt, @taccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctlt, @taccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctlaccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctl; accelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m ⊢ @s¬tctl; accelcr

Abbreviations: c2 ≡ (m−z≥2e) and accel ≡

  • a := -b ∪ (c2?; a := 0.1)
  • ; ¨

z = a

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-17
SLIDE 17

State-based Reasoning for Compositional Verification

∗ @ta := -br, @t¨ z = -bcr ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acr ⊢ @t¨ z = -bz ≥ m ... @tc2?; . . .r ⊢ . . . @t(a := -br ∨ c2?; a := 0.1r), @r¨ z = acr ⊢ @t¨ z = -bz ≥ m @ta := -b ∪ (c2?; a := 0.1)r, @r¨ z = acr ⊢ @t¨ z = -bz ≥ m @ta := -b ∪ (c2?; a := 0.1)¨ z = acr ⊢ @t¨ z = -bz ≥ m @taccelcr ⊢ @t¨ z = -bz ≥ m @t¬¨ z = -bz ≥ m, @stctlt, @taccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctlt, @taccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctlaccelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m, @stctl; accelcr ⊢ @s[tctl]¬¨ z = -bz ≥ m ⊢ @s¬tctl; accelcr

Abbreviations: c2 ≡ (m−z≥2e) and accel ≡

  • a := -b ∪ (c2?; a := 0.1)
  • ; ¨

z = a

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-18
SLIDE 18

State-based Reasoning for Compositional Verification

∗ @t¨ z = -bs, @scrash ⊢ @sz ≥ m @t¨ z = -bs, @scrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @t¨ z = -bcrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acrash ⊢ @t¨ z = -bz ≥ m

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-19
SLIDE 19

State-based Reasoning for Compositional Verification

∗ @t¨ z = -bs, @scrash ⊢ @sz ≥ m @t¨ z = -bs, @scrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @t¨ z = -bcrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acrash ⊢ @t¨ z = -bz ≥ m

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-20
SLIDE 20

State-based Reasoning for Compositional Verification

∗ @t¨ z = -bs, @scrash ⊢ @sz ≥ m @t¨ z = -bs, @scrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @t¨ z = -bcrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acrash ⊢ @t¨ z = -bz ≥ m

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-21
SLIDE 21

State-based Reasoning for Compositional Verification

∗ @t¨ z = -bs, @scrash ⊢ @sz ≥ m @t¨ z = -bs, @scrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @t¨ z = -bcrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acrash ⊢ @t¨ z = -bz ≥ m

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-22
SLIDE 22

State-based Reasoning for Compositional Verification

∗ @t¨ z = -bs, @scrash ⊢ @sz ≥ m @t¨ z = -bs, @scrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @t¨ z = -bcrash ⊢ @t¨ z = -bz ≥ m @ta := -br, @r¨ z = acrash ⊢ @t¨ z = -bz ≥ m

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-23
SLIDE 23

Soundness & Reduction

Theorem (Soundness)

dLh calculus is sound.

Remark (Incompleteness)

(unbounded) dLh logic is inherently incomplete.

Proposition (Reducibility)

dLh is reducible to dL. Proof (Sketch): states characterised by variable assignments i i = x @iφ x := iφ

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-24
SLIDE 24

Outline

1

Motivation

2

The Logic dLh Syntax Semantics Compositional Introspection

3

The dLh Calculus Sequent Calculus State-based Reasoning Soundness & Co

4

Conclusions & Future Work

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-25
SLIDE 25

Future Work

Levels of completeness Parallel systems Verification tool

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 9 / 10

slide-26
SLIDE 26

Conclusions

Challenges (Hybrid Dynamic Systems)

1

Verify intricate dynamics in isolation

2

Integrability of local correctness

dLh is a hybrid dynamic logic extending dL for compositionality:

State-based reasoning Introspection

Calculus with goal-directed interface to mathematical problem solving

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 10 / 10

slide-27
SLIDE 27

Outline

5

The Logic dLh (Details) Hybrid Dynamic Logic vs. Hybrid Dynamic Systems Syntax Semantics

6

Appendix ETCS in Mathematica Flexible Verification Language

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 5 / 10

slide-28
SLIDE 28

Hybrid Dynamic Logic vs. Hybrid Dynamic Systems

dynamic logic := logic with program-modalities dynamic system := states vary along ODE hybrid logic := logic with state-references hybrid system := interacting discrete & continuous behaviour

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 6 / 10

slide-29
SLIDE 29

The Logic dLh: Syntax

Definition (Formulas φ)

¬, ∧, ∨, →, ↔, ∀x , ∃x , =, ≥, ≤, +, · (first-order part) [α]φ, αφ (dynamic part) i, @iφ (hybrid part)

Definition (System actions α)

x := θ (discrete mode switch) ˙ x = θ (continuous evolution) φ? (conditional execution) α; γ (seq. composition) α ∪ γ (nondet. choice) α∗ (nondet. repetition)

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 7 / 10

slide-30
SLIDE 30

The Logic dLh: Semantics

Definition (Formulas φ)

valη(v, [α]φ) = true :⇐ ⇒ valη(w, φ) = true ∀ ∀w with (v, w) ∈ ρη(α) valη(v, αφ) = true :⇐ ⇒ valη(w, φ) = true ∃ ∃w with (v, w) ∈ ρη(α) valη(v, i) = true :⇐ ⇒ η(i) = v valη(v, @iφ) = true :⇐ ⇒ valη(η(i), φ) = true

Definition (System actions α)

v w1 wn [α]φ ρη(α) φ ρη(α) φ

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-31
SLIDE 31

The Logic dLh: Semantics

Definition (Formulas φ)

valη(v, [α]φ) = true :⇐ ⇒ valη(w, φ) = true ∀ ∀w with (v, w) ∈ ρη(α) valη(v, αφ) = true :⇐ ⇒ valη(w, φ) = true ∃ ∃w with (v, w) ∈ ρη(α) valη(v, i) = true :⇐ ⇒ η(i) = v valη(v, @iφ) = true :⇐ ⇒ valη(η(i), φ) = true

Definition (System actions α)

(v, w) ∈ ρη(x := θ) :⇐ ⇒ w = v[x → valη(v, θ)] (v, w) ∈ ρη(˙ x = f (x)) :⇐ ⇒ “ d

dτ valη(·, x)(ζ) = valη(ζ, f (x))

∀ ∀ζ ∈ (v, w ρη(φ?) = {(v, v) : valη(v, φ) = true} ρη(α; γ) = ρη(α) ◦ ρη(γ) ρη(α ∪ γ) = ρη(α) ∪ ρη(γ) (v, w) ∈ ρη(α∗) :⇐ ⇒ ∃ ∃ v s1 w ρη(α) ρη(α) ρη(α)

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-32
SLIDE 32

The Logic dLh: Semantics

Definition (Formulas φ)

valη(v, [α]φ) = true :⇐ ⇒ valη(w, φ) = true ∀ ∀w with (v, w) ∈ ρη(α) valη(v, αφ) = true :⇐ ⇒ valη(w, φ) = true ∃ ∃w with (v, w) ∈ ρη(α) valη(v, i) = true :⇐ ⇒ η(i) = v valη(v, @iφ) = true :⇐ ⇒ valη(η(i), φ) = true

Definition (System actions α)

(v, w) ∈ ρη(x := θ) :⇐ ⇒ w = v[x → valη(v, θ)] (v, w) ∈ ρη(˙ x = f (x)) :⇐ ⇒ “ d

dτ valη(·, x)(ζ) = valη(ζ, f (x))

∀ ∀ζ ∈ (v, w ρη(φ?) = {(v, v) : valη(v, φ) = true} ρη(α; γ) = ρη(α) ◦ ρη(γ) ρη(α ∪ γ) = ρη(α) ∪ ρη(γ) (v, w) ∈ ρη(α∗) :⇐ ⇒ ∃ ∃ v s1 w ρη(α) ρη(α) ρη(α)

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-33
SLIDE 33

The Logic dLh: Semantics

Definition (System actions α)

(v, w) ∈ ρη(˙ x = f (x)) :⇐ ⇒ “ d

dτ valη(t, x)(ζ) = valη(ζ, f (x))

∀ ∀ζ ∈ (v, w :⇐ ⇒ ∃ ∃f : [v(τ), w(τ)] → Int γx(ζ) := valη(f (ζ), x) continuous on [v(τ), w(τ)] ˙ γx (ζ) = γf (x)(ζ), ∀ ∀ζ ∈ (v(τ), w(τ)) γy constant ∀ ∀y = x and f (v(τ)) = v, f (w(τ)) = w t x e−t ˙ x = −x v(τ) w(τ) ζ ˙ x = f (x)

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-34
SLIDE 34

The Logic dLh: Semantics

Definition (System actions α)

(v, w) ∈ ρη(˙ x = f (x)) :⇐ ⇒ “ d

dτ valη(t, x)(ζ) = valη(ζ, f (x))

∀ ∀ζ ∈ (v, w :⇐ ⇒ ∃ ∃f : [v(τ), w(τ)] → Int γx(ζ) := valη(f (ζ), x) continuous on [v(τ), w(τ)] ˙ γx (ζ) = γf (x)(ζ), ∀ ∀ζ ∈ (v(τ), w(τ)) γy constant ∀ ∀y = x and f (v(τ)) = v, f (w(τ)) = w t x e−t ˙ x = −x v(τ) w(τ) ζ ˙ x = f (x) ρη(˙ x = −x)

Return Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-35
SLIDE 35

Outline

5

The Logic dLh (Details) Hybrid Dynamic Logic vs. Hybrid Dynamic Systems Syntax Semantics

6

Appendix ETCS in Mathematica Flexible Verification Language

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 8 / 10

slide-36
SLIDE 36

ETCS: Movement Authority with Mathematica

antecedent ⇒ <IVP>query antecedent ⇒ <IVP>query antecedent ⇒ <IVP>query antecedent = (z|m|b) ∈ Reals ∧ 0 < z0 < m ∧ b > 0 ∧ v0 > 0; antecedent = (z|m|b) ∈ Reals ∧ 0 < z0 < m ∧ b > 0 ∧ v0 > 0; antecedent = (z|m|b) ∈ Reals ∧ 0 < z0 < m ∧ b > 0 ∧ v0 > 0; ODE = z”[t] == −b; ODE = z”[t] == −b; ODE = z”[t] == −b; IVP = {ODE, z[0] == z0, z′[0] == v0}; IVP = {ODE, z[0] == z0, z′[0] == v0}; IVP = {ODE, z[0] == z0, z′[0] == v0}; dsol = Simplify[DSolve[IVP, z[t], t]] dsol = Simplify[DSolve[IVP, z[t], t]] dsol = Simplify[DSolve[IVP, z[t], t]] query = z[t] == m; query = z[t] == m; query = z[t] == m;

  • z[t] → − bt2

2 + tv0 + z0

  • (query/.dsol)[[1]]

(query/.dsol)[[1]] (query/.dsol)[[1]] Reduce[Assuming[antecedent, Exists[t, t ≥ 0&&t ∈ Reals, Assuming[antecedent, Reduce[Assuming[antecedent, Exists[t, t ≥ 0&&t ∈ Reals, Assuming[antecedent, Reduce[Assuming[antecedent, Exists[t, t ≥ 0&&t ∈ Reals, Assuming[antecedent, %]]], t, Reals] %]]], t, Reals] %]]], t, Reals] Simplify[%, antecedent] Simplify[%, antecedent] Simplify[%, antecedent] − bt2

2 + tv0 + z0 == m

  • m < z0&&
  • v0 < 0&&b ≥

v02 2m−2z0

  • (v0 ≥ 0&&b > 0)
  • m == z0
  • m > z0&&
  • (v0 ≤ 0&&b < 0)
  • v0 > 0&&b ≤

v02 2m−2z0

  • 2b(m − z0) ≤ v02

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 9 / 10

slide-37
SLIDE 37

Flexible Verification Language

Example (Verification Tasks)

1 System verification problem (flat / compositional)

b ≥ 10 → [α]z ≤ m

2 (Compositional) refinement

[S]Csafe

3 Abstraction

f < ǫ → ([˜ α]φ → [α]φ)

4 Level of detail or “layered” time models

[x := 4]φ → [˙ t = 1; x := 4](t ≤ 5 → φ)

Andr´ e Platzer (CMU) Hybrid Dynamic Logic LICS - HyLo 2006 10 / 10