Verified Cyber-Physical Systems [FM11] 2 Verified Cyber-Physical - - PowerPoint PPT Presentation

verified cyber physical systems
SMART_READER_LITE
LIVE PREVIEW

Verified Cyber-Physical Systems [FM11] 2 Verified Cyber-Physical - - PowerPoint PPT Presentation

Differential Refinement Logic Sarah M. Loos and Andr Platzer Computer Science Department Carnegie Mellon University 1 Verified Cyber-Physical Systems [FM11] 2 Verified Cyber-Physical Systems x l x j p x k x i


slide-1
SLIDE 1

1

Sarah M. Loos and André Platzer Computer Science Department Carnegie Mellon University

Differential Refinement Logic

slide-2
SLIDE 2

2

Verified Cyber-Physical Systems

[FM11]

slide-3
SLIDE 3

3

[FM11, HSCC13]

xi xj p xk xl xm

Verified Cyber-Physical Systems

slide-4
SLIDE 4

4

[FM11, ITSC11, ICCPS12, HSCC13, ITSC13]

xi xj p xk xl xm

Verified Cyber-Physical Systems

slide-5
SLIDE 5

5

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-6
SLIDE 6

6

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-7
SLIDE 7

7

Refinement Relation

α ≤ β

slide-8
SLIDE 8

8

Refinement Relation

α ≤ β

  • (?φ; a := ∗ ∪ a := −B); x00 = a

  • (?φ; a := θ ∪ a := −B); x00 = a & ψ

slide-9
SLIDE 9

9

Refinement Relation

α ≤ β

  • (?φ; a := ∗ ∪ a := −B); x00 = a

  • (?φ; a := θ ∪ a := −B); x00 = a & ψ

slide-10
SLIDE 10

10

Refinement Relation

α ≤ β

  • (?φ; a := ∗ ∪ a := −B); x00 = a

  • (?φ; a := θ ∪ a := −B); x00 = a & ψ

slide-11
SLIDE 11

11

Refinement Relation

α ≤ β

  • (?φ; a := ∗ ∪ a := −B); x00 = a

  • (?φ; a := θ ∪ a := −B); x00 = a & ψ

slide-12
SLIDE 12

12

Refinement Relation

α ≤ β

  • (?φ; a := ∗ ∪ a := −B); x00 = a

  • (?φ; a := θ ∪ a := −B); x00 = a & ψ

α ≤

slide-13
SLIDE 13

13

Syntax of a dRL formula:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ FOLR

So, what does dRL look like exactly?

slide-14
SLIDE 14

14

Syntax of a dRL formula:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ φ | [α]φ | hαiφ

So, what does dRL look like exactly?

dL

slide-15
SLIDE 15

15

Syntax of a dRL formula:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ φ | [α]φ | hαiφ φ | α  β + refinement

So, what does dRL look like exactly?

slide-16
SLIDE 16

16

Syntax of a dRL formula: Syntax of a hybrid program:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ φ | [α]φ | hαiφ φ | α  β

So, what does dRL look like exactly?

slide-17
SLIDE 17

17

Syntax of a dRL formula: Syntax of a hybrid program:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ φ | [α]φ | hαiφ φ | α  β ψ | α ∪ β | α; β | α⇤ α, β ::= x := θ | x0 = θ & ψ | ?ψ

So, what does dRL look like exactly?

slide-18
SLIDE 18

18

Syntax of a dRL formula: Syntax of a hybrid program:

φ, ψ ::= θ1  θ2 | ¬φ | φ ^ ψ | 8xφ φ | [α]φ | hαiφ φ | α  β ψ | α ∪ β | α; β | α⇤ α, β ::= x := θ | x0 = θ & ψ | ?ψ

So, what does dRL look like exactly?

dRL extends by adding refinement directly into the grammar of formulas

slide-19
SLIDE 19

19

Hybrid P Programs model cyber-physical systems

v w

α

Semantics of hybrid programs ρ(α) = {(v, w) : when starting in state and

then following transitions of , state can be reached.

v α w

}

[Platzer08]

slide-20
SLIDE 20

20

Semantics of hybrid programs

[Platzer08]

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

slide-21
SLIDE 21

21

Semantics of hybrid programs

[Platzer08]

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

v

Iff holds in state

| = ψ

v

slide-22
SLIDE 22

22

Semantics of hybrid programs

[Platzer08]

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

v

Iff holds in state

| = ψ

v v w

x0 = θ

x := y(t)

If solves

y(t) x0 = θ

slide-23
SLIDE 23

23

Semantics of hybrid programs

[Platzer08]

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

v

Iff holds in state

| = ψ

v v w

x0 = θ

x := y(t)

If solves

y(t) x0 = θ

v w

u α β α; β

slide-24
SLIDE 24

24

Semantics of hybrid programs

[Platzer08]

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

v

Iff holds in state

| = ψ

v v w

x0 = θ

x := y(t)

If solves

y(t) x0 = θ

v w

u α β α; β

Etc…

slide-25
SLIDE 25

25

Semantics of box modality

v | = [α]φ

Box Modality:

slide-26
SLIDE 26

26

v

w1 w2 w3 v | = [α]φ

Box Modality:

φ φ

Semantics of box modality

α α

slide-27
SLIDE 27

27

Refinement Relation:

v | = α ≤ β

Semantics of refinement

slide-28
SLIDE 28

28

v

w1 w2 w3

Refinement Relation:

v | = α ≤ β

Semantics of refinement

α α

slide-29
SLIDE 29

29

v

w1 w2 w3

Refinement Relation:

v | = α ≤ β ≤ β ≤ β ≤ β

Semantics of refinement

α α

slide-30
SLIDE 30

30

v

w1 w2 w3

Refinement Relation:

v | = α ≤ β ≤ β ≤ β ≤ β

Semantics of refinement

α α

slide-31
SLIDE 31

31

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-32
SLIDE 32

32

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-33
SLIDE 33

33

Combining refinement and box modality

slide-34
SLIDE 34

34

Combining refinement and box modality

v

v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆

slide-35
SLIDE 35

35

v

w1 w2 w3

Combining refinement and box modality

v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆

α α

slide-36
SLIDE 36

36

v

w1 w2 w3 ≤ β ≤ β ≤ β

Combining refinement and box modality

v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆

α α

slide-37
SLIDE 37

37

v

w1 w2 w3 ≤ β ≤ β ≤ β

Combining refinement and box modality

v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆

α α

slide-38
SLIDE 38

38

v

w1 w2 w3 ≤ β ≤ β ≤ β

Combining refinement and box modality

φ φ φ v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆

α α

slide-39
SLIDE 39

39

v

w1 w2 w3 ≤ β ≤ β ≤ β φ φ

Combining refinement and box modality

v | = G, v 6| = D for all G ∈ Γ, D ∈ ∆ φ

α α

slide-40
SLIDE 40

40

v w

Sequential Composition

α1; β1

slide-41
SLIDE 41

41

v w

Sequential Composition

α1; β1

hi α2; β2?

slide-42
SLIDE 42

42

v w

Sequential Composition

α1; β1

slide-43
SLIDE 43

43

v w

u

Sequential Composition

α1; β1 α1 β1

slide-44
SLIDE 44

44

v w

u

Sequential Composition

α1; β1 α1 β1 α2

slide-45
SLIDE 45

45

v w

u

Sequential Composition

α1; β1 α1 β1 α2 β2?

slide-46
SLIDE 46

46

v w

u

Sequential Composition

α1; β1 α1 β1 α2 β2

slide-47
SLIDE 47

47

v w

u

Sequential Composition

α1; β1 α1 β1 α2 β2

slide-48
SLIDE 48

48

v w

u

Sequential Composition

α1; β1 α1 β1 α2 β2

slide-49
SLIDE 49

49

v w

u

Sequential Composition

α1; β1 α1 β1 α2 β2

hi α2; β2

slide-50
SLIDE 50

50

Differential Equations ? (x0 = 1) ≤ (x0 = 9)

slide-51
SLIDE 51

51

Differential Equations x ∈ [x0, ∞) ? (x0 = 1) ≤ (x0 = 9)

slide-52
SLIDE 52

52

Differential Equations x ∈ [x0, ∞) x ∈ [x0, ∞) ? (x0 = 1) ≤ (x0 = 9)

slide-53
SLIDE 53

53

Differential Equations x ∈ [x0, ∞) x ∈ [x0, ∞) ? (x0 = 1) ≤ (x0 = 9) x0 =

slide-54
SLIDE 54

54

Differential Equations

slide-55
SLIDE 55

55

Differential Equations

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

slide-56
SLIDE 56

56

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

Differential Equations

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

=

slide-57
SLIDE 57

57

Differential Equations

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

  • 1.0
  • 0.5

0.0 0.5 1.0

slide-58
SLIDE 58

58

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-59
SLIDE 59

59

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-60
SLIDE 60

60

Two Modeling Paradigms

Time-triggered

Discrete sensing

Event-triggered

Continuous sensing

slide-61
SLIDE 61

61

Two Modeling Paradigms

Time-triggered

Discrete sensing

Event-triggered

Continuous sensing

slide-62
SLIDE 62

62

Two Modeling Paradigms

Time-triggered

Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

Event-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify

slide-63
SLIDE 63

63

Two Modeling Paradigms

Time-triggered

Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

Event-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify

α ≤

slide-64
SLIDE 64

64

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-65
SLIDE 65

65

α ≤ β

Differential Refinement Logic (dRL)

Time-triggered vs. Event-triggered Verified Car Control

Roadmap

time∗ ≤ event∗

Proof Calculus

slide-66
SLIDE 66

66

Local Lane Control using Refinement

Time-triggered [FM11] Event-triggered

Controllers satisfy refinement “Brake” for epsilon time “Accelerate” for epsilon time

Time-triggered (dRL)

slide-67
SLIDE 67

67

Contributions

Differential Refinement Logic

Maintains a modular and hierarchical proof structure Abstracts implementation-specific designs Leverages iterative system design Prove time-triggered model refines event-triggered Encouraging evidence of reduced user interaction and

computation time

slide-68
SLIDE 68

68

Appendix

slide-69
SLIDE 69

69

We have proved that the refinement relation can be embedded in dL. As a result, dL and dRL are equivalent in terms of expressibility and provability.

Comparing dRL and dL

However, we can analyze dRL on familiar (challenging) case

  • studies. We can consider:
  • Number of proof steps
  • Computation time
  • Qualitative difficulty to complete proof
  • Proof structure
slide-70
SLIDE 70

70

Semantics of hybrid programs

[Platzer08]

ρ(x := θ) = ) = {(v, w) : w = v except [[x]]w = [[θ]]v}

v w

ρ(x := θ) =

iff except for the value of

v = w ρ(x

v

Iff holds in state

| = ψ

v v w

x0 = θ

x := y(t)

ρ(x0 = θ) = {(ϕ(0), ϕ(t)) : ϕ(s) | = x0 = θ for all 0 ≤ s ≤ t}

ρ(?ψ) = ) = {(v, v) : v | = ψ}

If solves

y(t) x0 = θ

slide-71
SLIDE 71

71

Semantics of hybrid programs

[Platzer08]

v w

u α β α; β ρ(α; β) = {(v, w) : (v, u) ∈ ρ(α), ( ), (u, w) ∈ ρ(β)}

slide-72
SLIDE 72

72

Combining refinement and diamond modality

slide-73
SLIDE 73

73

Nondeterministic Assignment

slide-74
SLIDE 74

74

ρ(x := θ) = vJθKv

x

vJ

x

Nondeterministic Assignment

slide-75
SLIDE 75

75

x := ∗

ρ(x := θ) = vJθKv

x

vJ

x

vJ

x

vd1

x

x := ∗ hi x : = ∗ h i

vd2

x

vd3

x

Nondeterministic Assignment

slide-76
SLIDE 76

76

x := ∗

ρ(x := θ) = vJθKv

x

vJ

x

vJ

x

vd1

x

x := ∗ hi x : = ∗ h i

vd2

x

vd3

x

Nondeterministic Assignment

slide-77
SLIDE 77

77

v w

α

α

α∗

Nondeterministic Repetition

α

slide-78
SLIDE 78

78

v w

α

α

α∗

Nondeterministic Repetition

α β

slide-79
SLIDE 79

79

v w

α

α

α∗

Nondeterministic Repetition

α β β?

slide-80
SLIDE 80

80

v w

α

α

α∗

Nondeterministic Repetition

α β β?

slide-81
SLIDE 81

81

v w

α

α

α∗

Nondeterministic Repetition

α β β

slide-82
SLIDE 82

82

v w

α

α

α∗

Nondeterministic Repetition

α β β β?

slide-83
SLIDE 83

83

v w

α

α

α∗

Nondeterministic Repetition

α β β β?

slide-84
SLIDE 84

84

v w

α

α

α∗

Nondeterministic Repetition

α β β β

slide-85
SLIDE 85

85

v w

α

α

α∗

Nondeterministic Repetition

α β β β β∗

slide-86
SLIDE 86

86

Nondeterministic Repetition (KAT style)

slide-87
SLIDE 87

87

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α

slide-88
SLIDE 88

88

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α

slide-89
SLIDE 89

89

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α

slide-90
SLIDE 90

90

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ?

slide-91
SLIDE 91

91

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ?

slide-92
SLIDE 92

92

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ

slide-93
SLIDE 93

93

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ?

slide-94
SLIDE 94

94

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ?

slide-95
SLIDE 95

95

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ?

slide-96
SLIDE 96

96

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ

slide-97
SLIDE 97

97

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ γ …

slide-98
SLIDE 98

98

Nondeterministic Repetition (KAT style)

v

w1 w2 w3 w4 β α α γ γ γ γ …

slide-99
SLIDE 99

99

Nondeterministic Repetition (KAT style)

β

v

w1

w2 w3 w4 α α

slide-100
SLIDE 100

100

Nondeterministic Repetition (KAT style)

β γ γ

v

γ w1 w2 w3 w4 γ

α α

slide-101
SLIDE 101

101

Proof Tree

slide-102
SLIDE 102

102

Proof Tree

^ ` H(x) ^ I ` [time∗]φ

H(x) ^ I ` [event∗]φ H(x) ^ I ` time∗  event∗

[

slide-103
SLIDE 103

103

Proof Tree

H(x) ^ I ` [event∗]φ H(x) ^ I ` time∗  event∗ H(x) ^ I ` [time∗]φ ([])

slide-104
SLIDE 104

104

H(x) ^ I ` [event∗]φ H(x) ^ I ` time∗  event∗ H(x) ^ I ` [time∗]φ ([])

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Proof Tree

slide-105
SLIDE 105

105

H(x) ^ I ` [event∗]φ H(x) ^ I ` time∗  event∗ H(x) ^ I ` [time∗]φ ([])

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Proof Tree

Open goals

slide-106
SLIDE 106

106

Time-triggered is safe Event-triggered is safe

^ ` H(x) ^ I ` [time∗]φ

Controllers satisfy refinement

` Safeε ! Safe

“Braking” is safe for time “Accelerating” is safe for time

Safeε(Sa(0)) ^ 0  t  ε ` H(Sa(t)) ε ε

H(Sc(0)) ^ 0  t  ε ` H(Sc(t))

H(x) ^ I ` [event∗]φ H(x) ^ I ` time∗  event∗ H(x) ^ I ` [time∗]φ ([])

✓ ✓ ✓ ✓ ✓ ✓ ✓ ✓

Open goals

Proof Tree

slide-107
SLIDE 107

107

Time-triggered is safe Event-triggered is safe

^ ` H(x) ^ I ` [time∗]φ

Controllers satisfy refinement

` Safeε ! Safe

“Braking” is safe for time “Accelerating” is safe for time

Safeε(Sa(0)) ^ 0  t  ε ` H(Sa(t)) ε ε

Proof Tree

dL

H(Sc(0)) ^ 0  t  ε ` H(Sc(t))

slide-108
SLIDE 108

108

Time-triggered is safe

^ ` H(x) ^ I ` [time∗]φ

Controllers satisfy refinement

` Safeε ! Safe

“Braking” is safe for time “Accelerating” is safe for time

Safeε(Sa(0)) ^ 0  t  ε ` H(Sa(t)) ε ε

Proof Tree

FOLR FOLR

Event-triggered is safe

dL

H(Sc(0)) ^ 0  t  ε ` H(Sc(t))

FOLR

slide-109
SLIDE 109

109

dRL Proof Rules: Partial Order

Reflexive: Transitive: Antisymmetric:

slide-110
SLIDE 110

110

dRL Proof Rules: KAT

slide-111
SLIDE 111

111

dRL Proof Rules: Differential Equations

slide-112
SLIDE 112

112

dRL Proof Rules: Structural

slide-113
SLIDE 113

113

v

Iff holds in state

| = ψ

v

ρ(?ψ) = ) = {(v, v) : v | = ψ}

Test

slide-114
SLIDE 114

114

v w

x0 = θ

x := y(t)

ρ(x0 = θ) = {(ϕ(0), ϕ(t)) : ϕ(s) | = x0 = θ for all 0 ≤ s ≤ t}

If solves

y(t) x0 = θ

Differential Refinement

slide-115
SLIDE 115

115

dRL Proof Rules: Differential Equations

v w

x0 = θ

x := y(t)

slide-116
SLIDE 116

116

Kleene Algebra with Tests (KAT)

[Kozen97]

Kleene algebra with tests is a system for

manipulating programs that are equivalent.

KAT doesn’t have continuous dynamics, but we can

see that it is still relevant to hybrid programs

slide-117
SLIDE 117

117

Verifying a specific local lane controller

slide-118
SLIDE 118

118

Verifying a specific local lane controller

slide-119
SLIDE 119

119

Designing proof search heuristics that exploit

refinement to automatically create more hierarchical proof structures.

Shifting the proof responsibility completely to

determining refinement.

Code synthesis – verifying that refinement relation is

satisfied with each transformation step.

Additional dRL applications

slide-120
SLIDE 120

120

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

(ctrl; dyn)∗

discrete controller continuous dynamics

slide-121
SLIDE 121

121

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

(ctrl; x0 = θ)⇤

discrete controller continuous dynamics

slide-122
SLIDE 122

122

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

discrete controller continuous dynamics

(ctrl; x0 = θ & H)⇤

slide-123
SLIDE 123

123

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

discrete controller ?

(ctrl; x0 = θ & H)⇤

slide-124
SLIDE 124

124

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

discrete controller ?

(ctrlt; x0 = θ & t & t ≤ ε)⇤

slide-125
SLIDE 125

125

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

(ctrlt; x0 = θ & t & t ≤ ε)⇤

slide-126
SLIDE 126

126

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Unrealistic, hard to implement Easier to design controllers Easier to verify Discrete sensing Realistic, easy to implement Difficult to design controllers Challenging to verify

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

slide-127
SLIDE 127

127

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Discrete sensing

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

slide-128
SLIDE 128

128

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Discrete sensing

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

& x + v2 2B ≤ S)

slide-129
SLIDE 129

129

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Discrete sensing

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

& x + v2 2B ≤ S)

& t ≤ ε)

slide-130
SLIDE 130

130

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Discrete sensing

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

& x + v2 2B ≤ S)

& t ≤ ε)

slide-131
SLIDE 131

131

Event-triggered vs. Time-triggered

Event-triggered Time-triggered

Continuous sensing Discrete sensing

(ctrle; x0 = θ & & x + v2 2B ≤ S)⇤ (ctrlt; x0 = θ & t & t ≤ ε)⇤

& x + v2 2B ≤ S)

& t ≤ ε)

slide-132
SLIDE 132

132

Event-triggered vs. Time-triggered

event-triggered time-triggered

; x0 = θ & E(x))⇤ ((?Safe; a := ∗) ∪ a := c; ; x0 = θ & t ≤ ε)⇤ ((?Safeε; a := ∗) ∪ a := c;

slide-133
SLIDE 133

133

dRL Proof Rules: Independence

slide-134
SLIDE 134

134

Motivation: Adaptive Cruise Control

slide-135
SLIDE 135

135

Motivation: Adaptive Cruise Control

Low packet loss, small margin for error.

slide-136
SLIDE 136

136

Motivation: Adaptive Cruise Control

Low packet loss, small margin for error. High packet loss, large margin for error.

slide-137
SLIDE 137

137

Efficiency Analysis of ACC

1 2 3 4 5 6 7 8 9 10 0.4 0.5 0.6 0.7 0.8 0.9 1

Timeout T (seconds) Efficiency Controller efficiency Effa f Reception probability Effre c Overall effiency Eff

Eff(T ) =

Effassist(T ) = Effaf (T ) =

slide-138
SLIDE 138

138

Modular Proof for Distributed Aircraft

8i 6= j : A

A kx(i) x(j)k p

To Prove:

Safe separation of aircraft.

xHiL xHjL p H L

xHiL xHiL xHiL xHjL p H L

dHiL dHjL p

= ⇒

xHiL xHiL

= ⇒

8i 6= j : A

8 6 kd(i) d(j)k 2r + p

8i : A

8 kx(i) d(i)k  r

slide-139
SLIDE 139

139

“How can we provide people with cyber-physical systems they can bet their lives on?”

  • - Jeanette Wing
slide-140
SLIDE 140

140

Di Different ntial Dyna l Dynami mic L Logic: : Axioma matization

[:=] [x := θ]φ(x) ↔ φ(θ)

[Platzer08]

slide-141
SLIDE 141

141

α ≤ β

Differential Refinement Logic (dRL)

  • Proof rules
  • Examples

Time-triggered vs. Event-triggered

event∗ time∗

Verified Car Control

Roadmap

Iterative System Design

?Event ?Time

x := ∗; x := ∗; x := θ

slide-142
SLIDE 142

142

α ≤ β

Differential Refinement Logic (dRL)

  • Proof rules
  • Examples

Time-triggered vs. Event-triggered

event∗ time∗

Verified Car Control

Roadmap

Iterative System Design

?Event ?Time

x := ∗; x := ∗; x := θ

slide-143
SLIDE 143

143

Verifying a specific local lane controller

slide-144
SLIDE 144

144

Verifying a specific local lane controller

safeθ ≡

! + Ki(z) + Kd(vl − vf) ≡ af := Kp (xl − xf) − ⇣v2 2b − v2 2b + (A b + 1)(A 2 ε2 + εv) ⌘!

slide-145
SLIDE 145

145

Verifying a specific local lane controller

safeθ ≡

af := θ

slide-146
SLIDE 146

146

Verifying a specific local lane controller

safeθ ≡ af := θ

slide-147
SLIDE 147

147

Verifying a specific local lane controller −B ≤ θ ≤ A (θ > −b) → Safeε

safeθ ≡ af := θ

slide-148
SLIDE 148

148

α ≤ β

Differential Refinement Logic (dRL)

  • Proof rules
  • Examples

Time-triggered vs. Event-triggered

event∗ time∗

Verified Car Control

Roadmap

Iterative System Design

?Event ?Time

x := ∗; x := ∗; x := θ

slide-149
SLIDE 149

149

How Can We Prove Distributed Airspace?

slide-150
SLIDE 150

150

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-151
SLIDE 151

151

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-152
SLIDE 152

152

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-153
SLIDE 153

153

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local. Sometimes a maneuver may look safe locally…

slide-154
SLIDE 154

154

Sometimes a maneuver may look safe locally…

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-155
SLIDE 155

155 But is a terrible idea when implemented globally.

Sometimes a maneuver may look safe locally…

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-156
SLIDE 156

156 But is a terrible idea when implemented globally.

Sometimes a maneuver may look safe locally…

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-157
SLIDE 157

157 But is a terrible idea when implemented globally.

Sometimes a maneuver may look safe locally…

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

slide-158
SLIDE 158

158 But is a terrible idea when implemented globally.

Sometimes a maneuver may look safe locally…

How Can We Prove Distributed Airspace?

Sensor limits on aircraft are local.

!

slide-159
SLIDE 159

159

Assumptions and Requirements

  • Safety: At all times, the aircraft must be separated by

distance greater than p.

  • Aircraft trajectories must always be flyable.
  • An arbitrary number of aircraft may enter the maneuver

at any time.

Requireme ment nts

  • Aircraft maintain constant velocity.
  • Sensors are accurate and have no delay.
  • Collision avoidance maneuvers are executed on the 2D plane.

Assumptions ns

slide-160
SLIDE 160

160

2 4 6 8 10 t 0.2 0.4 0.6 0.8 1.0

d

2 4 6 8 10 t 1 2 3

p

2 4 6 8 10 t 0.2 0.1 0.1 0.2 0.3 0.4 0.5

d2

Hyb ybrid Dyna Dynami mics

d1 P1 P2

1 2 3 4 0.0 0.5 1.0 1.5 2.0 2.5 3.0 3.5

P2 P1

Aircraft are controlled by steering, through discrete changes in angular velocity .

0.5

slide-161
SLIDE 161

161

  • Leaves maneuverability to pilot discretion.
  • Requires large buffer disc.
  • Requires aircraft to return to the center of the

disc before completing avoidance maneuver.

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Big Disc Control

[LoosRP13]

slide-162
SLIDE 162

162

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

To Prove:

Init → [BigDisc]Safe

slide-163
SLIDE 163

163

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

To Prove:

Init → [BigDisc]Safe

Safe ⌘ ( ⌘ (8i, j : A i 6= j ! k ! kx(i) x(j)k p)

slide-164
SLIDE 164

164

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Init → [BigDisc]Safe

slide-165
SLIDE 165

165

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Dubins Model for 2D motion [Dubins57]

Init → [BigDisc]Safe

h h

slide-166
SLIDE 166

166

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

The disc does not move when in a collision avoidance maneuver

Init → [BigDisc]Safe

h h

slide-167
SLIDE 167

167

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

All aircraft evolve simultaneously

Init → [BigDisc]Safe

h h

slide-168
SLIDE 168

168

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Init → [BigDisc]Safe

h h

slide-169
SLIDE 169

169

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Init → [BigDisc]Safe

h

slide-170
SLIDE 170

170

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Init → [BigDisc]Safe

  • Ensures aircraft

control can engage CA maneuver.

  • Aircraft can flyably

remain within disc

slide-171
SLIDE 171

171

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

Init → [BigDisc]Safe

slide-172
SLIDE 172

172

Big Disc Control

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci

h

Init → [BigDisc]Safe

slide-173
SLIDE 173

173

  • Deterministic control makes it well suited for UAVs.
  • Smaller discs allow aircraft to fly closer together.
  • Aircraft may exit maneuver as soon as it is safe to

do so.

Small Discs Control

xi xj p xk xl xm

[PallottinoSBF07, LoosRP13]

slide-174
SLIDE 174

174

xi xj p xk xl xm

Small Discs Control

slide-175
SLIDE 175

175

xi xj p xk xl xm h

Small Discs Control

slide-176
SLIDE 176

176

Cha halle lleng nges Cont ntributions ns

CPS needs verification Infinite, continuous, and

evolving state space,

Continuous dynamics Discrete control

decisions

Distributed dynamics Arbitrary number of

aircraft

Emergent behaviors

Theorem proving is

powerful for verifying distributed dynamics

Non-linear flight paths and

flyable maneuvers

Compositionality – using

small problems to solve the big ones

Hierarchical proofs Undergraduates can

understand and verify hybrid systems!

Conclusions

2

m i n r

  • i
  • m

i n r

  • i
  • di

xi disci xi xj p xk xl xm

R∞

slide-177
SLIDE 177

177

slide-178
SLIDE 178

178

References (page 1)

Sarah M. Loos, David Renshaw, and André Platzer. Formal Verification of Distributed Aircraft

  • Controllers. In Calin Belta and Franjo Ivancic, editors, Hybrid Systems: Computation and Control

(HSCC), 2013. André Platzer and Jan-David Quesel. KeYmaera: A hybrid theorem prover for hybrid systems. In Alessandro Armando, Peter Baumgartner, and Gilles Dowek, editors, IJCAR, volume 5195 of LNCS, pages 171-178. Springer, 2008 Platzer, André. "Differential dynamic logic for hybrid systems." Journal of Automated Reasoning 41.2 (2008): 143-189. Nikos Aréchiga, Sarah M. Loos, André Platzer, and Bruce H. Krogh. Using theorem provers to guarantee closed-loop system properties. In the American Control Conference, ACC, Montréal, Canada, 2012. Stefan Mitsch, Sarah M. Loos, and André Platzer. Towards Formal Verification of Freeway Traffic

  • Control. In the International Conference on Cyber-Physical Systems, ICCPS, Beijing, China, 2012.

Lucia Pallottino, Vincenzo Giovanni Scordio, Antonio Bicchi, and Emilio Frazzoli. "Decentralized cooperative policy for conflict resolution in multivehicle systems." Robotics, IEEE Transactions on 23, no. 6, pages 1170-1183, 2007.

slide-179
SLIDE 179

179

References (page 2)

Akshay Rajhans, Ajinkya Bhave, Sarah M. Loos, Bruce H. Krogh, André Platzer, and David Garlan. Using parameters in architectural views to support heterogeneous design and verification. In the IEEE Conference on Decision and Control and European Control Conference. 2011. Sarah M. Loos and André Platzer. Safe Intersections: At the Crossing of Hybrid Systems and

  • Verification. In the International IEEE Conference on Intelligent Transportation Systems, ITSC 2011,

Washington, D.C., USA, Proceedings, 2011. David Renshaw, Sarah M. Loos, and André Platzer. Distributed theorem proving for distributed hybrid

  • systems. In the International Conference on Formal Engineering Methods, ICFEM’11, Durham, United

Kingdom, Proceedings, LNCS. Springer, 2011. Sarah M. Loos, André Platzer, and Ligia Nistor. Adaptive cruise control: Hybrid, distributed, and now formally verified. In the 17th International Symposium on Formal Methods, FM, Limerick, Ireland, Proceedings, LNCS. Springer, 2011. André Platzer. Quantified differential dynamic logic for distributed hybrid systems. In Computer Science

  • Logic. Volume 6247 of LNCS. Springer, 2010.

Dubins, L.E. On curves of minimal length with a constraint on average curvature, and with prescribed initial and terminal positions and tangents. Am J Math 79(3), pages 497–516, 1957.