Predictive Runtime Enforcement Srinivas Pinisetty 1 , Viorel - - PowerPoint PPT Presentation

predictive runtime enforcement
SMART_READER_LITE
LIVE PREVIEW

Predictive Runtime Enforcement Srinivas Pinisetty 1 , Viorel - - PowerPoint PPT Presentation

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion Predictive Runtime Enforcement Srinivas Pinisetty 1 , Viorel Preoteasa 1 , Stavros Tripakis 1 , 2 , Thierry J eron 3 , es Falcone 4 , Herv e Marchand 3 Yli`


slide-1
SLIDE 1

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive Runtime Enforcement

Srinivas Pinisetty1, Viorel Preoteasa1, Stavros Tripakis1,2, Thierry J´ eron3, Yli` es Falcone4, Herv´ e Marchand3

Aalto University, Finland University of California, Berkeley INRIA Rennes - Bretagne Atlantique, France LIG, Universit´ e Grenoble, INRIA, Grenoble, France

Computational Logic Day 2016, Aalto University, Finland

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 1 / 23

slide-2
SLIDE 2

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Runtime verification and enforcement

Runtime verification

Verification Monitor

events

verdicts

Property ϕ ? · True · · ·

a · b · · ·

Does σ satisfy ϕ ? Output: stream of verdicts.

Runtime enforcement

Enforcer

events

events

Property ϕ

a · a · · · | = ϕ a · a · b · · · Input: stream of events. Modified to satisfy the property. Output: stream of events.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 2 / 23

slide-3
SLIDE 3

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Runtime enforcement (previous work: non-predictive)

Event Emitter Enforcer Event Receiver ϕ σ ∈ Σ∗

  • ∈ ϕ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 3 / 23

slide-4
SLIDE 4

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Runtime enforcement (previous work: non-predictive)

Event Emitter Enforcer Event Receiver ϕ σ ∈ Σ∗

  • ∈ ϕ

Enforcer for ϕ operating at runtime

ϕ: any regular property (defined as automaton).

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 3 / 23

slide-5
SLIDE 5

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Runtime enforcement (previous work: non-predictive)

Event Emitter Enforcer Event Receiver ϕ σ ∈ Σ∗

  • ∈ ϕ

Enforcer for ϕ operating at runtime

ϕ: any regular property (defined as automaton). An enforcer behaves as a function E : Σ∗ → Σ∗.

Input (σ ∈ Σ∗): any sequence of events over Σ (Event emitter is a black-box).

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 3 / 23

slide-6
SLIDE 6

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Runtime enforcement (previous work: non-predictive)

Event Emitter Enforcer Event Receiver ϕ σ ∈ Σ∗

  • ∈ ϕ

Enforcer for ϕ operating at runtime

ϕ: any regular property (defined as automaton). An enforcer behaves as a function E : Σ∗ → Σ∗.

Input (σ ∈ Σ∗): any sequence of events over Σ (Event emitter is a black-box). Output (o ∈ Σ∗): a sequence of events such that o | = ϕ.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 3 / 23

slide-7
SLIDE 7

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive runtime enforcement problem (this work)

Event Emitter Predictive Enforcer Event Receiver ψ, ϕ σ∈ ψ

  • ∈ ϕ

Predictive enforcer for ϕ operating at runtime

Given property ϕ (to enforce) and input property ψ defined as automaton. Automatically synthesize an enforcer.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 4 / 23

slide-8
SLIDE 8

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive runtime enforcement problem (this work)

Event Emitter Predictive Enforcer Event Receiver ψ, ϕ σ∈ ψ

  • ∈ ϕ

Predictive enforcer for ϕ operating at runtime

Given property ϕ (to enforce) and input property ψ defined as automaton. Automatically synthesize an enforcer.

Input (σ ∈ ψ): Event emitter is not a black-box. Output (o ∈ Σ∗): a sequence of events o | = ϕ.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 4 / 23

slide-9
SLIDE 9

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive runtime enforcement problem (this work)

Event Emitter Predictive Enforcer Event Receiver ψ, ϕ σ∈ ψ

  • ∈ ϕ

Predictive enforcer for ϕ operating at runtime

Given property ϕ (to enforce) and input property ψ defined as automaton. Automatically synthesize an enforcer.

Input (σ ∈ ψ): Event emitter is not a black-box. Output (o ∈ Σ∗): a sequence of events o | = ϕ. Predictive enforcer should satisfy soundness, transparency, monotonicity, and urgency constraints. Urgency related to using ψ and release input events earlier whenever possible.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 4 / 23

slide-10
SLIDE 10

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive runtime enforcement (motivations)

Motivations

Consider a-priori knowledge of the system (event emitter) is available.

Model, information extracted using static-analysis etc.

Provide a-priori knowledge of the system (event emitter) to the enforcer.

Event emitter is not a black-box. How enforcer can benefit from model/knowledge of the system? Does it help to provide better QoS (eg: output some events earlier)?

Example

Non-safety properties (release events earlier instead of delaying).

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 5 / 23

slide-11
SLIDE 11

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Related works

Runtime Enforcement: non-predictive

Enforceable security policies – F. B. Schneider et al-2000. Runtime enforcement of non-safety policies – J. Ligatti et al-2009. Enforcement monitoring wrt. the safety-progress classification of properties –

  • Y. Falcone et al-2010.

Runtime enforcement of timed properties – S. Pinisetty et al-2012. Runtime enforcement for reactive systems – R. Bloem et al-2015.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 6 / 23

slide-12
SLIDE 12

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Outline

1

Introduction

2

Formal Problem Definition

3

Automatic Enforcer Synthesis Functional Definition Algorithm

4

Conclusion

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 7 / 23

slide-13
SLIDE 13

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Outline

1

Introduction

2

Formal Problem Definition

3

Automatic Enforcer Synthesis Functional Definition Algorithm

4

Conclusion

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 8 / 23

slide-14
SLIDE 14

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Predictive enforcer

Given properties ψ (input property) and ϕ (to enforce):

ψ, ϕ Predictive Enforcer σ ∈ ψ

  • ∈ ϕ

What can an enforcer do?

Enforcer augmented with a memorization mechanism. CAN delay events. CANNOT insert nor delete events. CANNOT change the order of events.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 9 / 23

slide-15
SLIDE 15

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Formal problem definition

Properties ψ (input property) and ϕ (to enforce).

ψ, ϕ Predictive Enforcer σ ∈ ψ

  • ∈ ϕ

Predictive enforcer for ψ, ϕ

Given properties ψ, ϕ ⊆ Σ∗, a predictive enforcer is a function Eψ,ϕ : Σ∗ → Σ∗ satisfying the following constraints:

1

Soundness

2

Transparency

3

Monotonicity

4

Urgency

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 10 / 23

slide-16
SLIDE 16

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Soundness

Output is correct (satisfies ϕ)

∀σ ∈ ψ : Eψ,ϕ(σ) = ǫ = ⇒ Eψ,ϕ(σ) ∈ ϕ.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 11 / 23

slide-17
SLIDE 17

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Transparency

TR1: events can be delayed

∀σ ∈ Σ∗ : Eψ,ϕ(σ) σ.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 12 / 23

slide-18
SLIDE 18

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Transparency

TR1: events can be delayed

∀σ ∈ Σ∗ : Eψ,ϕ(σ) σ.

TR2: observed input satisfies ϕ

∀σ ∈ Σ∗ : σ ∈ ϕ = ⇒ Eψ,ϕ(σ) = σ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 12 / 23

slide-19
SLIDE 19

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Monotonicity

Modify output only by appending new events

∀σ, σ′ ∈ Σ∗ : σ σ′ = ⇒ Eψ,ϕ(σ) Eψ,ϕ(σ′)

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 13 / 23

slide-20
SLIDE 20

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-21
SLIDE 21

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-22
SLIDE 22

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-23
SLIDE 23

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ, σcon = {b · c·!, a · a · a · · · a}

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-24
SLIDE 24

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ, σcon = {b · c·!, a · a · a · · · a}, WAIT.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-25
SLIDE 25

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ, σcon = {b · c·!, a · a · a · · · a}, WAIT. σ = a · b ∈ ϕ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-26
SLIDE 26

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ, σcon = {b · c·!, a · a · a · · · a}, WAIT. σ = a · b ∈ ϕ, σcon = {c·!}

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-27
SLIDE 27

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Urgency

Release observed input ASAP predicting future input using ψ

∀σ ∈ Σ∗ : (∀σcon ∈ Σ∗ : σ · σcon ∈ ψ = ⇒ ∃σ′ ∈ Σ∗ : σ′ σcon ∧ σ · σ′ ∈ ϕ) = ⇒ Eψ,ϕ(σ) = σ

Example

Input property ψ

l0 l1 T r l2 l3 l4 l5 a b|c|! b c|! a c a|b|! ! a|b|c Σ a

Property to enforce ϕ

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

σ = a ∈ ϕ, σcon = {b · c·!, a · a · a · · · a}, WAIT. σ = a · b ∈ ϕ, σcon = {c·!}, RELEASE a · b.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 14 / 23

slide-28
SLIDE 28

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Outline

1

Introduction

2

Formal Problem Definition

3

Automatic Enforcer Synthesis Functional Definition Algorithm

4

Conclusion

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 15 / 23

slide-29
SLIDE 29

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Functional definition

Eψ,ϕ : Σ∗ → Σ∗

Eψ,ϕ(σ) = Π1

  • store(σ)
  • .

Enforcement function

ψ, ϕ Eψ,ϕ(σ) ∈ ϕ σ ∈ ψ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 16 / 23

slide-30
SLIDE 30

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Functional definition

Eψ,ϕ : Σ∗ → Σ∗

Eψ,ϕ(σ) = Π1

  • store(σ)
  • .

Enforcement function

ψ, ϕ Eψ,ϕ(σ) ∈ ϕ σ ∈ ψ

storeψ,ϕ : Σ∗ → Σ∗ × Σ∗

storeψ,ϕ(σ) is a pair:

1

  • utput of the enforcer (prefix of σ),

2

suffix of σ which the enforcer cannot output yet.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 16 / 23

slide-31
SLIDE 31

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Functional definition

Eψ,ϕ : Σ∗ → Σ∗

Eψ,ϕ(σ) = Π1

  • store(σ)
  • .

Enforcement function

ψ, ϕ Eψ,ϕ(σ) ∈ ϕ σ ∈ ψ

storeψ,ϕ : Σ∗ → Σ∗ × Σ∗

storeψ,ϕ(σ) is a pair:

1

  • utput of the enforcer (prefix of σ),

2

suffix of σ which the enforcer cannot output yet. Suppose (σs, σc) = storeψ,ϕ(σ)

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 16 / 23

slide-32
SLIDE 32

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Functional definition

Eψ,ϕ : Σ∗ → Σ∗

Eψ,ϕ(σ) = Π1

  • store(σ)
  • .

Enforcement function

ψ, ϕ Eψ,ϕ(σ) ∈ ϕ σ ∈ ψ

storeψ,ϕ : Σ∗ → Σ∗ × Σ∗

storeψ,ϕ(σ) is a pair:

1

  • utput of the enforcer (prefix of σ),

2

suffix of σ which the enforcer cannot output yet. Suppose (σs, σc) = storeψ,ϕ(σ) storeψ,ϕ(σ · a) =    (σs · σc · a, ǫ) if κψ,ϕ(σs · σc · a), (σs, σc · a)

  • therwise

where κψ,ϕ tests the hypothesis of the Urgency constraint.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 16 / 23

slide-33
SLIDE 33

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Functional definition satisfies constraints

Theorem

The functional definition we previously saw satisfies the following constraints:

1

Soundness

2

Transparency

3

Monotonicity

4

Urgency

Isabelle proofs

https://github.com/isabelle-theory/PredictiveRuntimeEnforcement

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 17 / 23

slide-34
SLIDE 34

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Outline

1

Introduction

2

Formal Problem Definition

3

Automatic Enforcer Synthesis Functional Definition Algorithm

4

Conclusion

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 18 / 23

slide-35
SLIDE 35

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Enforcement algorithm

Input: Aψ = (Qψ, qψ, Σ, δψ, Fψ), Aϕ = (Qϕ, qϕ, Σ, δϕ, Fϕ).

Online algorithm

initialize memory, automata current states; while True do WAIT for input event; UPDATE current states; if (κψ,ϕ()) then RELEASE memory content and input event; else ADD input event to memory; end end

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 19 / 23

slide-36
SLIDE 36

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Implementation of κψ,ϕ

Input: Aψ = (Qψ, qψ, Σ, δψ, Fψ), Aϕ = (Qϕ, qϕ, Σ, δϕ, Fϕ).

Testing κψ,ϕ(σ) by checking emptiness of a regular language

p = state in Aψ upon reading σ. q= state in Aϕ upon reading σ. κψ,ϕ(σ) ⇐ ⇒ L(Aψ × Bϕ, (p, q)) = ∅

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 20 / 23

slide-37
SLIDE 37

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Implementation of κψ,ϕ

Input: Aψ = (Qψ, qψ, Σ, δψ, Fψ), Aϕ = (Qϕ, qϕ, Σ, δϕ, Fϕ).

Testing κψ,ϕ(σ) by checking emptiness of a regular language

p = state in Aψ upon reading σ. q= state in Aϕ upon reading σ. κψ,ϕ(σ) ⇐ ⇒ L(Aψ × Bϕ, (p, q)) = ∅

Automaton Bϕ

Automaton Aϕ.

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

Automaton Bϕ based on Aϕ.

l0 l1 l2 l3 a|b|c ! a|b|c ! Σ Σ

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 20 / 23

slide-38
SLIDE 38

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Enforcement algorithm

Predictive Enforcer

1: σc ← ǫ 2: p, q ← qψ, qϕ 3: C ← Aψ × Bϕ 4: while true do 5:

a ← await event()

6:

p, q ← δψ(p, a), δϕ(q, a)

7:

if L(C, (p, q)) = ∅ then

8:

release(σc · a)

9:

σc ← ǫ

10:

else

11:

σc ← σc · a

12:

end if

13: end while

Complexity

Product automaton C, emptiness test for every state in C (off-line). Constant on-line time complexity.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 21 / 23

slide-39
SLIDE 39

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Outline

1

Introduction

2

Formal Problem Definition

3

Automatic Enforcer Synthesis Functional Definition Algorithm

4

Conclusion

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 22 / 23

slide-40
SLIDE 40

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Conclusion and Future Work

Conclusion

Introduced predictive RE framework.

A-priori knowledge of system behavior ψ. Predicting future using ψ (Urgency constraint). Urgency ensures that enforcer reacts ASAP.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 23 / 23

slide-41
SLIDE 41

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Conclusion and Future Work

Conclusion

Introduced predictive RE framework.

A-priori knowledge of system behavior ψ. Predicting future using ψ (Urgency constraint). Urgency ensures that enforcer reacts ASAP.

Properties ϕ and ψ are regular languages (modeled as automata). Enforcer synthesis. Algorithms implementing these mechanisms in constant on-line time. Proofs in Isabelle. Implementation: https://github.com/SrinivasPinisetty/PredictiveRE.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 23 / 23

slide-42
SLIDE 42

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Conclusion and Future Work

Conclusion

Introduced predictive RE framework.

A-priori knowledge of system behavior ψ. Predicting future using ψ (Urgency constraint). Urgency ensures that enforcer reacts ASAP.

Properties ϕ and ψ are regular languages (modeled as automata). Enforcer synthesis. Algorithms implementing these mechanisms in constant on-line time. Proofs in Isabelle. Implementation: https://github.com/SrinivasPinisetty/PredictiveRE.

Future Work

Predictive RE for real-time properties. Implementation, case-studies.

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 23 / 23

slide-43
SLIDE 43

Introduction Formal Problem Definition Automatic Enforcer Synthesis Conclusion

Conclusion and Future Work

Conclusion

Introduced predictive RE framework.

A-priori knowledge of system behavior ψ. Predicting future using ψ (Urgency constraint). Urgency ensures that enforcer reacts ASAP.

Properties ϕ and ψ are regular languages (modeled as automata). Enforcer synthesis. Algorithms implementing these mechanisms in constant on-line time. Proofs in Isabelle. Implementation: https://github.com/SrinivasPinisetty/PredictiveRE.

Future Work

Predictive RE for real-time properties. Implementation, case-studies. Thank you!!, Questions?

Pinisetty, Preoteasa, Tripakis, J´ eron, Falcone, Marchand Predictive Runtime Enforcement Computational Logic Day 2016 23 / 23