Runtime Enforcement of Timed Properties Srinivas Pinisetty 1 ,Yli` es - - PowerPoint PPT Presentation

runtime enforcement of timed properties
SMART_READER_LITE
LIVE PREVIEW

Runtime Enforcement of Timed Properties Srinivas Pinisetty 1 ,Yli` es - - PowerPoint PPT Presentation

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion Runtime Enforcement of Timed Properties Srinivas Pinisetty 1 ,Yli` es Falcone 2 , Thierry J eron 1 , Herv e Marchand 1 , Antoine Rollet 3 and Omer


slide-1
SLIDE 1

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Runtime Enforcement of Timed Properties

Srinivas Pinisetty1,Yli` es Falcone2, Thierry J´ eron1, Herv´ e Marchand1, Antoine Rollet3 and Omer Nguena Timo3

INRIA Rennes - Bretagne Atlantique, France LIG, Universit´ e Grenoble I, France LaBRI, Universit´ e de Bordeaux - CNRS, France

MOVEP 2012, December 05, Marseille

slide-2
SLIDE 2

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Outline

1

Introduction

2

Enforcement of timed properties

3

Enforcement of safety properties

4

Conclusion

slide-3
SLIDE 3

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Verification and enforcement monitors

Runtime verification events verdicts Verification Monitor σ | = ϕ? ϕ

ω ∈ D∞

D

σ ∈ Σ∞

Does the run satisfy the property? Monitoring an executing system. No system model. Input: stream of events. Output: stream of verdicts. Runtime enforcement The run should satisfy the property. Monitoring an executing system. No system model. Input: stream of events (may violate the property). Output: stream of events (should satisfy the property).

slide-4
SLIDE 4

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Verification and enforcement monitors

Runtime verification events verdicts Verification Monitor σ | = ϕ? ϕ

ω ∈ D∞

D

σ ∈ Σ∞

Does the run satisfy the property? Monitoring an executing system. No system model. Input: stream of events. Output: stream of verdicts. Runtime enforcement

events events

memory EMϕ σ | = ϕ?

  • |

= ϕ

  • σ

The run should satisfy the property. Monitoring an executing system. No system model. Input: stream of events (may violate the property). Output: stream of events (should satisfy the property).

slide-5
SLIDE 5

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement monitor (untimed case)

Dedicated to a property ϕ. Possibly augmented with a memorization mechanism.

events events

memory EMϕ σ | = ϕ?

  • |

= ϕ

  • σ

Enforcement mechanism An EM modifies the current execution sequence (sometimes like a “filter”). reads an input sequence σ ∈ Σ∗.

  • utputs a new sequence o ∈ Σ∗.

endowed with a set of enforcement primitives.

  • perates on the memorization mechanism.

delete or insert events using the memory content and the current input.

An EM behaves as a function E : Σ∗ → Σ∗.

slide-6
SLIDE 6

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Motivation for timed enforcement

Specifying the timing behavior Allow specifying desired behavior of a system more precisely (time constraints between events). After an action “a”, action “b” should occur with a delay of at least 5 time units between them. Many application domains Domains: Real-time embedded systems, monitor hardware failures, communication protocols, web services and many more. Examples

Monitor a firewall to prevent DOS attack ensuring minimal delay between input events. Monitor a web application to check if pre-conditions are met to provide a service.

slide-7
SLIDE 7

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Motivation for timed enforcement

Specifying the timing behavior Allow specifying desired behavior of a system more precisely (time constraints between events). After an action “a”, action “b” should occur with a delay of at least 5 time units between them. Many application domains Domains: Real-time embedded systems, monitor hardware failures, communication protocols, web services and many more. Examples

Monitor a firewall to prevent DOS attack ensuring minimal delay between input events. Monitor a web application to check if pre-conditions are met to provide a service.

slide-8
SLIDE 8

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Motivation for timed enforcement

Specifying the timing behavior Allow specifying desired behavior of a system more precisely (time constraints between events). After an action “a”, action “b” should occur with a delay of at least 5 time units between them. Many application domains Domains: Real-time embedded systems, monitor hardware failures, communication protocols, web services and many more. Examples

Monitor a firewall to prevent DOS attack ensuring minimal delay between input events. Monitor a web application to check if pre-conditions are met to provide a service.

slide-9
SLIDE 9

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Motivation for timed enforcement

Specifying the timing behavior Allow specifying desired behavior of a system more precisely (time constraints between events). After an action “a”, action “b” should occur with a delay of at least 5 time units between them. Many application domains Domains: Real-time embedded systems, monitor hardware failures, communication protocols, web services and many more. Examples

Monitor a firewall to prevent DOS attack ensuring minimal delay between input events. Monitor a web application to check if pre-conditions are met to provide a service.

slide-10
SLIDE 10

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Motivation for timed enforcement

Specifying the timing behavior Allow specifying desired behavior of a system more precisely (time constraints between events). After an action “a”, action “b” should occur with a delay of at least 5 time units between them. Many application domains Domains: Real-time embedded systems, monitor hardware failures, communication protocols, web services and many more. Examples

Monitor a firewall to prevent DOS attack ensuring minimal delay between input events. Monitor a web application to check if pre-conditions are met to provide a service.

slide-11
SLIDE 11

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Outline

1

Introduction

2

Enforcement of timed properties

3

Enforcement of safety properties

4

Conclusion

slide-12
SLIDE 12

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of timed properties

From untimed to timed properties enforcement New elements have to be taken into account Input/output sequences are timed words: σ = (δ1, a1) · (δ2, a2) · · · (δn, an), δi ∈ R≥, ai ∈ Σ. Property ϕ described by a timed automaton or a timed logic. Synthesis of the corresponding enforcer? Class of enforceable properties? → Focus on safety and co-safety properties modeled by TA. Model of the enforcer? → Memory + similar operations (Store, Dump). → No finite structure. → Requirements (What should the enforcer do?).

slide-13
SLIDE 13

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of timed properties

From untimed to timed properties enforcement New elements have to be taken into account Input/output sequences are timed words: σ = (δ1, a1) · (δ2, a2) · · · (δn, an), δi ∈ R≥, ai ∈ Σ. Property ϕ described by a timed automaton or a timed logic. Synthesis of the corresponding enforcer? Class of enforceable properties? → Focus on safety and co-safety properties modeled by TA. Model of the enforcer? → Memory + similar operations (Store, Dump). → No finite structure. → Requirements (What should the enforcer do?).

slide-14
SLIDE 14

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Property

Defined by a timed language ϕ ⊆ (R≥0 × Σ)∗. A timed word σ satisfies ϕ (noted σ | = ϕ) if σ ∈ ϕ. Focus on properties specified by a TA Aϕ. Safety and co-safety properties specified by TA Safety: nothing bad should ever happen (prefix closed). Co-safety: something good will eventually happen within a finite amount of time (extension closed).

slide-15
SLIDE 15

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Property

Defined by a timed language ϕ ⊆ (R≥0 × Σ)∗. A timed word σ satisfies ϕ (noted σ | = ϕ) if σ ∈ ϕ. Focus on properties specified by a TA Aϕ. Safety and co-safety properties specified by TA Safety: nothing bad should ever happen (prefix closed). Co-safety: something good will eventually happen within a finite amount of time (extension closed).

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

slide-16
SLIDE 16

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Property

Defined by a timed language ϕ ⊆ (R≥0 × Σ)∗. A timed word σ satisfies ϕ (noted σ | = ϕ) if σ ∈ ϕ. Focus on properties specified by a TA Aϕ. Safety and co-safety properties specified by TA Safety: nothing bad should ever happen (prefix closed). Co-safety: something good will eventually happen within a finite amount of time (extension closed).

l0 l1 l2 l3 r, x := 0 Σ2 \ {r} Σ2 \ {g}; g, x < 10 ∨ x > 15 g, 10≤x ≤15 Σ2 Σ2

slide-17
SLIDE 17

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement monitoring in a timed context

Enforcement function - E

Enforcement function

ϕ E(σ, t) | = ϕ σ, t

E : (R≥0 × Σ)∗ × R≥0 → (R≥0 × Σ)∗. ϕ: Property which should be enforced (specified by a TA). σ: Input timed word. Output at time t: E(σ, t) should satisfy some additional constraints [Soundness, Transparency, Optimality]. E realized as a Enforcement Monitor (EM).

slide-18
SLIDE 18

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement Monitor - EM

EMϕ

Memory E(σ, t) | = ϕ σ

Memory Timed word Operations Store: stores the received event and a delay in the memory. Dump: removes the event from memory and releases it as output.

slide-19
SLIDE 19

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Decisions

EMϕ

(δ′

k+1, ak+1) · · · (δ′ m, am)

(δ′

1, a1) · · · (δ′ k, ak) |

= ϕ E(σ, t) delays obs(σ, t) σ = (δ1, a1) · · · (δk, ak) · · · (δm, am) · · · (δn, an)

  • bs(σ, t) = {σ′ | σ′ σ ∧ time(σ′) ≤ t}

What can the enforcer do? No insertion, deletion of events. Order of events cannot be changed. Allow to increase the delay between actions.

slide-20
SLIDE 20

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Summary of the approach

Soundness Transparency Optimality

ϕ Enforcement Function E(σ, t) σ

Requirements: Soundness, Transparency and Optimality conditions. Enforcement Monitor: Defined as a transition system (which should satisfy the requirements). Implementation: Translation of the EM semantic rules into algorithms.

slide-21
SLIDE 21

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Summary of the approach

ϕ Enforcement Monitor E(σ, t) σ

Requirements: Soundness, Transparency and Optimality conditions. Enforcement Monitor: Defined as a transition system (which should satisfy the requirements). Implementation: Translation of the EM semantic rules into algorithms.

slide-22
SLIDE 22

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Summary of the approach

ϕ E(σ, t) σ Implementation

Dump Process Memory Store Process

Requirements: Soundness, Transparency and Optimality conditions. Enforcement Monitor: Defined as a transition system (which should satisfy the requirements). Implementation: Translation of the EM semantic rules into algorithms.

slide-23
SLIDE 23

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Outline

1

Introduction

2

Enforcement of timed properties

3

Enforcement of safety properties

4

Conclusion

slide-24
SLIDE 24

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of a safety property

Soundness ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) | = ϕ. Transparency At any time instant t, the output E(σ, t) delays the input obs(σ, t): ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) d obs(σ, t) ∧ time(E(σ, t)) ≤ t. Optimality If E is sound and transparent, it is optimal for any σ, t if (Op1) E(σ, t) is among the longest correct timed words delaying

  • bs(σ, t).

(Op2) Every prefix of E(σ, t) has the shortest possible last delay.

slide-25
SLIDE 25

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of a safety property

Soundness ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) | = ϕ. Transparency At any time instant t, the output E(σ, t) delays the input obs(σ, t): ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) d obs(σ, t) ∧ time(E(σ, t)) ≤ t. Optimality If E is sound and transparent, it is optimal for any σ, t if (Op1) E(σ, t) is among the longest correct timed words delaying

  • bs(σ, t).

(Op2) Every prefix of E(σ, t) has the shortest possible last delay.

slide-26
SLIDE 26

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of a safety property

Soundness ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) | = ϕ. Transparency At any time instant t, the output E(σ, t) delays the input obs(σ, t): ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) d obs(σ, t) ∧ time(E(σ, t)) ≤ t. Optimality If E is sound and transparent, it is optimal for any σ, t if (Op1) E(σ, t) is among the longest correct timed words delaying

  • bs(σ, t).

(Op2) Every prefix of E(σ, t) has the shortest possible last delay.

slide-27
SLIDE 27

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Enforcement of a safety property

Soundness ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) | = ϕ. Transparency At any time instant t, the output E(σ, t) delays the input obs(σ, t): ∀σ ∈ (R≥0 × Σ)∗, ∀t ∈ R≥0, E(σ, t) d obs(σ, t) ∧ time(E(σ, t)) ≤ t. Optimality If E is sound and transparent, it is optimal for any σ, t if (Op1) E(σ, t) is among the longest correct timed words delaying

  • bs(σ, t).

(Op2) Every prefix of E(σ, t) has the shortest possible last delay.

slide-28
SLIDE 28

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

EM for a safety property

EM = C, C0, ΓEM, ֒ → C = (R≥0 × Σ)∗ × R≥0 × R≥0 × B × Q is the set of configurations Initial configuration is C0 = ǫ, 0, 0, tt, q0 ∈ C; ΓEM =

  • (R≥0 × Σ) ∪ {ǫ}
  • × Op ×
  • (R≥0 × Σ) ∪ {ǫ}
  • is the

input-operation-output alphabet, where Op = {Store(·), Dump(·), Delay(·)}; ֒ →⊆ C × ΓEM × C EM should fulfill the soundness, transparency and optimality conditions.

slide-29
SLIDE 29

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Operations

  • 1. Store

σs, δ, d, tt, q

(δ,a)/Store(δ′,a)/ǫ

֒ → σs · (δ′, a), 0, d, (δ′ = ∞), q′ with: δ′ = shortest delay δ′ ≥ δ s.t. (q

(δ′,a)

→ q′, q′ ∈ G) q′ is defined as q

(δ′,a)

→ q′ if δ′ < ∞ and q′ = q otherwise

  • 2. Dump
  • (δ, a) · σs, s, δ, b, q

ǫ/Dump(δ,a)/(δ,a) ֒ → σs, s, 0, b, q if δ = ∞

  • 3. Delay

σs, s, d, b, q

ǫ/del(δ)/ǫ

֒ → σs, s + δ, d + δ, b, q

slide-30
SLIDE 30

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Implementation

Enforcer

Dump Process Store Process

Memory E(σ, t) σ, t

Algorithm: StoreProcess (l, X) ← (linit, [X ← 0]) while tt do (δ, a) ← await event if (post(l, X, a, δ) / ∈ G) then δ′ ← update(l, X, a, δ) if δ′ = ∞ then terminate StoreProcess end if else δ′ ← δ end if (l, X) ← post(l, X, a, δ′) enqueue (δ′, a) end while Algorithm: DumpProcess d ← 0 while tt do await (|σs| ≥ 1) (δ, a) ← dequeue (σs) wait (δ − d) dump (a) d ← 0 end while

slide-31
SLIDE 31

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Outline

1

Introduction

2

Enforcement of timed properties

3

Enforcement of safety properties

4

Conclusion

slide-32
SLIDE 32

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Conclusion

Formal approach for enforcing timed properties Enforcer adds additional delay between input actions in order to satisfy the property. Additional constraints to ensure choosing ”best” delay between actions. Focused on safety/co-safety properties. Algorithms to implement the enforcers. Prototypes developed using Python and UPPAAL. Ongoing/ future work Enforcing more expressive properties. New transparency conditions. Improve implementation. Test on case studies (analysis, different architectures).

slide-33
SLIDE 33

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Conclusion

Formal approach for enforcing timed properties Enforcer adds additional delay between input actions in order to satisfy the property. Additional constraints to ensure choosing ”best” delay between actions. Focused on safety/co-safety properties. Algorithms to implement the enforcers. Prototypes developed using Python and UPPAAL. Ongoing/ future work Enforcing more expressive properties. New transparency conditions. Improve implementation. Test on case studies (analysis, different architectures).

slide-34
SLIDE 34

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal

slide-35
SLIDE 35

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal

slide-36
SLIDE 36

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal

slide-37
SLIDE 37

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal

slide-38
SLIDE 38

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal

slide-39
SLIDE 39

Introduction Enforcement of timed properties Enforcement of safety properties Conclusion

Example

l0 l1 l2 Σ1 \ {r} r, x := 0 Σ1 \ {r} r, x ≥ 5, x := 0 r, x<5 Σ1

Input σ = (1, a) · (3, r) · (1, r)

ǫ/(ǫ, 0, 0, tt, < l0, 0 >)/(1, a) · (3, r) · (1, r) t = 0 ǫ/(ǫ, 1, 1, tt, < l0, 1 >)/(1, a) · (3, r) · (1, r) t = 1 del(1) ǫ/((1, a), 0, 1, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Store (1, a)/(ǫ, 0, 0, tt, < l0, 1 >)/(3, r) · (1, r) t = 1 Dump (1, a)/(ǫ, 3, 3, tt, < l0, 4 >)/(3, r) · (1, r) del(3) (1, a)/((3, r), 0, 3, tt, < l1, 0 >)/(1, r) Store t = 4 t = 4 (1, a) · (3, r)/(ǫ, 0, 0, tt, < l1, 0 >)/(1, r) (1, a) · (3, r)/(ǫ, 1, 1, tt, < l1, 1 >)/(1, r) del(1) (1, a) · (3, r)/((5, r), 0, 1, tt, < l1, 0 >)/ǫ Store (1, a) · (3, r)/((5, r), 4, 5, tt, < l1, 4 >)/ǫ del(4) (1, a) · (3, r) · (5, r)/(ǫ, 4, 0, tt, < l1, 4 >)/ǫ Dump Dump t = 4 t = 5 t = 5 t = 9 t = 9

Sound, Transparent and Optimal