Component-based Verification of Cyber-Physical Flow Systems Andreas - - PowerPoint PPT Presentation

component based verification of
SMART_READER_LITE
LIVE PREVIEW

Component-based Verification of Cyber-Physical Flow Systems Andreas - - PowerPoint PPT Presentation

Verified Traffic Networks: Component-based Verification of Cyber-Physical Flow Systems Andreas Mller andreas.mueller@jku.at Stefan Mitsch - stefan.mitsch@jku.at Andr Platzer - aplatzer@cs.cmu.edu Johannes Kepler University, Linz


slide-1
SLIDE 1

Verified Traffic Networks: Component-based Verification of Cyber-Physical Flow Systems

Andreas Müller – andreas.mueller@jku.at Stefan Mitsch - stefan.mitsch@jku.at

Johannes Kepler University, Linz Department of Cooperative Information Systems (CIS ) http://cis.jku.at/

André Platzer - aplatzer@cs.cmu.edu

Carnegie Mellon University, Pittsburgh Computer Science Department http://www.ls.cs.cmu.edu/

slide-2
SLIDE 2

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Overview

Introduction Challenges Approach Implementation Conclusion

2

slide-3
SLIDE 3

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

3

slide-4
SLIDE 4

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-5
SLIDE 5

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

3

  • - - - - - - - - - - - - - - - - - - - - - -

adapt interval

slide-6
SLIDE 6

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

3

  • - - - - - - - - - - - - - - - - - - - - - -

adapt interval set speed limit

slide-7
SLIDE 7

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-8
SLIDE 8

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity

3

  • - - - - - - - - - - - - - - - - - - - - - -

load capacity

slide-9
SLIDE 9

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity

3

  • - - - - - - - - - - - - - - - - - - - - - -

load capacity load ≤ capacity

slide-10
SLIDE 10

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity

3

  • - - - - - - - - - - - - - - - - - - - - - -

capacity load

slide-11
SLIDE 11

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity

3

  • - - - - - - - - - - - - - - - - - - - - - -

capacity load load ≥ capacity

slide-12
SLIDE 12

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity
  • Property: Starting in safe state, all runs stay in safe state

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-13
SLIDE 13

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity
  • Property: Starting in safe state, all runs stay in safe state

Cyber-physical systems (CPS)

  • Cyber and physical capabilities
  • Continuous physical-part: traffic flow
  • Discrete cyber-part: traffic light switching

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-14
SLIDE 14

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity
  • Property: Starting in safe state, all runs stay in safe state

Cyber-physical systems (CPS)

  • Cyber and physical capabilities
  • Continuous physical-part: traffic flow
  • Discrete cyber-part: traffic light switching

3

  • - - - - - - - - - - - - - - - - - - - - - -

𝑚𝑝𝑏𝑒′ = 𝑢𝑚 𝑢𝑚 ≔ 𝑠𝑓𝑒/𝑕𝑠𝑓𝑓𝑜

slide-15
SLIDE 15

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity
  • Property: Starting in safe state, all runs stay in safe state

Cyber-physical systems (CPS)

  • Cyber and physical capabilities
  • Continuous physical-part: traffic flow
  • Discrete cyber-part: traffic light switching

Methods to analyze models of CPS

  • Simulation and Testing (analyze some runs): good for complex phenomena
  • Verification (mathematically prove correctness of all runs): simplified models

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-16
SLIDE 16

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Traffic Management

Traffic Management System

  • Operate traffic through control actions

→Safety of critical actions is crucial

Safety

  • No traffic breakdown=load never exceeds capacity
  • Property: Starting in safe state, all runs stay in safe state

Cyber-physical systems (CPS)

  • Cyber and physical capabilities
  • Continuous physical-part: traffic flow
  • Discrete cyber-part: traffic light switching

Methods to analyze models of CPS

  • Simulation and Testing (analyze some runs): good for complex phenomena
  • Verification (mathematically prove correctness of all runs): simplified models

3

  • - - - - - - - - - - - - - - - - - - - - - -
slide-17
SLIDE 17

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

  • r
slide-18
SLIDE 18

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

  • r
slide-19
SLIDE 19

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

→ ≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ → ≤ → 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢 ≤

  • r
slide-20
SLIDE 20

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

→ ≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ → ≤ → 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢 ≤

  • r
slide-21
SLIDE 21

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

→ ≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ → ≤ → 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢 ≤ ∧ → ≤ ∧ 𝑠𝑓𝑒 → 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤

𝑗𝑔

  • r
slide-22
SLIDE 22

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

→ ≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ → ≤ → 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢 ≤ ∧ → ≤ ∧ 𝑠𝑓𝑒 → 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ [′]

… …

𝑗𝑔

  • r
slide-23
SLIDE 23

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Introduction – Verification

Verification

  • Transform property by user-guided application of proof rules
  • Starting in safe state, all runs stay in safe state

Example

4

  • - - - - - - - - - - - - - - - - -

≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

  • - - - - - - - - - - - - - - - - -

→ ≤ → 𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ → ≤ → 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢 ≤ ∧ → ≤ ∧ 𝑠𝑓𝑒 → 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ≤ [′]

… …

𝑗𝑔

  • r

Verification

  • One rule application/proof step per statement
  • Not fully automatable
  • Tool support: KeYmaera
  • Theorem prover
  • Some automation
slide-24
SLIDE 24

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large

  • Verification for large systems is

challenging

Challenges

slide-25
SLIDE 25

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large

  • Verification for large systems is

challenging

5

Challenges

slide-26
SLIDE 26

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large

  • Verification for large systems is

challenging

6

Challenges

slide-27
SLIDE 27

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large

6

Challenges

slide-28
SLIDE 28

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification

  • Re-verification only for affected parts

7

Challenges

slide-29
SLIDE 29

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification

  • Re-verification only for affected parts

7

Challenges

slide-30
SLIDE 30

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification

8

Challenges

slide-31
SLIDE 31

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

  • Redundancy should be utilized in verification

9

Challenges

slide-32
SLIDE 32

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

  • Redundancy should be utilized in verification

9

Challenges

slide-33
SLIDE 33

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

33

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

  • Redundancy should be utilized in verification

10

Challenges

slide-34
SLIDE 34

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

34

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

10

Challenges

slide-35
SLIDE 35

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

Component-based modeling

11

Challenges

slide-36
SLIDE 36

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

Component-based modeling

11

Challenges

slide-37
SLIDE 37

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

Component-based modeling

  • Verified components do not necessarily entail

verified system

11

Challenges

slide-38
SLIDE 38

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Component-based modeling

  • Verified components do not

necessarily entail verified system

12

Challenges

Real systems are large Any change to the model requires full re-verification Systems often consist of multiple similar patterns

How do verification results about traffic flow components transfer to entire traffic networks?

slide-39
SLIDE 39

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach

Component-based Verification

  • Verified Components and Verified Composition
  • Composition comes down to arithmetic checks

Process

(1) Model component types (2) Verify safety conditions for each type and their composition

  • No traffic breakdown

(3) Compose component instances to form system model

  • Check arithmetic constraints

Result

  • Fully verified system model

13

slide-40
SLIDE 40

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach

Component-based Verification

  • Verified Components and Verified Composition
  • Composition comes down to arithmetic checks

Process

(1) Model component types (2) Verify safety conditions for each type and their composition

  • No traffic breakdown

(3) Compose component instances to form system model

  • Check arithmetic constraints

Result

  • Fully verified system model

13

  • Once per type
  • Verification expert
  • Once per network
  • Traffic expert
slide-41
SLIDE 41

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Generic component

  • Inflows

(load, capacity, actual, max)

  • Outflows

(actual, max)

  • Controller

Approach – Components

14

slide-42
SLIDE 42

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Traffic Light

  • - - - - - - - - - - - - - - - - - -

Generic component

  • Inflows

(load, capacity, actual, max)

  • Outflows

(actual, max)

  • Controller

Example:

Approach – Components

14

slide-43
SLIDE 43

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Traffic Light

  • - - - - - - - - - - - - - - - - - -

Generic component

  • Inflows

(load, capacity, actual, max)

  • Outflows

(actual, max)

  • Controller

Example:

Approach – Components

Traffic Light Component

𝑗𝑜𝑛𝑏𝑦

𝑗𝑔 𝑠𝑓𝑒 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 ∪ 𝑗𝑔 𝑕𝑠𝑓𝑓𝑜 𝑚𝑝𝑏𝑒′ = 𝑗𝑜 − 𝑝𝑣𝑢

load cap Inflows Outflows

𝑗𝑜𝑏𝑑𝑢 𝑝𝑣𝑢𝑏𝑑𝑢 𝑝𝑣𝑢𝑛𝑏𝑦

Controller

14

slide-44
SLIDE 44

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Generic component

  • Inflows

(load, capacity, actual, max)

  • Outflows

(actual, max)

  • Controller

Component types

  • Traffic light (one in, one out)
  • Flow merge (two in, one out)
  • Flow split (one in, two out)

Approach – Components

14

slide-45
SLIDE 45

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Safety Properties

Safety Property: No traffic breakdown occurs

  • No load ever exceeds its capacity
  • Must once be verified for each component type

15

slide-46
SLIDE 46

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Safety Properties

Safety Property: No traffic breakdown occurs

  • No load ever exceeds its capacity
  • Must once be verified for each component type

Contracts

𝑑𝑏𝑞 ≥ max 𝑈

𝑠𝑕 ∗ 𝑗𝑛𝑏𝑦, 𝑈 ∗ 𝑗𝑛𝑏𝑦 − max 0, 𝑝𝑛𝑏𝑦 ∗ 𝑈 − 𝑈 𝑠𝑕

2 → ℎ𝑞𝑢𝑚 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒 ≤ 𝑑𝑏𝑞 𝑑𝑏𝑞1 ≥ 𝑈 ∗ 𝑗1𝑛𝑏𝑦 ∧ 𝑑𝑏𝑞2 ≥ 𝑈 ∗ 𝑗2𝑛𝑏𝑦 → ℎ𝑞𝑛 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒1 ≤ 𝑑𝑏𝑞1 ∧ 𝑚𝑝𝑏𝑒2 ≤ 𝑑𝑏𝑞2 𝑑𝑏𝑞 ≥ max 0, 𝑈 ∗ 𝑗𝑛𝑏𝑦 − min 𝑝1𝑛𝑏𝑦, 𝑝2𝑛𝑏𝑦 → ℎ𝑞𝑡 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒 ≤ 𝑑𝑏𝑞

15

slide-47
SLIDE 47

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Safety Properties

Safety Property: No traffic breakdown occurs

  • No load ever exceeds its capacity
  • Must once be verified for each component type

Contracts

𝑑𝑏𝑞 ≥ max 𝑈

𝑠𝑕 ∗ 𝑗𝑛𝑏𝑦, 𝑈 ∗ 𝑗𝑛𝑏𝑦 − max 0, 𝑝𝑛𝑏𝑦 ∗ 𝑈 − 𝑈 𝑠𝑕

2 → ℎ𝑞𝑢𝑚 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒 ≤ 𝑑𝑏𝑞 𝑑𝑏𝑞1 ≥ 𝑈 ∗ 𝑗1𝑛𝑏𝑦 ∧ 𝑑𝑏𝑞2 ≥ 𝑈 ∗ 𝑗2𝑛𝑏𝑦 → ℎ𝑞𝑛 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒1 ≤ 𝑑𝑏𝑞1 ∧ 𝑚𝑝𝑏𝑒2 ≤ 𝑑𝑏𝑞2 𝑑𝑏𝑞 ≥ max 0, 𝑈 ∗ 𝑗𝑛𝑏𝑦 − min 𝑝1𝑛𝑏𝑦, 𝑝2𝑛𝑏𝑦 → ℎ𝑞𝑡 𝑢 ≤ 𝑈 → 𝑚𝑝𝑏𝑒 ≤ 𝑑𝑏𝑞

15

slide-48
SLIDE 48

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

Compose components

  • Connect Outputs to Inputs
  • Flow is passed on
  • ≤ 𝑝𝑛𝑏𝑦
  • Both components safe

→Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled

C1 C2 16

slide-49
SLIDE 49

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

Compose components

  • Connect Outputs to Inputs
  • Flow is passed on
  • ≤ 𝑝𝑛𝑏𝑦
  • Both components safe

→Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled

C1 C2 16

slide-50
SLIDE 50

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

Compose components

  • Connect Outputs to Inputs
  • Flow is passed on
  • ≤ 𝑝𝑛𝑏𝑦
  • Both components safe

→Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled

C1 C2

C3

16

slide-51
SLIDE 51

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

Compose components

  • Connect Outputs to Inputs
  • Flow is passed on
  • ≤ 𝑝𝑛𝑏𝑦
  • Both components safe

→Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled

C1 C2

C3

16

slide-52
SLIDE 52

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

𝑝 𝑛𝑏𝑦 𝑝𝑝 𝑝 𝑛𝑏𝑦 𝑛𝑛𝑏𝑏𝑦𝑦 𝑝 𝑛𝑏𝑦 Compose components

  • Connect Outputs to Inputs
  • Flow is passed on

Theorem: Preserve Safety

  • Both components safe

→Composition is again

a safe component →Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled

C1 C2

C3

16

slide-53
SLIDE 53

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Approach – Composition

𝑝 𝑛𝑏𝑦 𝑝𝑝 𝑝 𝑛𝑏𝑦 𝑛𝑛𝑏𝑏𝑦𝑦 𝑝 𝑛𝑏𝑦 Compose components

  • Connect Outputs to Inputs
  • Flow is passed on

Theorem: Preserve Safety

  • Both components safe

→Composition is again a safe component

Rebuild overall network

  • Compose components until

desired network is rebuilt

  • Check if condition fulfilled
  • Check if condition fulfilled

C1 C2

C3

16

slide-54
SLIDE 54

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Implementation – SAFE-T

Network Graph

Add components Connect components (automatic compatibility check)

Extensible Component Library

slide-55
SLIDE 55

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Implementation – SAFE-T

Network Graph

slide-56
SLIDE 56

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Implementation – SAFE-T

Network Graph

slide-57
SLIDE 57

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Implementation – SAFE-T

Load Graph Time Slider Analysis Panel

t=7: OVERFLOW@‘C1‘ load=10.0 …

Analyze model: How long is it safe? Simulate Model: How do loads change

  • ver time?

Analyze model: Which components

  • verflows first?
slide-58
SLIDE 58

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Traffic Network

  • X Traffic lights
  • Y Flow Splits
  • Z Flow Merges
  • N Connections

Conclusion

Monolithic Component-based Number of Proofs 1 (presumably large) 3 + N Checks (traffic light/split/merge) Model Size # Variables X*6 + Y*6 + Z*7 6/6/7 LoC X*60 + Y*50 + Z*50 60/50/50 Connect… …Components Reproof of Composite Arithmetic Check Change… …Component or Properties Reproof Entire Model Redo Arithmetic Checks …Connections Reproof Entire Model Redo Arithmetic Checks Add… …Component Type Reproof Entire Model Reproof Component Model 20

slide-59
SLIDE 59

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Example Network

  • 5 Traffic lights
  • 5 Flow Splits
  • 5 Flow Merges
  • 10 Connections

Conclusion

Monolithic Component-based Number of Proofs 1 3 + 10 Checks (traffic light/split/merge) Model Size # Variables 95 6/6/7 LoC 800 60/50/50 Connect… …Components Reproof of Composite Arithmetic Check Change… …Component or Properties Reproof Entire Model Redo Arithmetic Checks …Connections Reproof Entire Model Redo Arithmetic Checks Add… …Component Type Reproof Entire Model Reproof Component Model 21

slide-60
SLIDE 60

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Example Network

  • 5 Traffic lights
  • 5 Flow Splits
  • 5 Flow Merges
  • 10 Connections

Conclusion

Monolithic Component-based Number of Proofs 1 3 + 10 Checks (traffic light/split/merge) Model Size # Variables 95 6/6/7 LoC 800 60/50/50 Connect… …Components Reproof of Composite Arithmetic Check Change… …Component or Properties Reproof Entire Model Redo Arithmetic Checks …Connections Reproof Entire Model Redo Arithmetic Checks Add… …Component Type Reproof Entire Model Reproof Component Model 21

Advantages

  • Small proofs & checks instead of one huge proof
  • Increased reusability
  • Easy model evolution

Limitation

  • Simplified models
slide-61
SLIDE 61

THANKS FOR YOUR ATTENTION!

22

Verified Traffic Networks: Component-based Verification of Cyber-Physical Flow Systems

slide-62
SLIDE 62

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Related Work

Component-based CPS modeling and verification

  • Few handle discrete and continuous CPS aspects
  • Formal verification is not considered
  • E.g.: Damm et al. [1], Henzinger et al. [2]

Traffic models

  • Plethora of models
  • Mostly purely continuous
  • Verification not considered
  • E.g.: Greenshields et al. [3], Lighthill et al. [4]

Intelligent traffic management systems

  • Support traffic operators
  • Complementary to our approach
  • E.g.: Baumgartner et al. [5], Almejalli et al. [6]

[1] Damm, W.; et al. (2010): Towards Component Based Design of Hybrid Systems: Safety and Stability. In: Time for

  • Verification. Springer Berlin Heidelberg.

[2] Henzinger, T.; et al. (2001): Assume-Guarantee Reasoning for Hierarchical Hybrid Systems. In: Hybrid Systems: Computation and Control. Springer Berlin Heidelberg. [3] Greenshields, B. D.; et al. (1933): The Photographic Method of Studying Traffic Behavior. In: Proceedings of the 13th Annual Meeting of the Highway Research Board. [4] Lighthill, M. J.;et al. (1955): On Kinematic Waves. II. A Theory of Traffic Flow on Long Crowded Roads. In: Proceedings of the Royal Society of London. [5] Baumgartner, N.; et al. (2014): A Tour of BeAware! – A situation awareness framework for control centers. In: Information Fusion 20. [6] Almejalli, K.; et al. (2007): Intelligent Traffic Control Decision Support System. In: Applications of Evolutionary

  • Computing. Springer Berlin Heidelberg.

23

slide-63
SLIDE 63

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

Future Work

Consider traffic phenomena (e.g., shock-waves) Introduce further components Automatically transform networks into components and compositions Generic Component Definitions

  • Currently work-in-progress

24

slide-64
SLIDE 64

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

25

slide-65
SLIDE 65

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

26

slide-66
SLIDE 66

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

27

slide-67
SLIDE 67

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

28

slide-68
SLIDE 68

Andreas Müller – Johannes Kepler University, Linz, Austria – September 7, 2015

29