SlideShare a Scribd company logo
1 of 69
Download to read offline
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
Introduction



What is the Controller Area Network?




                                       2
Introduction
                         CAN

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




                                                     3
Introduction
                                CAN

• 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


                                                        4
Introduction
                       CAN


• Error frame

• Overload frame

• Remote frame

• Data frame




                                  5
Introduction
                           CAN




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


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




                                                    6
Introduction


    A widely used technique to evaluate
high-dependable systems is fault injection,
    which allows to observe efficiently
        the response of the system
           when errors do occur




                                              7
Introduction
                        Fault injection

• Generic architecture of a fault-injection system




                                                     8
Introduction



Already available fault injection systems for
        CAN present some limitations




                                                9
Introduction
    Limitations of previous CAN fault-injection systems


• Low spatial resolution

• Low time resolution

• Traffic restrictions

• Modifications on the nodes




                                                          10
Introduction



Why is it so important to provide a fault-injection
 system that does not show those limitations?




                                                      11
Introduction
 Motivations for an adequate CAN fault-injection systems




• CAN is being incorporated in safety-related
  systems

• New technologies are being developed to
  improve dependability of CAN




                                                           12
Introduction

                      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




                                                      13
Introduction



     To achieve this goal we developed a

physical fault-injection system called sfiCAN




                                                14
sfiCAN
                       Architecture

• Hub
  – Coupling
  – Fault injection
  – Logging

• Node
  – Execute software
  – Logging

• PC
  – Management




                                      15
sfiCAN
                             Architecture

• Simplex star topology
   – Dedicated links for the nodes
   – Standard link for the PC




                                            16
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  17
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  18
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


                                                                   19
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



                                                                   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



                                                                   21
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  22
Design



   sfiCAN is constructed from
a set of independent modules
 that carry out different tasks
      related to the injection




                                  23
Design
                        sfiCAN 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)

                                              24
Design



How we carry out an experiment?




                                  25
Design
Phases of a fault-injection experiment




                                         26
Design
Phases of a fault-injection experiment




user




                                         27
Design
      Phases of a fault-injection experiment




             fault-injection
              specification
      user


  nodes’
workload




                                               28
Design
Phases of a fault-injection experiment




       start experiment
user




                                         29
Design
Phases of a fault-injection experiment




       start experiment
user




                                         30
Design
Phases of a fault-injection experiment




                                         31
Design
Phases of a fault-injection experiment




       end experiment
user




                                         32
Design
Phases of a fault-injection experiment




       end experiment
user




                                         33
Design
Phases of a fault-injection experiment




        report
user




                                         34
Design



Which types of faults can sfiCAN inject?




                                           35
Design
                Types of faults



• Transient

• Permanent

• Intermitent




                                  36
Design
                     Types of faults


• Fault-injection modes
  – Single-shot → transient

  – Continuous → transient and permanent

  – Iterative → intermittent




                                           37
Design
                     Types of faults


• Fault-injection modes
  – Single-shot → transient

  – Continuous → transient and permanent

  – Iterative → intermittent




                                           38
Design
      Types of faults – Single-shot




aim                fire             cease




Id              data                    crc
···                           ···       ···

                                              39
Design
Fault-injection specification language




                                         40
Design
             Fault-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

                                                      41
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  42
Implementation
   Development environment/platform

sfiCAN’s prototype is based on a previous
       ReCANcentrate prototype




                                            43
Implementation
             Development environment/platform



• Hub hardware
   – Xilinx XSA-3S1000 FPGA board
   – Xilinx Spartan-3 XC3S1000 FPGA chip


• Implementation environment
   – VHDL
   – Xilinx ISE (Integrated Software Environment)




                                                    44
Implementation
            Development environment/platform



• Nodes hardware
   – Microchip dsPICDEM 80-pin Starter Development Board
   – Microchip dsPIC30F6014A


• Implementation environment
   – C
   – Piklab + MPLAB C30




                                                           45
Implementation
              Development environment/platform



• PC hardware
   – Linux-based PC
   – Peak System-Technik PCAN-PCI


• Implementation environment
   – shell script / C++
   – GCC
   – SocketCAN



                                                 46
Implementation
Implementation of the fimCfgExecuter




                                       47
Implementation
Implementation of the fimCfgExecuter




                                       48
Implementation
         Implementation of the fimCfgExecuter

• Hub Core




                                                49
Implementation
         Implementation of the fimCfgExecuter

• Hub Core




                                                50
Implementation
          Implementation of the fimCfgExecuter

• faultInjectionModule




                                                 51
Implementation
          Implementation of the fimCfgExecuter

• faultInjectionModule




                                                 52
Implementation
          Implementation of the fimCfgExecuter

• fimExecuter




                                                 53
Implementation
          Implementation of the fimCfgExecuter

• fimExecuter




                                                 54
Implementation
         Implementation of the fimCfgExecuter

• fimCfgExecuter




                                                55
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  56
Test of sfiCAN
                  Testbed setup


• Experimental platform




                                  57
Test of sfiCAN
                         Realized tests

• Bit-flipping (single-shot)
• Recessive Downlink Message Omission (continuous)
• Iterative Integrity Error (iterative)


• Inconsistent Message Omission (single-shot)
• Unfair Primary Error (iterative)




                                                     58
Test of sfiCAN
                         Realized tests

• Bit-flipping (single-shot)
• Recessive Downlink Message Omission (continuous)
• Iterative Integrity Error (iterative)


• Inconsistent Message Omission (single-shot)
• Unfair Primary Error (iterative)




                                                     59
Test of sfiCAN
                             Bit-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
                                            60
Test of sfiCAN
                      Bit-flipping

• Oscilloscope screenshot



   Transmitted




     Received




                                     61
Test of sfiCAN
                            Bit-flipping

• Loggers dump


              Transmitter     Receiver
               Node 0         Node 1          Hub
          1   Tx 123#00      Rx 123#00     Ok 123#00
   Time   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




                                                        62
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  63
Conclusions


We achieved the goal, we developed a physical
 fault-injection system capable of reproducing
complex fault scenarios to test the response of
     CAN-based applications and protocols




                                                  64
Conclusions

• Fault model
   – Global/local faults
   – Bit granularity
   – Transient, permanent and intermittent
   – Simple/complex scenarios


• Semantic faults to some extent




                                             65
Outline

• Requirements

• Design

• Implementation

• Test of sfiCAN

• Conclusions

• Articles and potential impact



                                  66
Articles and potential impact
                             Articles


D. Gessner, M. Barranco, A. Ballesteros, and J. Proenza,
Designing sfiCAN: a star-based physical fault injector 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.




                                                                     67
Articles and potential impact
                       Potential 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)




                                                          68
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

More Related Content

What's hot

SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesRamdas Mozhikunnath
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...DVClub
 
A framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationA framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationDaniele Gianni
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register PackageDVClub
 
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)A Systematic Approach to Creating Behavioral Models (CDNLive Slides)
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)Robert O. Peruzzi, PhD, PE, DFE
 
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...Nima Ghaedsharafi
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringRamdas Mozhikunnath
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 sessionSameh El-Ashry
 
Verification Engineer - Opportunities and Career Path
Verification Engineer - Opportunities and Career PathVerification Engineer - Opportunities and Career Path
Verification Engineer - Opportunities and Career PathRamdas Mozhikunnath
 
Vince.bilardo
Vince.bilardoVince.bilardo
Vince.bilardoNASAPMC
 
A Generative Programming Approach to Developing Pervasive Computing Systems
A Generative Programming Approach to Developing Pervasive Computing SystemsA Generative Programming Approach to Developing Pervasive Computing Systems
A Generative Programming Approach to Developing Pervasive Computing SystemsDamien Cassou
 
Multipoint Conferencing Unit Comparative Study
Multipoint Conferencing Unit Comparative StudyMultipoint Conferencing Unit Comparative Study
Multipoint Conferencing Unit Comparative StudyVideoguy
 
Agilent flash programming agilent utility card versus deep serial memory-ca...
Agilent flash programming   agilent utility card versus deep serial memory-ca...Agilent flash programming   agilent utility card versus deep serial memory-ca...
Agilent flash programming agilent utility card versus deep serial memory-ca...AgilentT&M EMEA
 
Software testing
Software testingSoftware testing
Software testingMahfuz1061
 
Co emulation of scan-chain based designs
Co emulation of scan-chain based designsCo emulation of scan-chain based designs
Co emulation of scan-chain based designsijcsit
 
Systèmes embarqués critiques
Systèmes embarqués critiquesSystèmes embarqués critiques
Systèmes embarqués critiquesMarc Daumas
 

What's hot (20)

SystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification MethodologiesSystemVerilog based OVM and UVM Verification Methodologies
SystemVerilog based OVM and UVM Verification Methodologies
 
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
Efficient Migration of Verilog Testbenches to 'UVM' Keeping the Functionality...
 
A framework for distributed control and building performance simulation
A framework for distributed control and building performance simulationA framework for distributed control and building performance simulation
A framework for distributed control and building performance simulation
 
UVM Update: Register Package
UVM Update: Register PackageUVM Update: Register Package
UVM Update: Register Package
 
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)A Systematic Approach to Creating Behavioral Models (CDNLive Slides)
A Systematic Approach to Creating Behavioral Models (CDNLive Slides)
 
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...
Fault Tolerant Software Systems Using Software Configurations For Cloud Compu...
 
Advances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of EngineeringAdvances in Verification - Workshop at BMS College of Engineering
Advances in Verification - Workshop at BMS College of Engineering
 
Functional verification techniques EW16 session
Functional verification techniques  EW16 sessionFunctional verification techniques  EW16 session
Functional verification techniques EW16 session
 
Ankit sarin
Ankit sarinAnkit sarin
Ankit sarin
 
Verification Engineer - Opportunities and Career Path
Verification Engineer - Opportunities and Career PathVerification Engineer - Opportunities and Career Path
Verification Engineer - Opportunities and Career Path
 
Vince.bilardo
Vince.bilardoVince.bilardo
Vince.bilardo
 
A Generative Programming Approach to Developing Pervasive Computing Systems
A Generative Programming Approach to Developing Pervasive Computing SystemsA Generative Programming Approach to Developing Pervasive Computing Systems
A Generative Programming Approach to Developing Pervasive Computing Systems
 
Resume M_Shams_qureshi
Resume M_Shams_qureshi Resume M_Shams_qureshi
Resume M_Shams_qureshi
 
Multipoint Conferencing Unit Comparative Study
Multipoint Conferencing Unit Comparative StudyMultipoint Conferencing Unit Comparative Study
Multipoint Conferencing Unit Comparative Study
 
Uvm dac2011 final_color
Uvm dac2011 final_colorUvm dac2011 final_color
Uvm dac2011 final_color
 
Agilent flash programming agilent utility card versus deep serial memory-ca...
Agilent flash programming   agilent utility card versus deep serial memory-ca...Agilent flash programming   agilent utility card versus deep serial memory-ca...
Agilent flash programming agilent utility card versus deep serial memory-ca...
 
End user computing1
End user computing1End user computing1
End user computing1
 
Software testing
Software testingSoftware testing
Software testing
 
Co emulation of scan-chain based designs
Co emulation of scan-chain based designsCo emulation of scan-chain based designs
Co emulation of scan-chain based designs
 
Systèmes embarqués critiques
Systèmes embarqués critiquesSystèmes embarqués critiques
Systèmes embarqués critiques
 

Viewers also liked

Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Intland Software GmbH
 
Side Channel Analysis: Practice and a Bit of Theory
Side Channel Analysis: Practice and a Bit of TheorySide Channel Analysis: Practice and a Bit of Theory
Side Channel Analysis: Practice and a Bit of TheoryPositive Hack Days
 
Design flow for Controller Area Network systems
Design flow for Controller Area Network systemsDesign flow for Controller Area Network systems
Design flow for Controller Area Network systemsAlexios Lekidis
 
Track 5 session 2 - st dev con 2016 - security iot best practices
Track 5   session 2 - st dev con 2016 - security iot best practicesTrack 5   session 2 - st dev con 2016 - security iot best practices
Track 5 session 2 - st dev con 2016 - security iot best practicesST_World
 

Viewers also liked (6)

Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
Aspekte der ISO 26262 beim Einsatz von SW-Werkzeugen in verteilter Entwicklung
 
Hta t17
Hta t17Hta t17
Hta t17
 
nabdullin_brcrdu_dark
nabdullin_brcrdu_darknabdullin_brcrdu_dark
nabdullin_brcrdu_dark
 
Side Channel Analysis: Practice and a Bit of Theory
Side Channel Analysis: Practice and a Bit of TheorySide Channel Analysis: Practice and a Bit of Theory
Side Channel Analysis: Practice and a Bit of Theory
 
Design flow for Controller Area Network systems
Design flow for Controller Area Network systemsDesign flow for Controller Area Network systems
Design flow for Controller Area Network systems
 
Track 5 session 2 - st dev con 2016 - security iot best practices
Track 5   session 2 - st dev con 2016 - security iot best practicesTrack 5   session 2 - st dev con 2016 - security iot best practices
Track 5 session 2 - st dev con 2016 - security iot best practices
 

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

Software Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile UndergroundSoftware Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile UndergroundJordan McBain
 
Tools for analysis and evaluation of CPU Performance
Tools for analysis and evaluation of CPU PerformanceTools for analysis and evaluation of CPU Performance
Tools for analysis and evaluation of CPU PerformanceMourad Bouache
 
Design and development of automated tests for the IoT
Design and development of automated tests for the IoTDesign and development of automated tests for the IoT
Design and development of automated tests for the IoTAxel Rennoch
 
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...Pôle Systematic Paris-Region
 
Swindon the making of an asic
Swindon the making of an asicSwindon the making of an asic
Swindon the making of an asicSwindinSilicon
 
Swindon the making of an asic
Swindon the making of an asicSwindon the making of an asic
Swindon the making of an asicSWINDONSilicon
 
Modern Post-Exploitation Strategies - 44CON 2012
Modern Post-Exploitation Strategies - 44CON 2012Modern Post-Exploitation Strategies - 44CON 2012
Modern Post-Exploitation Strategies - 44CON 201244CON
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btechIIITA
 
Env2Vec: Accelerating VNF Testing with Deep Learning
Env2Vec: Accelerating VNF Testing with Deep LearningEnv2Vec: Accelerating VNF Testing with Deep Learning
Env2Vec: Accelerating VNF Testing with Deep LearningGUANGYUAN PIAO
 
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01khalid noman husainy
 
IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4Sailaja Tennati
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based TestingSSA KPI
 
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMin-Yih Hsu
 
Key considerations for multithreaded architectures in LabVIEW
Key considerations for multithreaded architectures in LabVIEWKey considerations for multithreaded architectures in LabVIEW
Key considerations for multithreaded architectures in LabVIEWPiotr Demski
 
A robust fsm watermarking scheme for ip protection
A robust fsm watermarking scheme for ip protectionA robust fsm watermarking scheme for ip protection
A robust fsm watermarking scheme for ip protectionMohan Raj
 

Similar to Construction of sfiCAN: a star-based fault-injection infrastructure for the Controller Area Network (20)

Software Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile UndergroundSoftware Architecture For Condition Monitoring Of Mobile Underground
Software Architecture For Condition Monitoring Of Mobile Underground
 
Thesis Presentation
Thesis PresentationThesis Presentation
Thesis Presentation
 
Tools for analysis and evaluation of CPU Performance
Tools for analysis and evaluation of CPU PerformanceTools for analysis and evaluation of CPU Performance
Tools for analysis and evaluation of CPU Performance
 
Design and development of automated tests for the IoT
Design and development of automated tests for the IoTDesign and development of automated tests for the IoT
Design and development of automated tests for the IoT
 
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...
Mise en œuvre des méthodes de vérification de modèle et d'analyse statique de...
 
Swindon the making of an asic
Swindon the making of an asicSwindon the making of an asic
Swindon the making of an asic
 
Swindon the making of an asic
Swindon the making of an asicSwindon the making of an asic
Swindon the making of an asic
 
Modern Post-Exploitation Strategies - 44CON 2012
Modern Post-Exploitation Strategies - 44CON 2012Modern Post-Exploitation Strategies - 44CON 2012
Modern Post-Exploitation Strategies - 44CON 2012
 
Software Process Model_Se lect4 btech
Software Process Model_Se lect4 btechSoftware Process Model_Se lect4 btech
Software Process Model_Se lect4 btech
 
Simics - Break the Rules of Product Development
Simics - Break the Rules of Product DevelopmentSimics - Break the Rules of Product Development
Simics - Break the Rules of Product Development
 
ASIC design verification
ASIC design verificationASIC design verification
ASIC design verification
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Env2Vec: Accelerating VNF Testing with Deep Learning
Env2Vec: Accelerating VNF Testing with Deep LearningEnv2Vec: Accelerating VNF Testing with Deep Learning
Env2Vec: Accelerating VNF Testing with Deep Learning
 
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01
High speed-pcb-board-design-and-analysiscadence-130218085524-phpapp01
 
IEEE Buenaventura cs Chapter March 9 2016 v4
IEEE Buenaventura cs Chapter March 9 2016  v4IEEE Buenaventura cs Chapter March 9 2016  v4
IEEE Buenaventura cs Chapter March 9 2016 v4
 
Requirements Based Testing
Requirements Based TestingRequirements Based Testing
Requirements Based Testing
 
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic BlocksMCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
MCA Daemon: Hybrid Throughput Analysis Beyond Basic Blocks
 
Key considerations for multithreaded architectures in LabVIEW
Key considerations for multithreaded architectures in LabVIEWKey considerations for multithreaded architectures in LabVIEW
Key considerations for multithreaded architectures in LabVIEW
 
A robust fsm watermarking scheme for ip protection
A robust fsm watermarking scheme for ip protectionA robust fsm watermarking scheme for ip protection
A robust fsm watermarking scheme for ip protection
 
Lesson2 software process_contd2
Lesson2 software process_contd2Lesson2 software process_contd2
Lesson2 software process_contd2
 

Recently uploaded

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptxLBM Solutions
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersThousandEyes
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Paola De la Torre
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024Scott Keck-Warren
 

Recently uploaded (20)

Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Key Features Of Token Development (1).pptx
Key  Features Of Token  Development (1).pptxKey  Features Of Token  Development (1).pptx
Key Features Of Token Development (1).pptx
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for PartnersEnhancing Worker Digital Experience: A Hands-on Workshop for Partners
Enhancing Worker Digital Experience: A Hands-on Workshop for Partners
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101Salesforce Community Group Quito, Salesforce 101
Salesforce Community Group Quito, Salesforce 101
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024SQL Database Design For Developers at php[tek] 2024
SQL Database Design For Developers at php[tek] 2024
 

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

  • 1. 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
  • 2. Introduction What is the Controller Area Network? 2
  • 3. Introduction CAN • The Controller Area Network (CAN) is a field bus communication protocol 3
  • 4. Introduction CAN • 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 4
  • 5. Introduction CAN • Error frame • Overload frame • Remote frame • Data frame 5
  • 6. Introduction CAN • CAN has been traditionally used in applications in which faults can have very negative effects • It is mandatory to evaluate the capacity of these applications for dealing with faults 6
  • 7. Introduction A widely used technique to evaluate high-dependable systems is fault injection, which allows to observe efficiently the response of the system when errors do occur 7
  • 8. Introduction Fault injection • Generic architecture of a fault-injection system 8
  • 9. Introduction Already available fault injection systems for CAN present some limitations 9
  • 10. Introduction Limitations of previous CAN fault-injection systems • Low spatial resolution • Low time resolution • Traffic restrictions • Modifications on the nodes 10
  • 11. Introduction Why is it so important to provide a fault-injection system that does not show those limitations? 11
  • 12. Introduction Motivations for an adequate CAN fault-injection systems • CAN is being incorporated in safety-related systems • New technologies are being developed to improve dependability of CAN 12
  • 13. Introduction 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 13
  • 14. Introduction To achieve this goal we developed a physical fault-injection system called sfiCAN 14
  • 15. sfiCAN Architecture • Hub – Coupling – Fault injection – Logging • Node – Execute software – Logging • PC – Management 15
  • 16. sfiCAN Architecture • Simplex star topology – Dedicated links for the nodes – Standard link for the PC 16
  • 17. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 17
  • 18. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 18
  • 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 19
  • 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 20
  • 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 21
  • 22. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 22
  • 23. Design sfiCAN is constructed from a set of independent modules that carry out different tasks related to the injection 23
  • 24. Design sfiCAN 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) 24
  • 25. Design How we carry out an experiment? 25
  • 26. Design Phases of a fault-injection experiment 26
  • 27. Design Phases of a fault-injection experiment user 27
  • 28. Design Phases of a fault-injection experiment fault-injection specification user nodes’ workload 28
  • 29. Design Phases of a fault-injection experiment start experiment user 29
  • 30. Design Phases of a fault-injection experiment start experiment user 30
  • 31. Design Phases of a fault-injection experiment 31
  • 32. Design Phases of a fault-injection experiment end experiment user 32
  • 33. Design Phases of a fault-injection experiment end experiment user 33
  • 34. Design Phases of a fault-injection experiment report user 34
  • 35. Design Which types of faults can sfiCAN inject? 35
  • 36. Design Types of faults • Transient • Permanent • Intermitent 36
  • 37. Design Types of faults • Fault-injection modes – Single-shot → transient – Continuous → transient and permanent – Iterative → intermittent 37
  • 38. Design Types of faults • Fault-injection modes – Single-shot → transient – Continuous → transient and permanent – Iterative → intermittent 38
  • 39. Design Types of faults – Single-shot aim fire cease Id data crc ··· ··· ··· 39
  • 41. Design Fault-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 41
  • 42. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 42
  • 43. Implementation Development environment/platform sfiCAN’s prototype is based on a previous ReCANcentrate prototype 43
  • 44. Implementation Development environment/platform • Hub hardware – Xilinx XSA-3S1000 FPGA board – Xilinx Spartan-3 XC3S1000 FPGA chip • Implementation environment – VHDL – Xilinx ISE (Integrated Software Environment) 44
  • 45. Implementation Development environment/platform • Nodes hardware – Microchip dsPICDEM 80-pin Starter Development Board – Microchip dsPIC30F6014A • Implementation environment – C – Piklab + MPLAB C30 45
  • 46. Implementation Development environment/platform • PC hardware – Linux-based PC – Peak System-Technik PCAN-PCI • Implementation environment – shell script / C++ – GCC – SocketCAN 46
  • 49. Implementation Implementation of the fimCfgExecuter • Hub Core 49
  • 50. Implementation Implementation of the fimCfgExecuter • Hub Core 50
  • 51. Implementation Implementation of the fimCfgExecuter • faultInjectionModule 51
  • 52. Implementation Implementation of the fimCfgExecuter • faultInjectionModule 52
  • 53. Implementation Implementation of the fimCfgExecuter • fimExecuter 53
  • 54. Implementation Implementation of the fimCfgExecuter • fimExecuter 54
  • 55. Implementation Implementation of the fimCfgExecuter • fimCfgExecuter 55
  • 56. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 56
  • 57. Test of sfiCAN Testbed setup • Experimental platform 57
  • 58. Test of sfiCAN Realized tests • Bit-flipping (single-shot) • Recessive Downlink Message Omission (continuous) • Iterative Integrity Error (iterative) • Inconsistent Message Omission (single-shot) • Unfair Primary Error (iterative) 58
  • 59. Test of sfiCAN Realized tests • Bit-flipping (single-shot) • Recessive Downlink Message Omission (continuous) • Iterative Integrity Error (iterative) • Inconsistent Message Omission (single-shot) • Unfair Primary Error (iterative) 59
  • 60. Test of sfiCAN Bit-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 60
  • 61. Test of sfiCAN Bit-flipping • Oscilloscope screenshot Transmitted Received 61
  • 62. Test of sfiCAN Bit-flipping • Loggers dump Transmitter Receiver Node 0 Node 1 Hub 1 Tx 123#00 Rx 123#00 Ok 123#00 Time 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 62
  • 63. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 63
  • 64. Conclusions We achieved the goal, we developed a physical fault-injection system capable of reproducing complex fault scenarios to test the response of CAN-based applications and protocols 64
  • 65. Conclusions • Fault model – Global/local faults – Bit granularity – Transient, permanent and intermittent – Simple/complex scenarios • Semantic faults to some extent 65
  • 66. Outline • Requirements • Design • Implementation • Test of sfiCAN • Conclusions • Articles and potential impact 66
  • 67. Articles and potential impact Articles D. Gessner, M. Barranco, A. Ballesteros, and J. Proenza, Designing sfiCAN: a star-based physical fault injector 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. 67
  • 68. Articles and potential impact Potential 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) 68
  • 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