contract-based integration of cyber-physical analyses

29
1 Contract-Based Integration of Cyber-Physical Analyses Ivan Ruchkin Dionisio De Niz Sagar Chaki David Garlan October 14, 2014 14 th International Conference on Embedded Software

Upload: ivan-ruchkin

Post on 08-Jul-2015

58 views

Category:

Software


0 download

DESCRIPTION

A presentation given at the International Conference on Embedded Software 2014.

TRANSCRIPT

Page 1: Contract-Based Integration of Cyber-Physical Analyses

1

Contract-Based Integration ofCyber-Physical Analyses

Ivan RuchkinDionisio De Niz

Sagar ChakiDavid Garlan

October 14, 201414th International Conference on Embedded Software

Page 2: Contract-Based Integration of Cyber-Physical Analyses

2

Copyright 2014 ACM

This material is based upon work funded and supported by the Department of Defense under Contract No. FA8721-05-C-0003 with Carnegie Mellon University for the operation of the Software Engineering Institute, a federally funded research and development center.

NO WARRANTY. THIS CARNEGIE MELLON UNIVERSITY AND SOFTWARE ENGINEERING INSTITUTE MATERIAL IS FURNISHED ON AN “AS-IS” BASIS. CARNEGIE MELLON UNIVERSITY MAKES NO WARRANTIES OF ANY KIND, EITHER EXPRESSED OR IMPLIED, AS TO ANY MATTER INCLUDING, BUT NOT LIMITED TO, WARRANTY OF FITNESS FOR PURPOSE OR MERCHANTABILITY, EXCLUSIVITY, OR RESULTS OBTAINED FROM USE OF THE MATERIAL. CARNEGIE MELLON UNIVERSITY DOES NOT MAKE ANY WARRANTY OF ANY KIND WITH RESPECT TO FREEDOM FROM PATENT, TRADEMARK, OR COPYRIGHT INFRINGEMENT.

This material has been approved for public release and unlimited distribution.

This material may be reproduced in its entirety, without modification, and freely distributed in written or electronic form without requesting formal permission. Permission is required for any other use. Requests for permission should be directed to the Software Engineering Institute at [email protected].

Carnegie Mellon® is registered in the U.S. Patent and Trademark Office by Carnegie Mellon University.

DM-0001714

Page 3: Contract-Based Integration of Cyber-Physical Analyses

3

Outline

● Analysis integration problem

● Analysis contracts approach

– Specification

– Verification● Experimental results

Page 4: Contract-Based Integration of Cyber-Physical Analyses

4

Model integration in CPSEnergy

Scheduling

Aerodynamics

● Subtle mismatches between technical domains

● Lead to costly fixes or failures

Page 5: Contract-Based Integration of Cyber-Physical Analyses

5

Analytic aspect of integration

SensorSampling

PIDController

ActuatorController

Communication bus

Sensor

boardCPU

Actuator

board

System

Bin packing

Analysis

Pow

er

Exe

c T

ime

Frequency scaling

Analysis Allocates

Adjustsfrequency

● Frequency scaling is applicable only when:

– used after Bin packing

– the system is behaviorally deadline-monotonic● Otherwise, frequency scaling may render the system

unschedulable

Page 6: Contract-Based Integration of Cyber-Physical Analyses

6

Frequency scaling assumption● Behavioral equivalence to deadline-monotonic scheduling

PD

P=D

P=D

P=D

RMS ≠ DMS

RMS = DMS

P=D, Harmonic, Sync

P=D

P=D

EDF ≠ DMS

EDF = DMS

P=D

P=D

Page 7: Contract-Based Integration of Cyber-Physical Analyses

7

Analysis integration problem

System

Analysis

Analysis

Analysis

● Out-of-order execution

● Invalidation of assumptions

Analysis

Domain 2

Domain 1

Page 8: Contract-Based Integration of Cyber-Physical Analyses

8

Existing solutions

● Assume-guarantee component composition does not handle analytic integration of tools [1][2].

● Architectural views tackle model consistency, not analytic tool consistency [3][4]

● Meta-level AADL languages do not allow domain-specific semantics [5]

● Previous work on analysis contracts: single domain only, unsound and incomplete verification [6]

[1] Frehse et al. Assume-guarantee reasoning for hybrid I/O-automata by over-approximation of continuous interaction, 2004[2] Sangiovanni-Vincentelli et al. Taming Dr. Frankenstein: contract-based design for cyber-physical systems, 2013[3] Torngren et al. Integrating viewpoints in the development of mechatronic products, 2013[4] Rajhans et al. Supporting heterogeneity in cyber-physical systems architectures, 2014[5] Boddy et al. The FUSED meta-language and tools for complex system engineering, 2011[6] Nam et al. Resource allocation contracts for open analytic runtime models, 2011

Page 9: Contract-Based Integration of Cyber-Physical Analyses

9

Running example

Discharge Charge

Battery Scheduling

Battery

Scheduling

Bin packing Data security

x

Data security

x

Page 10: Contract-Based Integration of Cyber-Physical Analyses

10

Outline

● Analysis integration problem

● Analysis contracts approach

– Specification

– Verification● Experimental results

Page 11: Contract-Based Integration of Cyber-Physical Analyses

11

Analysis contracts approach

1. Formalize analysis domains

2. Specify dependencies, assumptions, and guarantees of analyses

3. Determine correct ordering of analyses

4. Verify assumptions and guarantees of analyses

Page 12: Contract-Based Integration of Cyber-Physical Analyses

12

Outline

● Analysis integration problem

● Analysis contracts approach

– Specification

– Verification● Experimental results

Page 13: Contract-Based Integration of Cyber-Physical Analyses

13

Running example

Discharge Charge

Battery Scheduling

Battery

Scheduling

Bin packing Data security

x

Data security

x

Page 14: Contract-Based Integration of Cyber-Physical Analyses

14

Running example

Discharge Charge

Battery Scheduling

Battery domain σbatt

Scheduling domain σsched

Bin packing Data security

x

Data security

x

Page 15: Contract-Based Integration of Cyber-Physical Analyses

15

Verification domain

Domain σ is a many-sorted signature (A, S, R, T, ⦃⦄σ):

– A – set of atoms: ℬ, ℤ, Threads, Batteries, SchedPol

– S – static functions: Period, Dline, CPUBind, Voltage

– R – runtime functions CanPrmpt: Threads x Threads → ℬ

– T – execution semantics

● set of sequences of R assignments

– ⦃⦄σ and ⦃⦄

m – domain and model interpretations

● ⦃SchedPol⦄σ = {RMS, DMS, EDF}

● ⦃CPUBind⦄m = { (Ctrl1, CPU1), (Ctrl2, CPU2), ... }

Page 16: Contract-Based Integration of Cyber-Physical Analyses

16

Analysis contract

● Given a domain σ, analysis contract C is a tuple (I, O, A, G)

– Inputs I ⊆ A ∪ S– Outputs O ⊆ A ∪ S

– Assumptions A ⊆ Fσ

– Guarantees G ⊆ Fσ

● Where:

– Fσ ::= {∀|ⱻ} v1..vn•φ | {∀|ⱻ} v1..vn•φ : ψ

– φ is a static predicate formula over A and S– ψ is an LTL formula over A , S, and R

– E.g.: ∀ t1, t

2: Threads • t

1 ≠ t

2 ∧ CPUBind(t

1) = CPUBind(t

2) :

G (CanPrmpt(t1, t

2) ⇒ Dline(t

1) < Dline(t

2))

Page 17: Contract-Based Integration of Cyber-Physical Analyses

17

Outline

● Analysis integration problem

● Analysis contracts approach

– Specification

– Verification● Experimental results

Page 18: Contract-Based Integration of Cyber-Physical Analyses

18

Running example

Discharge Charge

Battery Scheduling

Battery domain σbatt

Scheduling domain σsched

Bin packing Data security

x

Data security

x

Page 19: Contract-Based Integration of Cyber-Physical Analyses

19

Assumption verification

● Goal:

∀ t1, t

2: Threads • t

1 ≠ t

2 ∧ CPUBind(t

1) = CPUBind(t

2) :

G (CanPrmpt(t1, t

2) ⇒ Dline(t

1) < Dline(t

2))

● SMT solver finds solutions for static fragment φ

– ∀ t1, t

2:Threads | t

1 ≠ t

2 ∧ CPUBind(t

1) = CPUBind(t

2)

● Model checking property ψ in a behavioral Promela model for each SMT solution:

– G (CanPrmpt(t1, t

2) ⇒ Dline(t

1) < Dline(t

2))

Page 20: Contract-Based Integration of Cyber-Physical Analyses

20

Battery modeling

Discharge Charge

Battery Scheduling

Battery domain σbatt

● Abstraction: circuits● Selects a scheduler for cell connections● Oblivious of heat: treats any configuration as

acceptable heat-wise

● Abstraction: geometry● Simulates heat propagation● Cannot scale to dynamic scheduling:

simulates only fixed cell configurations

● Restrictions on acceptable thermal configurations● Guarantee: unacceptable ones don't occur

Page 21: Contract-Based Integration of Cyber-Physical Analyses

21

Battery scheduling guarantee

● G: “Bad thermal configurations are not reachable”● TN(b, i) ∈ R – number of cells in b with i thermal

neighbors● K(b, i) ∈ S – experimental weight for TN(b, i)● G = {∀ b: Batteries • G ( ∑ i=0..3 K(b, i)*TN(b, i) ) ≥ 0}

Page 22: Contract-Based Integration of Cyber-Physical Analyses

22

Battery modeling

Discharge Charge

Battery Scheduling

Battery domain σbatt

Selects a battery schedulerG: ∀ b: Batteries • G ( ∑ i=0..3 K(b, i)*TN(b, i) ) ≥ 0Verified with battery Promela/Spin model

K(b, i)

Determines K(b, i) via simulation

Page 23: Contract-Based Integration of Cyber-Physical Analyses

23

Outline

● Analysis integration problem

● Analysis contracts approach

– Specification

– Verification● Experimental results

Page 24: Contract-Based Integration of Cyber-Physical Analyses

24

Framework implementation

Page 25: Contract-Based Integration of Cyber-Physical Analyses

25

Scalability evaluation

Threads (R/D)MS time

EDF time

3 0.01 0.01

4 0.01 0.52

5 0.07 33.4

6 0.37 2290.0

7 2.18 Out Mem

8 12.4 Out Mem

9 71.2 Out Mem

10 421 Out Mem

11 Out Mem Out Mem

Cells FGURR time

FGWRR time

GPWRRtime

9 0.13 0.15 0.15

12 0.61 2.34 3.94

16 44 31.4 127

20 1060 619 Out Mem

25 Out Mem Out Mem Out Mem

● SMT solving typically takes less than 0.1 second

● Spin model checking times:

All times are in seconds

σsched

: σbatt

:

Page 26: Contract-Based Integration of Cyber-Physical Analyses

26

Summary

● Analysis integration is error-prone

– Incorrect ordering

– Violation of implicit assumptions● Our solution:

– Contract specification language

– Contract verification algorithm

– Framework implementation● Effective, extensible, and scalable

Page 27: Contract-Based Integration of Cyber-Physical Analyses

27

Verification domain

● Domain σ is a many-sorted signature (A, S, R, T, ⦃⦄σ):

– A: set of sorts – system elements and standard sorts

● E.g.: ℬ, ℤ, Threads, Batteries, SchedPol

– S: A i x ... x A n → A k – static functions that encode design properties

● E.g.: Period, Dline, CPUBind, Voltage

– R: A i x ... x A n → A k – runtime functions that encode dynamic properties

● E.g.: CanPrmpt: Threads x Threads → ℬ TN: Batteries x ℤ → ℤ

Page 28: Contract-Based Integration of Cyber-Physical Analyses

28

Verification domain

● Domain σ is a many-sorted signature (A, S, R, T, ⦃⦄σ):

– T: execution semantics – set of sequences of R assignments

● E.g.: thread scheduler state model for σsched

battery state model for for σbatt

– ⦃⦄σ: domain interpretation for A and S

● E.g.: ⦃SchedPol⦄σ = {RMS, DMS, EDF}

● Architectural model m is an interpretation ⦃⦄m of A, S, and T

– E.g.: ⦃Threads⦄m = { SensorSample, Ctrl1, Ctrl2 }

⦃CPUBind⦄m = { (Ctrl1, CPU1), (Ctrl2, CPU2), ... }

– ⦃⦄σ

∪ ⦃⦄m is a full interpretation

Page 29: Contract-Based Integration of Cyber-Physical Analyses

29

Contracts