trusting outsourced components in flight-critical systemsfm.csl.sri.com/ssft15/ssft15_teme.pdfwrs...

113
Trusting Outsourced Components in Flight-Critical Systems Temesghen Kahsai NASA Ames / CMU Wednesday, May 20, 15

Upload: others

Post on 29-Aug-2021

3 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Trusting Outsourced Componentsin Flight-Critical Systems

Temesghen Kahsai

NASA Ames / CMU

Wednesday, May 20, 15

Page 2: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Joint work with ...

Dr. Kasper Luckow(CMU)

Dr. Arie Gurfinkel(SEI / CMU)

Prof. Cesare Tinelli(The University of Iowa)

Dr. Adrien Champion(The University of Iowa)

Wednesday, May 20, 15

Page 3: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 4: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Outsourcing in the aerospace industry

The Boeing 787 Dreamliner’s flight critical, embedded software is build on the WRS ARINC 653 system and is assembled from software components by multiple subcontractors

Wednesday, May 20, 15

Page 5: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Boeing 737 and 747 = 35-50%

Boeing 787 = 70%

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 6: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

• The delivery date was pushed back 4 times and was late more than 4 years

• The aft fuselage consisted of 6,000 components, and many of those components failed to conform to Boeing’s specified tolerances, resulting in significant cost and schedule delays

• The first Dreamliner to arrive at the company’s assembly place was missing tens of thousands of parts

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 7: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 8: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

• January 2013: 50 Dreamliner was grounded due to issues with the lithium-ion batteries.

• On balance with just under 60 aircraft in service, the 787 has had 6 reported mechanical incidents in 2013.

• All the individual parts worked in isolation. But, together, under certain circumstances, the parts failed.

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 9: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

* http://executive.mit.edu/blog/will-risk-result-in-reward-for-boeings-dreamliner

“While we can’t completely eliminate failures, the answer lies in system engineering. This involves a process of careful design and architecture ... as well as a staged integration of the entire system, and extensive qualification, verification and validation testing.” Prof. S. Eppinger (MIT)

Outsourcing in the aerospace industry

Wednesday, May 20, 15

Page 10: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

.... outsourcing in flight critical software

This talk ....

.... virtual integration of outsourced components

Wednesday, May 20, 15

Page 11: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assurance of Flight Critical Systems (FCS)

• Develop multidisciplinary V&V tools and techniques that advance safety assurance and certification

• Flight-critical systems: any systems that directly controls the safe conduct of an aircraft’s flight, i.e. air and ground systems

Technical Challenges:

Aim:

1. Argument-based safety assurance

2. Integrated distributed systems

3. Authority and Autonomy

4. Software intensive systems

5. Assessment environments

Wednesday, May 20, 15

Page 12: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assurance of Flight Critical Systems (FCS)

• Develop multidisciplinary V&V tools and techniques that advance safety assurance and certification

• Flight-critical systems: any systems that directly controls the safe conduct of an aircraft’s flight, i.e. air and ground systems

Technical Challenges:

Aim:

1. Argument-based safety assurance

2. Integrated distributed systems

3. Authority and Autonomy

4. Software intensive systems

5. Assessment environments

Wednesday, May 20, 15

Page 13: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assurance of Flight Critical Systems (FCS)Topic: “Support for verification of black-box FCS”

Wednesday, May 20, 15

Page 14: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assurance of Flight Critical Systems (FCS)Topic: “Support for verification of black-box FCS”

Context:

• More and more design and implementation of FCS is contracted out to external companies

• Example: FAA contracts out the implementation of most of the air traffic systems

• Integration of FCS from Commercial Off-The-Shelf (COTS) components

• Current technique is based on black-box testing

• Many of those systems have been first prototyped in-house

• Example: Many FAA systems has been prototyped by MIT Lincoln Lab, NASA etc. (e.g. TCAS, ACAS-X, TSAFE, etc.)

Wednesday, May 20, 15

Page 15: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

In house prototyping

Assurance of Flight Critical Systems (FCS)Topic: “Support for verification of black-box FCS”

Component Requirement

ComponentOutsourced For Implementation

System Design Model

System Level Properties

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

Component DesignModel

Component DesignModel

Component prototype imp.

(JAVA)

Wednesday, May 20, 15

Page 16: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

In house prototyping

Assurance of Flight Critical Systems (FCS)Topic: “Support for verification of black-box FCS”

Component Requirement

ComponentOutsourced For Implementation

System Design Model

System Level Properties

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

Component DesignModel

Component DesignModel

Component prototype imp.

(JAVA)

In house assembling

Black-box Component

Delivery

ComponentBlack-box

Implementation

C1

C2

C3

Black Box Testing

Testing Environment

Wednesday, May 20, 15

Page 17: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Contract-based Compositional verification for outsourced FCS (CoCo)

Wednesday, May 20, 15

Page 18: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Outline

• Two stage solution for virtual integration

• 1st stage: contract generation

• 2nd stage: contract compliance

• Flight critical system case studies

Wednesday, May 20, 15

Page 19: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Two Stage solution for virtual integration

Wednesday, May 20, 15

Page 20: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

In house prototyping

Component Requirement

ComponentOutsourced For Implementation

System Design Model

System Level Properties

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

Component DesignModel

Component DesignModel

Component prototype imp.

(JAVA)

In house assembling

Black-box Component

Delivery

ComponentBlack-box

Implementation

C1

C2

C3

Black Box Testing

Testing Environment

Two Stage solution for virtual integration

Wednesday, May 20, 15

Page 21: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

Black-box Component

Delivery

Two Stage solution for virtual integration

Wednesday, May 20, 15

Page 22: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

Black-box Component

Delivery

Two Stage solution for virtual integration

System Level PropertiesComponent DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

Wednesday, May 20, 15

Page 23: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

Black-box Component

Delivery

Two Stage solution for virtual integration

System Level PropertiesComponent DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 24: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

Component Requirement

Contract

Black-box Component

Delivery

Two Stage solution for virtual integration

System Level PropertiesComponent DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 25: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 26: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-delivery verification stage

Wednesday, May 20, 15

Page 27: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-delivery Verification Stage

How to generate formal contracts from models and prototypical code?

1. Define a notion of a component contract

• system property based

• allows obtain a higher degree of assurance

2. Design a uniform intermediate modeling formalism

• to facilitate the integration of different techniques

• to target heterogeneous in-house system prototypes

3. Develop (semi)-automated techniques to generate contract from models and prototypical code

Wednesday, May 20, 15

Page 28: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Notion of a Formal Contract• Contracts as a method to organize and integrate component-based systems

• Specify precisely the information necessary to reason about a component interactions

• Contracts specify I/O behavior of a component:

• Define the component guarantees provided that its environment obey certain assumptions.

Wednesday, May 20, 15

Page 29: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Notion of a Formal Contract• Contracts as a method to organize and integrate component-based systems

• Specify precisely the information necessary to reason about a component interactions

• Contracts specify I/O behavior of a component:

• Define the component guarantees provided that its environment obey certain assumptions.

Different notions of formal contract, e.g.:

• Othello: Trace-based contract framework [Tonetta et. al.]

• AGREE: Contract language for AADL [Cofer et. al.]

• ACSL, JML, SPARK, etc : Contract in Programming Languages.

Wednesday, May 20, 15

Page 30: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

M1

M2

|= P

• Check P on entire system: too complicated (e.g. many states)

• Use system’s natural decomposition into components to break-up the ver-

ification task

• Check components in isolation: M1 |= P?

• ... typically a component is designed to satisfy its requirements in specific

contexts

Wednesday, May 20, 15

Page 31: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

M1

M2

|= P

• Check P on entire system: too complicated (e.g. many states)

• Use system’s natural decomposition into components to break-up the ver-

ification task

• Check components in isolation: M1 |= P?

• ... typically a component is designed to satisfy its requirements in specific

contexts

Wednesday, May 20, 15

Page 32: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

M1

M2

|= P

• Check P on entire system: too complicated (e.g. many states)

• Use system’s natural decomposition into components to break-up the ver-

ification task

• Check components in isolation: M1 |= P?

• ... typically a component is designed to satisfy its requirements in specific

contexts

• Assume-Guarantee reasoning

• Misra & Chandy 81, Jones 83, Pnueli 84, Pasareanu 01

Wednesday, May 20, 15

Page 33: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

M1

M2

|= P

• Check P on entire system: too complicated (e.g. many states)

• Use system’s natural decomposition into components to break-up the ver-

ification task

• Check components in isolation: M1 |= P?

• ... typically a component is designed to satisfy its requirements in specific

contexts

A

• introduces assumption A representing M1’s context

• Assume-Guarantee reasoning

• Misra & Chandy 81, Jones 83, Pnueli 84, Pasareanu 01

Wednesday, May 20, 15

Page 34: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

1. hAi M1 hP i2. htruei M2 hAihtruei M1kM2 hP i

Simplest assume-guarantee rule (Asym)

M1

M2

|= P

A

hAi M hP i is true if whenever Mis part of a system that satisfies A,

then the system must also guarantee P

Wednesday, May 20, 15

Page 35: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

1. hAi M1 hP i2. htruei M2 hAihtruei M1kM2 hP i

Simplest assume-guarantee rule (Asym)

M1

M2

|= P

A

hAi M hP i is true if whenever Mis part of a system that satisfies A,

then the system must also guarantee P

* Cobleigh et. al “Learning assumption for compositional verification”. TACAS’01* Emmi et. al “Assume Guarantee Verification for Interface Automata”. FM’08* Giannakopoulou et. al “Symbolic Learning of component interfaces”. SAS’12* Howar et. al “Hybrid learning: interface generation through static, dynamic, and symbolic analysis” ISSTA’13.

Wednesday, May 20, 15

Page 36: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Compositional Verification

• no file “close” before “open”

• access to shared variable “X” must be protected by lock “L”

• (rover executive) whenever thread “T” reads variable “V”, no other thread can read “V” before thread “T” clears it first

• (spacecraft flight phases) a docking maneuver can only be invoked if the launch abort system has previously been jettisoned from the spacecraft

(*) C. Pasareanu slides on compositional verification from SSFT 2012

Example of assumptions (*)

Wednesday, May 20, 15

Page 37: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 38: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 39: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

CoCoSpecAssume/Guarantee contract

Our current approach:

Sim2Lu

s

Generalized PDR, Concolic Execution, Automata Learning ...

Wednesday, May 20, 15

Page 40: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

CoCoSpecAssume/Guarantee contract

Our current approach:

Sim2Lu

s

Integrated Simulink 2 Lustre Modular Compiler

LLVM-based languages

Generalized PDR, Concolic Execution, Automata Learning ...

Wednesday, May 20, 15

Page 41: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

CoCoSpecAssume/Guarantee contract

Our current approach:

Sim2Lu

s

Integrated Simulink 2 Lustre Modular Compiler

LLVM-based languages

Generalized PDR, Concolic Execution, Automata Learning ...

Wednesday, May 20, 15

Page 42: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

• Declarative and deterministic specification language

• Lustre programs = systems of equational constraints between input and output streams

Lustre

Wednesday, May 20, 15

Page 43: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

step function(transition)

inputs

Lustre

memory(state)

• A Lustre program models an I/O automaton

outputs

• Read inputs• Compute next state and outputs• Write outputs• Update state

Implementing a Lustre program

Repeat at every trigger (external event)

Wednesday, May 20, 15

Page 44: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A Lustre program is a collection of nodes: L = [N0, N1, . . . , Nm]

Lustre

Wednesday, May 20, 15

Page 45: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

• Ii,Oi,Li : set of input/output/local vars

• Initi, T ransi : set of formulas for the initial states and transition relation

Ni = (Ii,Oi,Li, Initi, T ransi)

A Lustre program is a collection of nodes: L = [N0, N1, . . . , Nm]

Lustre

Wednesday, May 20, 15

Page 46: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

^

i2Nvi = ⇢(si)

• vi 2 Oi [ Li and V ars(si) ✓ Ii [Oi [ Li

• si arbitrary Lustre expression including node calls Nj(u1, . . . , un)

• ⇢ function maps expression to expression

a ! b is projected as

⇢a in Initib in Transi

• Ii,Oi,Li : set of input/output/local vars

• Initi, T ransi : set of formulas for the initial states and transition relation

Ni = (Ii,Oi,Li, Initi, T ransi)

A Lustre program is a collection of nodes: L = [N0, N1, . . . , Nm]

Lustre

Wednesday, May 20, 15

Page 47: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

^

i2Nvi = ⇢(si)

• vi 2 Oi [ Li and V ars(si) ✓ Ii [Oi [ Li

• si arbitrary Lustre expression including node calls Nj(u1, . . . , un)

• ⇢ function maps expression to expression

a ! b is projected as

⇢a in Initib in Transi

• Ii,Oi,Li : set of input/output/local vars

• Initi, T ransi : set of formulas for the initial states and transition relation

Ni = (Ii,Oi,Li, Initi, T ransi)

• A safety property P is any Lustre expression over the main node N0

A Lustre program is a collection of nodes: L = [N0, N1, . . . , Nm]

Lustre

Wednesday, May 20, 15

Page 48: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Assume/Guarantee contract

Wednesday, May 20, 15

Page 49: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Assume/Guarantee contract

Wednesday, May 20, 15

Page 50: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assume-Guarantee contracts

Wednesday, May 20, 15

Page 51: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assume-Guarantee contracts

Wednesday, May 20, 15

Page 52: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assume-Guarantee contracts

Wednesday, May 20, 15

Page 53: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assume-Guarantee contracts

Wednesday, May 20, 15

Page 54: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Assume-Guarantee contracts

Implemented in Kind2: a multi engine model checker for Lustre programs

http://kind2-mc.github.io/kind2/Wednesday, May 20, 15

Page 55: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language on top of Lustre

Wednesday, May 20, 15

Page 56: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language

Wednesday, May 20, 15

Page 57: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language

Wednesday, May 20, 15

Page 58: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language

Wednesday, May 20, 15

Page 59: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language

Wednesday, May 20, 15

Page 60: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

CoCoSpec

• An Assume/Guarantee-based Contract Language

ghost variable

Wednesday, May 20, 15

Page 61: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Assume/Guarantee contract

Wednesday, May 20, 15

Page 62: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Zustre

Assume/Guarantee contract

Wednesday, May 20, 15

Page 63: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A verification engine and CoCoSpec generator for Lustre program

Lustre2Horn

Horn clauses

Lustre + safety property

Unsafe(CEX)

Safe

Zustre

T. Kahsai, PL. Garoche, A. Gurfinkel: “Synthesizing modular invariants for synchronous code”. In HCVS 2014.

GeneralizedProperty-based

Reachability

SPACER

Z3

Modular compiler

Wednesday, May 20, 15

Page 64: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A verification engine and CoCoSpec generator for Lustre program

Lustre2Horn

Horn clauses

Lustre + safety property

Unsafe(CEX)

Safe

Zustre

T. Kahsai, PL. Garoche, A. Gurfinkel: “Synthesizing modular invariants for synchronous code”. In HCVS 2014.

GeneralizedProperty-based

Reachability

SPACER

Z3

Modular compiler

modular invariants

CoCoSpec

NB. Currently it only infers guarantees

Wednesday, May 20, 15

Page 65: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Constrained Horn Clause

Wednesday, May 20, 15

Page 66: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Constrained Horn Clause

F : set of function symbols

P : set of predicate symbols

V : set of variables

• A fragment of First Order Logic.

• A uniform way to represent transition systems for verification.

� : constraint over F [ V with respect to some background theory

e.g. arithmetic, arrays, SMT

Xi, X ✓ V : (possibly empty) vectors of variables

p1, . . . , pn, h : n-ary predicates

pi[Xi] : application p(t1, . . . , tn) of an n-ary predicate symbol

Constrained Horn Clause (CHC) is a formula:

8V · (� ^ p1[X1] ^ · · · ^ pn[Xn] ! h[X]), for n � 0

Wednesday, May 20, 15

Page 67: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Example 1

Wednesday, May 20, 15

Page 68: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Example 1

[ margin = 1.5^ desired = 21.0^ cool = actual � desired > margin

^ heat = ...] ) TCinit(actual, up, dn, heat, cool, desired)

Initial states

[ margin = 1.5^ desired

0 = ite(dn (desired� 1.0) (ite...))^ cool = actual � desired

0> margin

^ heat = ...] ) TCtrans(actual, up, dn, heat, cool, desired, desired0)

Transition relation

TCinit(actual, up, dn, heat, cool, desired) ) Loop(actual, up, dn, heat, cool, desired)

Loop(actual0, up0, dn0, heat

0, cool

0, desired)

^ TCtrans(actual, up, dn, heat, cool, desired, desired0)) Loop(actual, up, dn, heat, cool, desired0)

Loop

Wednesday, May 20, 15

Page 69: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A verification engine and CoCoSpec generator for Lustre program

Lustre2Horn

Horn clauses

Lustre + safety property

Unsafe(CEX)

Safe

Zustre

SPACER

Z3

• N(I,O,S,S 0) =

V' : an invariant for a node N

• Modular invariants : invariants for each node

modular invariants

CoCoSpec

Wednesday, May 20, 15

Page 70: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

From Horn Clauses to CoCoSpec

Wednesday, May 20, 15

Page 71: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

From Horn Clauses to CoCoSpec

Wednesday, May 20, 15

Page 72: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

From Horn Clauses to CoCoSpec

Wednesday, May 20, 15

Page 73: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

From Horn Clauses to CoCoSpec

NB. We use Z3 tactics to simplify (manipulate) formulas

Wednesday, May 20, 15

Page 74: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Zustre

Assume/Guarantee contract

Wednesday, May 20, 15

Page 75: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Zustre

Assume/Guarantee contract

Integrated Analysis

Wednesday, May 20, 15

Page 76: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Wednesday, May 20, 15

Page 77: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Specify safety properties using synchronous observers

Wednesday, May 20, 15

Page 78: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Specify safety properties using synchronous observers

Wednesday, May 20, 15

Page 79: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Specify safety properties using synchronous observers

Wednesday, May 20, 15

Page 80: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Wednesday, May 20, 15

Page 81: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Integrated Analysis Framework

Wednesday, May 20, 15

Page 82: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Zustre

Assume/Guarantee contract

Wednesday, May 20, 15

Page 83: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

Pre-delivery Verification Stage

Constrained Horn ClausesUniform intermediate verification language

Different techniquesfor automated contract generation

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Our current approach:

Sim2Lu

s

Zustre SeaHorn

Assume/Guarantee contract

Wednesday, May 20, 15

Page 84: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A framework for verifying LLVM-based programs

A. Gurfinkel, T. Kahsai, J. Navas, : “Algorithmic Logic-based verification”. In ACM-SIGLOG, April 2015.

A. Gurfinkel,T. Kahsai, J. Navas, : “SeaHorn: A framework for verifying C programs (competition contribution)”. In SVCOMP (TACAS-2015).

A. Gurfinkel ,T. Kahsai, A. Komuravelli, J. Navas, : “The SeaHorn Verification Framework”. In CAV 2015.

NB. (i) Current version targets C programs (ii) and does not generate CoCoSpec

Program + Safety properties

AutomatedAnalysis

Correct

Incorrect

SeaHorn

Wednesday, May 20, 15

Page 85: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A framework for verifying LLVM-based programs

SeaHorn

A. Gurfinkel, T. Kahsai, J. Navas, : “Algorithmic Logic-based verification”. In ACM-SIGLOG, April 2015.

A. Gurfinkel,T. Kahsai, J. Navas, : “SeaHorn: A framework for verifying C programs (competition contribution)”. In SVCOMP (TACAS-2015).

A. Gurfinkel ,T. Kahsai, A. Komuravelli, J. Navas, : “The SeaHorn Verification Framework”. In CAV 2015.

NB. (i) Current version targets C programs (ii) and does not generate CoCoSpec

Program + Safety properties

SeaHorn

SAFE + Certificate

UNSAFE+ CEX

Wednesday, May 20, 15

Page 86: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

A framework for verifying LLVM-based programs

SeaHorn

A. Gurfinkel, T. Kahsai, J. Navas, : “Algorithmic Logic-based verification”. In ACM-SIGLOG, April 2015.

A. Gurfinkel,T. Kahsai, J. Navas, : “SeaHorn: A framework for verifying C programs (competition contribution)”. In SVCOMP (TACAS-2015).

A. Gurfinkel ,T. Kahsai, A. Komuravelli, J. Navas, : “The SeaHorn Verification Framework”. In CAV 2015.

NB. (i) Current version targets C programs (ii) and does not generate CoCoSpec

Program + Safety properties

SeaHorn

SAFE + Certificate

UNSAFE+ CEX

Dr. Arie Gurfinkel(SEI / CMU)

Wednesday, May 20, 15

Page 87: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery verification stage

Wednesday, May 20, 15

Page 88: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 89: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 90: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery Verification Stage

CoCoSpecComponentBlack-box

Implementation|=

?

Contract-based test generation

• Test generation via Bounded Model Checking

• Coverage and mutation oriented

• TestEAS: test execution and analysis system

Wednesday, May 20, 15

Page 91: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Test generation via BMC

Wednesday, May 20, 15

Page 92: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Test generation via BMC

Wednesday, May 20, 15

Page 93: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery Integration testing

W. Damm et al : “Using contract-based component specifications for virtual integration and architecture design”. In DATE 2011.

A. Cimatti et al : “A property-based proof system for contract based design”. In SEAA 2012.

A. Benveniste et al : “Multiple Viewpoint Contract-based Specification and Design”. In FMCO 2007.

E. Kesseler et al : “Assessing COTS software in a certifiable safety-critical domain”. In Information Systems Journal 2008.

Post-Delivery stage

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Wednesday, May 20, 15

Page 94: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery integration testing

Wednesday, May 20, 15

Page 95: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery integration testing

Wednesday, May 20, 15

Page 96: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery integration testing

Wednesday, May 20, 15

Page 97: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery integration testing

Wednesday, May 20, 15

Page 98: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Post-delivery integration testing

Wednesday, May 20, 15

Page 99: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

FCS Case Studies

Wednesday, May 20, 15

Page 100: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Transport Class Model (TCM)The TCM – a twin-engine tube and wings configuration aircraft simulation, scaled up from the Generic Transport Model (GTM).

Wednesday, May 20, 15

Page 101: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Transport Class Model (TCM)The TCM – a twin-engine tube and wings configuration aircraft simulation, scaled up from the Generic Transport Model (GTM).

UAV-sized (wingspan ~6ft) version of a plane with geometry similar to a transport -class aircraft

Intended as an experimental platform for controls and health management system

Wednesday, May 20, 15

Page 102: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Transport Class Model (TCM)The TCM – a twin-engine tube and wings configuration aircraft simulation, scaled up from the Generic Transport Model (GTM).

UAV-sized (wingspan ~6ft) version of a plane with geometry similar to a transport -class aircraft

Intended as an experimental platform for controls and health management system

Simulink simulator for the avionics (transport delay), actuators, engines, landing gear, aero, sensors (including noise) ...

Wednesday, May 20, 15

Page 103: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

TCM Autopilot

Wednesday, May 20, 15

Page 104: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

TCM Autopilot

• Safety verification via model checking• Manual decomposition of ‘hard’ safety properties

Kahsai et. al. “Verifying the safety of a flight critical software”. FM’15.

Wednesday, May 20, 15

Page 105: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

NextGen Air-Traffic Control

Wednesday, May 20, 15

Page 106: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

NextGen Air-Traffic Control

Wednesday, May 20, 15

Page 107: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

NextGen Air-Traffic Control

Wednesday, May 20, 15

Page 108: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Summary

Wednesday, May 20, 15

Page 109: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

.... outsourcing in flight critical software

This talk ....

.... virtual integration of outsourced components

Wednesday, May 20, 15

Page 110: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Pre-Delivery Stage

Post-Delivery stage

ComponentOutsourced For Implementation

System Level Properties

Component Requirement

Contract

Black-box Component

Delivery

Contract - Based Component Testing

Contract - Based Integration Testing

ComponentBlack-box

Implementation

Contra

ct

Contra

ct

Two Stage solution for virtual integration

Component DesignModel

Component DesignModel

Component DesignModel (JAVA)

System Design Model

Component DesignModel

Component DesignModel

Component DesignModel

(Simulink/Stateflow)

Component DesignModel

Component DesignModel

Component prototype imp.

(C/C++)

AutomatedContract

Generation

Wednesday, May 20, 15

Page 111: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Simulink/Stateflow

Lustre C/C++ JAVASafety

Properties

tools tools and tools

Constrained Horn Clauses

Generalized PDR, Concolic Execution, Automata Learning ...

CoCoSpec

Sim2Lu

s

Zustre SeaHornPsycho

Kind-2

ComponentBlack-box

Implementation

Contract-based testing

|=

Wednesday, May 20, 15

Page 112: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Thank you

Wednesday, May 20, 15

Page 113: Trusting Outsourced Components in Flight-Critical Systemsfm.csl.sri.com/SSFT15/ssft15_Teme.pdfWRS ARINC 653 system and is assembled from software components by multiple subcontractors

Temesghen Kahsai Research Scientist @ RSE (Code TI) NASA Ames / CMUemail: [email protected] (work): http://ti.arc.nasa.gov/profile/tkahsaia/web (personal): http://www.lememta.info/

Contact information

Wednesday, May 20, 15