1
ECU0 ECU1 ECU2 CH0 CH1 et(C )= (15,10,15,15) rt(C )= (15,inf,15,15) W C T= 5,tim eout= 10 ft(C )= (10,inf,10,10) it(C _I0)= (10,inf,10,10) et(S )= (10,10,inf,10) rt(S)= (10,10,inf,10) W C T = 10,tim eout= 0 ft(S)= (0,0,inf,0) N o Inputs et(C 2)= (20,20,15,15) rt(C 2)= (20,20,15,inf) W C T = 5,tim eout= 15 ft(C 2)= (15,15,10,inf); it(C 2_I0)= (10,10,10,inf) et(In)j= rt(In)j ifrt(In)j!= inf et(In)j= m ax(et(s)j,tim eout) ifrt(In)j== inf et(In)= (80,80,inf,80) rt(In)= W C T + ft(In)= (80,80,inf,80) W C T = 60,tim eout= m ax({ft(in)j}\{inf})= 20 ft(In)= m ax(et(S ),firingrule(it(In_I0),it(In_I1), it(In_I2),tim eout))= (20,20,inf,20), [2/3 firing rule] it(In_I0)= rt(C )= (15,inf,15,15), it(In_I1)= rt(S)= (10,10,inf,10), it(In_I2)= rt(C 2)= (20,20,15,inf) In this exam ple, firingrule(it(In_I0),it(In_I1), it(In_I2),tim eout)= m in((20,20,15,15),tim eout)= (20,20,20,20) Sens Sens Sens Input Input Input w ith fan-in: it(In_I0)= m in(rt(C1),… ,rt(Ck)) data is received as soon as one source produced it Introduction Designing cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage trade-offs. This further complicates the tasks of deploying the corresponding embedded SW on the execution platform, typically distributed around the plant. We propose a synthesis-based design methodology that relieves designers from specifying how to tolerate execution platform faults and involves them in the definition of the overall fault- tolerance strategy: how to address plant faults (adaptive control algorithms), selection of a cost-effective execution platform. Verification tools analyze the solution to extract timing and to check the fault behavior (replica determinism, coverage, etc.). Finally a run-time library is being developed for the deployment of the resulting distributed system. Fault Tolerant Design of Distributed Automotive Systems Claudio Pinello ([email protected] ), Prof. Sangiovanni-Vincentelli, UC Berkeley Motivation Drive-by-Wire applications Architecture faults (channels, ECUs) – hardware redundancy – software replication – redundancy management Plant Faults (plant, sensors, actuators) – estimation and control algorithms Application faults: bugs – can be reduced by disciplined coding – code generation from formal models – simulation – formal verification Fine CTRL Coars e CTRL Sens Ac t Inpu t Arbit er Best Outpu t Sens Sens Ac t Design space exploration Verification provides timing + coverage If not satisfactory? – change architecture •more/fewer components, •vary the mix of performance – change algorithms •introduce pipelining, reduce/increase granularity – change fault behavior •degrade sooner/later – provide hints to the synthesis tool •replicate some actors, mapping constraints, precedence constraints Specification Synthesi s System Faults Design flow Actors: have criticality, inputs may have fan-in from redundant sources (replicas) Execution is synchronous and periodic: at each period all tasks are executed (data driven or time triggered), satisfying precedence constraints Inputs and Arbiters have partial firing rules Programming model: Fault-tolerant Dataflow • Metropolis library to model FTDF netlists Support for simulation, fault injection and visualization Early assessment of closed loop behavior in degraded modes Proposed design flow enables – greater separation of concerns •application, architecture, fault behavior – formal specification and verification of fault tolerant systems – design space exploration C. Pinello, L. P. Carloni, and A. L. Sangiovanni-Vincentelli "Fault-Tolerant Deployment of Embedded Software for Cost-Sensitive Real-Time Feedback-Control Applications," Proc. Conf. Design, Automation and Test in Europe (DATE), February 2004 Conclusions • Connectivity: – bipartite graph Arch ECUs (Electronic Control Units) channels • Actuator/Sensor location ECU2 ECU1 ECU0 Sens Act Sens Sens Act • Performance: – matrix of actor/ECU execution times – matrix of data/channel transmission times Timing analysis: dynamic (shown) and time-triggered execution Architecture Fault Behavior Failure patterns P i Arch – subsets of Arch graph that may fail simultaneously (in a same iteration) For each P i specify which functionalities must be guaranteed – typically functionality chosen based on criticality Sample fault behavior: – {}: all actors – {ECU0} or {ECU1} or {ECU2}: only critical actors Parse.exe SynDEx Merge.exe Input ArbiterBest Output FineCTRL CoarseCTRL Sens Sens Sens Act Act Input ArbiterBest Output ECU0 ECU1 ECU2 CH0 CH1 CoarseCTRL Schedule.exe Fine CTRL Coars e CTRL Sens Ac t Inpu t Arbit er Best Outpu t Sens Sens Ac t FaultBehavio r ECU0 ECU1 ECU2 CH0 CH1 Sens Sens Sens Inpu t Inpu t Coarse CTRL Coarse CTRL Fine CTRL Arbit er Best Arbit er Best Outpu t Outpu t Act Act Timing Verificat ion Mapping ECU2 ECU1 ECU0 Sens Act Sens Sens Act Case Studies: BMW, GM Vehicle Level Data-Flow Architecture 0 0.2 0.4 0.6 0.8 1 1.2 Safe Period (norm alized) Supervisory Control Brake by wire Power Unit Coordinator Steer By Wire Forces applied on Vehic le Torque req/ack Directional and Stability Signals Driver Interface Vehicle Dynamics Sensor Input Actuator Output Steering Position Vehicle Speed Torque req/ack

Fault Tolerant Design of Distributed Automotive Systems

  • Upload
    dinah

  • View
    38

  • Download
    4

Embed Size (px)

DESCRIPTION

Fault Tolerant Design of Distributed Automotive Systems. Supervisory Control. Sensor Input. Driver Interface. Steering Position. Directional and Stability Signals. Sens. Sens. Forces applied on Vehicle. Coarse CTRL. Coarse CTRL. Act. Act. Arbiter Best. Arbiter Best. Steer By - PowerPoint PPT Presentation

Citation preview

Page 1: Fault Tolerant Design of Distributed Automotive Systems

ECU0

ECU1

ECU2

CH0

CH1

et(C) = (15, 10, 15, 15)

rt(C) = (15, inf, 15, 15)

WCT= 5, timeout = 10

ft(C) = (10, inf, 10, 10)

it(C_I0) = (10, inf, 10, 10)

et(S) = (10, 10, inf, 10)

rt(S) = (10, 10, inf, 10)

WCT = 10, timeout = 0

ft(S) = (0, 0, inf, 0)

No Inputs

et(C2) = (20, 20, 15, 15)

rt(C2) = (20, 20, 15, inf)

WCT = 5, timeout = 15

ft(C2) = (15, 15, 10, inf);

it(C2_I0) = (10, 10, 10, inf)

et(In)j = rt(In)j if rt(In)j != inf

et(In)j = max(et(s)j, timeout) if rt(In)j == inf

et(In) = (80, 80, inf, 80)

rt(In) = WCT + ft(In) = (80, 80, inf, 80)

WCT = 60, timeout = max( {ft(in)j} \ {inf}) = 20

ft(In) = max(et(S), firingrule(it(In_I0), it(In_I1), it(In_I2), timeout)) = (20, 20, inf, 20), [2/3 firing rule]

it(In_I0) = rt(C) = (15, inf, 15, 15),

it(In_I1) = rt(S) = (10, 10, inf, 10),

it(In_I2) = rt(C2) = (20, 20, 15, inf)

I n this example,fi ringrule(it(I n_ I 0), it(I n_ I 1), it(I n_ I 2), timeout) = min((20, 20, 15, 15), timeout) =(20, 20, 20, 20)

Sens

Sens

Sens

Input

Input

I nput with f an-in:it(I n_ I 0) = min(rt(C1), …, rt(Ck))

data is received as soon as one source produced it

IntroductionDesigning cost-sensitive real-time control systems for safety-critical applications requires a careful analysis of the cost/fault-coverage trade-offs. This further complicates the tasks of deploying the corresponding embedded SW on the execution platform, typically distributed around the plant. We propose a synthesis-based design methodology that relieves designers from specifying how to tolerate execution platform faults and involves them in the definition of the overall fault-tolerance strategy: how to address plant faults (adaptive control algorithms), selection of a cost-effective execution platform.Verification tools analyze the solution to extract timing and to check the fault behavior (replica determinism, coverage, etc.). Finally a run-time library is being developed for the deployment of the resulting distributed system.

Fault Tolerant Design of Distributed Automotive SystemsClaudio Pinello ([email protected]), Prof. Sangiovanni-Vincentelli, UC Berkeley

Motivation

Drive-by-Wire

applications

• Architecture faults (channels, ECUs)– hardware redundancy

– software replication

– redundancy management

• Plant Faults (plant, sensors, actuators)– estimation and control

algorithms

• Application faults: bugs– can be reduced by

disciplined coding– code generation from formal

models– simulation– formal verification

FineCTRL

CoarseCTRL

SensAct

InputArbiterBest

OutputSens

SensAct

Design space exploration

• Verification provides timing + coverage• If not satisfactory?

– change architecture•more/fewer components,•vary the mix of performance

– change algorithms •introduce pipelining,

reduce/increase granularity– change fault behavior

•degrade sooner/later– provide hints to the synthesis tool

•replicate some actors, mapping constraints, precedence constraints

Sp

ecif

icat

ion

Syn

thes

is

System Faults

Design flow

• Actors: have criticality, inputs may have fan-in from redundant sources (replicas)

• Execution is synchronous and periodic: at each period all tasks are executed (data driven or time triggered), satisfying precedence constraints

• Inputs and Arbiters have partial firing rules

Programming model: Fault-tolerant Dataflow

• Metropolis library to model FTDF netlists

• Support for simulation, fault injection and visualization

• Early assessment of closed loop behavior in degraded modes

• Proposed design flow enables– greater separation of concerns

•application, architecture, fault behavior

– formal specification and verification of fault tolerant systems

– design space exploration

C. Pinello, L. P. Carloni, and A. L. Sangiovanni-Vincentelli "Fault-Tolerant Deployment of Embedded Software for Cost-Sensitive Real-Time Feedback-Control Applications," Proc. Conf. Design, Automation and Test in Europe (DATE), February 2004

Conclusions

• Connectivity:– bipartite graph Arch

•ECUs (Electronic Control Units)

•channels• Actuator/Sensor location

ECU2ECU1ECU0

Sens

Act

Sens Sens

Act

• Performance:– matrix of actor/ECU execution times– matrix of data/channel transmission

times

Timing analysis: dynamic (shown) and time-triggered execution

ArchitectureFault Behavior

• Failure patterns Pi Arch

– subsets of Arch graph that may fail simultaneously (in a same iteration)

• For each Pi specify which functionalities must be guaranteed – typically functionality chosen based on criticality

• Sample fault behavior:– {}: all actors– {ECU0} or {ECU1} or {ECU2}: only critical actors

Parse.exe SynDEx

Merge.exe

Input ArbiterBest Output

FineCTRL

CoarseCTRLSens

Sens

Sens Act

Act

Input ArbiterBest Output

ECU0

ECU1

ECU2

CH0

CH1

CoarseCTRL

Schedule.exe

FineCTRL

CoarseCTRL

SensAct

InputArbiterBest

OutputSens

SensAct

FaultBehavior

ECU0

ECU1

ECU2

CH0

CH1

Sens

Sens

Sens

Input

Input

CoarseCTRL

CoarseCTRL

FineCTRL

ArbiterBest

ArbiterBest

Output

Output

Act

Act

TimingVerification

Map

pin

g

ECU2ECU1ECU0

SensAct

Sens SensAct

Case Studies: BMW, GMVehicle Level Data-Flow Architecture

0

0.2

0.4

0.6

0.8

1

1.2

Saf

e P

erio

d (

no

rmal

ized

)

Supervisory Control

Brake by wire

Power UnitCoordinator

Steer ByWireForces applied on Vehicle

Torque req/ack

Directional and Stability Signals

DriverInterface

VehicleDynamics

Sensor Input

ActuatorOutput

Steering Position

Vehicle Speed

Torque req/ack