modeling & validation of redundancy policies · sri2 epc1 epc2 bus 1 bus 2 4 / 13. example:...

35
Modeling & Validation of Redundancy Policies Hamza Chouh Charlotte Callon Ghita Jalal Frédéric Boulanger Safouan Taha Supélec E3S – Department of Computer Science This work has been supported by CNES www.cnes.fr Miami, September 29 2013 2013-09-13 17:38 1 / 13

Upload: others

Post on 06-Jul-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Modeling & Validation of Redundancy Policies

Hamza Chouh Charlotte Callon Ghita JalalFrédéric Boulanger Safouan Taha

Supélec E3S – Department of Computer Science

This work has been supported by CNES www.cnes.fr

Miami, September 29 2013

CRÉATION CARRÉ NOIRSEPTEMBRE 2005

LOGOTYPE TONS MONOCHROME

294CLOGOTYPE COMPLET

(SYMBOLE ET TYPOGRAPHIE)

2013-09-13 17:38

1 / 13

Page 2: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Agenda

Introduction

Architecture & Redundancy

Tool Chain & Example

Discussion

Conclusion

2 / 13

Page 3: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Introduction

Context

I Some critical systems must tolerate failures to preserve safetyI Safety must be taken into account from the beginning

in the design of a systemI Safety puts constraints on the architecture of the system

3 / 13

Page 4: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Introduction

Context

I Some critical systems must tolerate failures to preserve safetyI Safety must be taken into account from the beginning

in the design of a systemI Safety puts constraints on the architecture of the system

Issue

I Evaluate different redundancy policies during designI Evaluate architectures that support these policies

I Make a choice while the system is not yet designed!

3 / 13

Page 5: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Introduction

Context

I Some critical systems must tolerate failures to preserve safetyI Safety must be taken into account from the beginning

in the design of a systemI Safety puts constraints on the architecture of the system

Issue

I Evaluate different redundancy policies during designI Evaluate architectures that support these policiesI Make a choice while the system is not yet designed!

3 / 13

Page 6: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example: Ariane 5

OBC1

OBC2

SRI1

SRI2

EPC1

EPC2

Bus 1

Bus 2

4 / 13

Page 7: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example: Ariane 5

OBC1

OBC2

SRI1

SRI2

EPC1

EPC2

Bus 1

Bus 2

4 / 13

Page 8: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example: Ariane 5

OBC1

OBC2

SRI1

SRI2

EPC1

EPC2

Bus 1

Bus 2

4 / 13

Page 9: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example: Ariane 5

OBC1

OBC2

SRI1

SRI2

EPC1

EPC2

Bus 1

Bus 2

4 / 13

Page 10: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example: Ariane 5

OBC1

OBC2

SRI1

SRI2

EPC1

EPC2

Bus 1

Bus 2

4 / 13

Page 11: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Architecture

Software

Measureperiod

Computeperiod

Actionperiod

data size data size

HardwarebandwidthBus

5 / 13

Page 12: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Architecture

Software

Measureperiod

Computeperiod

Actionperiod

data size data size

HardwarebandwidthBus

5 / 13

Page 13: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Architecture

Software

Measureperiod

Computeperiod

Actionperiod

data size data size

HardwarebandwidthBus

Allocation constraints

exec time

exec

time exec

time

5 / 13

Page 14: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Redundancy

High level description

I Which software and hardware entities are duplicated?I Nature of the redundancy: hot, warm or coldI Maximum number of items that may fail in a clusterI Requirements for valid configurations

Example

I 2 hot copies of measures on 6= SRIsI 2 warm copies of computations on 6= OBCsI 2 cold copies of corrections on 6= EPCsI At least one of each should be running

6 / 13

Page 15: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Redundancy

High level description

I Which software and hardware entities are duplicated?I Nature of the redundancy: hot, warm or coldI Maximum number of items that may fail in a clusterI Requirements for valid configurations

Example

I 2 hot copies of measures on 6= SRIsI 2 warm copies of computations on 6= OBCsI 2 cold copies of corrections on 6= EPCsI At least one of each should be running

6 / 13

Page 16: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Redundancy

Low level description

I Which software and hardware entities are OK?I Concrete allocation of computations

and communications on hardware

Example

I 2 running copies of measures on 2 working SRIsI 1 failed OBCI 1 running copy of computations on the working OBCI 1 running copy of corrections on one of the working EPCs

7 / 13

Page 17: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Redundancy

Low level description

I Which software and hardware entities are OK?I Concrete allocation of computations

and communications on hardware

Example

I 2 running copies of measures on 2 working SRIsI 1 failed OBCI 1 running copy of computations on the working OBCI 1 running copy of corrections on one of the working EPCs

7 / 13

Page 18: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Problems

Finding low level configurations

I Describe the software architectureI Describe the hardware architectureI Describe allocation constraintsI Model the redundancy policyI Find all possible matching configurations

Checking low level configurations

I For each low level configuration:I Check execution timing constraintsI Check communications (path and timing)

8 / 13

Page 19: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Problems

Finding low level configurations

I Describe the software architectureI Describe the hardware architectureI Describe allocation constraintsI Model the redundancy policyI Find all possible matching configurations

Checking low level configurations

I For each low level configuration:I Check execution timing constraintsI Check communications (path and timing)

8 / 13

Page 20: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

9 / 13

Page 21: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

HL model

9 / 13

Page 22: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation+predicate library

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

Alloy spec.

9 / 13

Page 23: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

Alloy modelsatisfies policy

9 / 13

Page 24: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

LL model

9 / 13

Page 25: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

SynDEX model

9 / 13

Page 26: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Tool Chain

RedundancyMetamodel

M2Ttransformation

Alloy

T2Mtransformation

RedundancyMetamodel

M2Ttransformation

SynDEX

Diagnostictiming and com OK

9 / 13

Page 27: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example

Initial specification

I At least 2 running computationsI Computations must run on different OBCsI 2 OBCs available, 1 OBC fails

) Alloy finds no solution

Second specification

I At least 2 running computationsI Computations may run on the same OBCI 2 OBCs available, 1 OBC fails

) Alloy allocates 2 computations on the working OBC

When requesting only one running computation:Alloy finds a configuration and SynDEX finds a schedule for it

10 / 13

Page 28: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example

Initial specification

I At least 2 running computationsI Computations must run on different OBCsI 2 OBCs available, 1 OBC fails

) Alloy finds no solution

Second specification

I At least 2 running computationsI Computations may run on the same OBCI 2 OBCs available, 1 OBC fails

) Alloy allocates 2 computations on the working OBC

When requesting only one running computation:Alloy finds a configuration and SynDEX finds a schedule for it

10 / 13

Page 29: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example

Checking the configuration

I 2 computations running on the same OBCI Exec time is 20 per computationI Communication from the SRIs takes 5I Communication to the EPCs takes 10I Period of the computations is 45

) SynDEX finds no schedule: 2(5 + 20 + 10) > 45

When requesting only one running computation:Alloy finds a configuration and SynDEX finds a schedule for it

10 / 13

Page 30: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Example

Checking the configuration

I 2 computations running on the same OBCI Exec time is 20 per computationI Communication from the SRIs takes 5I Communication to the EPCs takes 10I Period of the computations is 45

) SynDEX finds no schedule: 2(5 + 20 + 10) > 45

When requesting only one running computation:Alloy finds a configuration and SynDEX finds a schedule for it

10 / 13

Page 31: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Discussion

No safety analysis

I We assume failures are detectedI No reconfiguration policy

We propose

I An approach for exploring possible architectures/policiesI Models and model transformations for reusing existing tools

Limitations

I Reconfiguration time is not modeledI Cost of failure detection is not modeled

11 / 13

Page 32: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Discussion

No safety analysis

I We assume failures are detectedI No reconfiguration policy

We propose

I An approach for exploring possible architectures/policiesI Models and model transformations for reusing existing tools

Limitations

I Reconfiguration time is not modeledI Cost of failure detection is not modeled

11 / 13

Page 33: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Discussion

No safety analysis

I We assume failures are detectedI No reconfiguration policy

We propose

I An approach for exploring possible architectures/policiesI Models and model transformations for reusing existing tools

Limitations

I Reconfiguration time is not modeledI Cost of failure detection is not modeled

11 / 13

Page 34: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Conclusion

Contribution

I A metamodel for software and hardware architectureswith redundable elements

I Modeling of redundancy policieswith allocation and timing constraints

I Model transformations to use Alloy and SynDEXfor finding and checking configurations that satisfy the constraints

Perspectives

I Take dynamicity and reconfiguration tasks into accountI Take fault detection tasks into accountI Add qualitative criterions in the models to rate configurations

12 / 13

Page 35: Modeling & Validation of Redundancy Policies · SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2 SRI1 SRI2 EPC1 EPC2 Bus 1 Bus 2 4 / 13. Example: Ariane 5 OBC1 OBC2

Questions?

Thanks for your attention

13 / 13