construction of sfican: a star-based fault-injection infrastructure for the controller area network

69
Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network Alberto Ballesteros Supervisors Julián Proenza y Manuel Barranco Universitat de les Illes Balears

Upload: baldyxan

Post on 14-Jan-2015

130 views

Category:

Technology


1 download

DESCRIPTION

 

TRANSCRIPT

Page 1: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

Alberto Ballesteros

SupervisorsJulián Proenza y Manuel Barranco

Universitat de les Illes Balears

Page 2: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

2

What is the Controller Area Network ?

Introduction

Page 3: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

3

• The Controller Area Network (CAN) is a field buscommunication protocol

IntroductionCAN

Page 4: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

4

• CAN is widely used in distributed embedded control systems

– In-vehicle communication

– Factory automation

– Robotics

• Main benefits

– Low cost– Good resilience to electromagnetic interferences

– Good real-time features

IntroductionCAN

Page 5: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

5

IntroductionCAN

• Error frame

• Overload frame

• Remote frame

• Data frame

Page 6: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

6

• CAN has been traditionally used in applicationsin which faults can have very negative effects

• It is mandatory to evaluate the capacity ofthese applications for dealing with faults

IntroductionCAN

Page 7: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

7

A widely used technique to evaluatehigh -dependable systems is fault injection ,

which allows to observe efficientlythe response of the system

when errors do occur

Introduction

Page 8: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

8

IntroductionFault injection

• Generic architecture of a fault-injection system

Page 9: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

9

Already available fault injection systems for

CAN present some limitations

Introduction

Page 10: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

10

• Low spatial resolution

• Low time resolution

• Traffic restrictions

• Modifications on the nodes

IntroductionLimitations of previous CAN fault-injection systems

Page 11: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

11

Why is it so important to provide a fault-injection

system that does not show those limitations ?

Introduction

Page 12: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

12

• CAN is being incorporated in safety-related systems

• New technologies are being developed to improve dependability of CAN

IntroductionMotivations for an adequate CAN fault-injection systems

Page 13: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

13

GOAL

To build a new fault-injection infrastructure

capable of reproducing complex fault scenarios and,

thus, to test the response of CAN-based applications

and protocols when these faults do occur

Introduction

Page 14: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

14

To achieve this goal we developed a

physical fault-injection system called sfiCAN

Introduction

Page 15: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

15

• Hub

– Coupling

– Fault injection

– Logging

• Node

– Execute software

– Logging

• PC

– Management

sfiCANArchitecture

Page 16: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

16

• Simplex star topology

– Dedicated links for the nodes

– Standard link for the PC

sfiCANArchitecture

Page 17: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

17

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 18: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

18

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 19: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

19

Requirements

• The user must be capable of specifying the fault scenario by means of an intuitive fault-injection specification language

• The user must be capable of retrieving the data collected during a test

• SfiCAN must be able to force dominant and recessive values, as well as the inverted value of the coupled signal

• SfiCAN must be able to reproduce scenarios involving several simultaneous erroneous bit-patterns

• SfiCAN must be able to inject cascading erroneous bit-patterns

• SfiCAN must be able to inject faults without a previous knowledge of the traffic

Page 20: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

20

Requirements

• SfiCAN must be able to inject simple erroneous bit-patterns

• SfiCAN must provide enough spatial resolution to independently affect the signal each node transmits/receives

• SfiCAN must provide enough time resolution to independently modify the value of every single bit

• SfiCAN must be able to inject permanent and temporary faults, including transient and intermittent ones

• SfiCAN must collect enough information during a test to allow the user to check the behaviour of the system

Page 21: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

21

Requirements

• SfiCAN must be able to inject simple erroneous bit-patterns

• SfiCAN must provide enough spatial resolution to independently affect the signal each node transmits/receives

• SfiCAN must provide enough time resolution to independently modify the value of every single bit

• SfiCAN must be able to inject permanent and temporary faults, including transient and intermittent ones

• SfiCAN must collect enough information during a test to allow the user to check the behaviour of the system

Page 22: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

22

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 23: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

23

Design

sfiCAN is constructed froma set of independent modulesthat carry out different tasks

related to the injection

Page 24: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

24

DesignsfiCAN architecture

• Modules of sfiCAN

– Centralized Fault Injector (CFI)– Hub Logger (HL)

– Node Logger (NL)

• Fault-Injection Management

Station (FIMS)

• Communication FIMS - modules

– Protocol on top of CAN (NCC protocol)

Page 25: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

25

Design

How we carry out an experiment ?

Page 26: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

26

DesignPhases of a fault-injection experiment

Page 27: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

27

DesignPhases of a fault-injection experiment

user

Page 28: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

28

DesignPhases of a fault-injection experiment

user

fault-injectionspecification

nodes’workload

Page 29: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

29

DesignPhases of a fault-injection experiment

userstart experiment

Page 30: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

30

DesignPhases of a fault-injection experiment

userstart experiment

Page 31: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

31

DesignPhases of a fault-injection experiment

Page 32: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

32

DesignPhases of a fault-injection experiment

userend experiment

Page 33: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

33

DesignPhases of a fault-injection experiment

userend experiment

Page 34: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

34

DesignPhases of a fault-injection experiment

userreport

Page 35: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

35

Design

Which types of faults can sfiCAN inject ?

Page 36: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

36

• Transient

• Permanent

• Intermitent

DesignTypes of faults

Page 37: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

37

• Fault-injection modes

– Single-shot → transient

– Continuous → transient and permanent

– Iterative → intermittent

DesignTypes of faults

Page 38: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

38

DesignTypes of faults

• Fault-injection modes

– Single-shot → transient

– Continuous → transient and permanent

– Iterative → intermittent

Page 39: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

···

39

DesignTypes of faults – Single-shot

··· ···

aim fire cease

Id data crc

Page 40: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

40

DesignFault-injection specification language

Page 41: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

41

DesignFault-injection specification language

[fault injection 1]

value_type = inverse

target_link = port1dw

mode = single-shot

aim_filter = 0

aim_field = idle

aim_link = coupled

aim_count = 2

fire_field = data

fire_bit = 2

cease_bc = 1

Page 42: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

42

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 43: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

43

ImplementationDevelopment environment/platform

sfiCAN’s prototype is based on a previous

ReCANcentrate prototype

Page 44: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

44

ImplementationDevelopment environment/platform

• Hub hardware

– Xilinx XSA-3S1000 FPGA board

– Xilinx Spartan-3 XC3S1000 FPGA chip

• Implementation environment– VHDL

– Xilinx ISE (Integrated Software Environment)

Page 45: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

45

ImplementationDevelopment environment/platform

• Nodes hardware

– Microchip dsPICDEM 80-pin Starter Development Board

– Microchip dsPIC30F6014A

• Implementation environment– C

– Piklab + MPLAB C30

Page 46: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

46

ImplementationDevelopment environment/platform

• PC hardware

– Linux-based PC

– Peak System-Technik PCAN-PCI

• Implementation environment– shell script / C++

– GCC

– SocketCAN

Page 47: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

47

ImplementationImplementation of the fimCfgExecuter

Page 48: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

48

ImplementationImplementation of the fimCfgExecuter

Page 49: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

49

ImplementationImplementation of the fimCfgExecuter

• Hub Core

Page 50: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

50

ImplementationImplementation of the fimCfgExecuter

• Hub Core

Page 51: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

51

ImplementationImplementation of the fimCfgExecuter

• faultInjectionModule

Page 52: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

52

ImplementationImplementation of the fimCfgExecuter

• faultInjectionModule

Page 53: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

53

ImplementationImplementation of the fimCfgExecuter

• fimExecuter

Page 54: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

54

ImplementationImplementation of the fimCfgExecuter

• fimExecuter

Page 55: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

55

ImplementationImplementation of the fimCfgExecuter

• fimCfgExecuter

Page 56: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

56

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 57: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

57

Test of sfiCANTestbed setup

• Experimental platform

Page 58: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

58

Test of sfiCANRealized tests

• Bit-flipping (single-shot)

• Recessive Downlink Message Omission (continuous)

• Iterative Integrity Error (iterative)

• Inconsistent Message Omission (single-shot)

• Unfair Primary Error (iterative)

Page 59: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

59

Test of sfiCANRealized tests

• Bit-flipping (single-shot)

• Recessive Downlink Message Omission (continuous)

• Iterative Integrity Error (iterative)

• Inconsistent Message Omission (single-shot)

• Unfair Primary Error (iterative)

Page 60: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

60

Test of sfiCANBit-flipping

• The value of a bit is inversed

[fault injection 1]

value_type = inverse

target_link = port1dw

mode = single-shot

aim_filter = 0

aim_field = idle

aim_link = coupled

aim_count = 2

fire_field = data

fire_bit = 2

cease_bc = 1

Page 61: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

61

• Oscilloscope screenshot

Test of sfiCANBit-flipping

Transmitted

Received

Page 62: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

62

Test of sfiCANBit-flipping

• Loggers dump

Node 0 Node 1 Hub

1 Tx 123#00 Rx 123#00 Ok 123#00

2 Er 123#01 Er 123#01 Er AckD(0)

3 Tx 123#01 Rx 123#01 Ok 123#01

4 Tx 123#02 Rx 123#02 Ok 123#02

Time

Transmitter Receiver

Page 63: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

63

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 64: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

64

Conclusions

We achieved the goal , we developed a physicalfault-injection system capable of reproducing

complex fault scenarios to test the response ofCAN-based applications and protocols

Page 65: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

65

Conclusions

• Fault model

– Global/local faults

– Bit granularity

– Transient, permanent and intermittent

– Simple/complex scenarios

• Semantic faults to some extent

Page 66: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

66

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact

Outline

Page 67: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

67

Articles and potential impactArticles

D. Gessner, M. Barranco, A. Ballesteros, and J. Proenza,Designing sfiCAN: a star-based physical fault injec tor for CAN ,in 16th IEEE International Conference on Emerging Technologies and Factory Automation, 2011.

D. Gessner, M. Barranco, J. Proenza, and A. Ballesteros,sfiCAN : a Star-based Physical Fault Injector for CAN networks , 2011.

Page 68: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

68

Articles and potential impactPotential impact

• sfiCAN has generated interest in a particular company involved in the evaluation of high dependable systems

• Part of CANbids project

– CANcentrate

– ReCANcentrate

– Aggregated Error Flag Transmitter (AEFT)

Page 69: Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network

Alberto Ballesteros

SupervisorsJulián Proenza y Manuel Barranco

Universitat de les Illes Balears