1 / 17

Fault Injection Tool

Fault Injection Tool. Pavel Čírtek. Contents. Introduction C-Sim based components Fault injector component Conclusion. Definitions. Fault tolerant systems are used in safety critical applications.

arnie
Download Presentation

Fault Injection Tool

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Fault Injection Tool Pavel Čírtek Fault injection tool

  2. Contents • Introduction • C-Sim based components • Fault injector component • Conclusion Fault injection tool

  3. Definitions • Fault tolerant systems are used in safety critical applications. • Fault tolerant (FT) system – a system that provides required functionality even in the presence of faults. • Safety critical application – the cost of a failure is much higher than the price of the system, e.g. human lives are in danger, a production plant is stopped. • Real-time (RT) system – the system responds to events immediately as they occur. Hard RT systems provide guaranteed deadlines. Fault injection tool

  4. Fault Tolerance • A fault is a random or malicious defect introduced to the system. A fault may cause an error state of the system. • A system enters error state if its normal operation can not be performed anymore (due to a fault). A recognized error does not mean a failure of the system. • The system fails if it no longer meets the requirements for proper functions. Fault injection tool

  5. C-Sim based components • Simulation library • Simulation world • Simulation model • Simulation program Fault injection tool

  6. Simulation library • A simulation library is a set of object types definitions and it is not executable itself. • Object type can be: • passive (LINK, HEAD) • active (PROCESS) • Construction for creating object type: • typedef struct {…} TYPE_NAME; • Types methods can be created as C language functions with one parameter typed as TYPE_NAME*. Fault injection tool

  7. Simulation world • Simulation world is on object type that describes an activity, i.e. it is a process type or it contains at least one attribute of a process type or it contains an attribute of another world type • Public methods: • Constructor • Interaction(s) - functions to exchange data • Execution - specializad constructor. Creates a separate event list. Fault injection tool

  8. Sim. model and program • Simulation model (SM) is a statically structured set of simulation worlds. • Sim. model instance is interconnected set of simulation worlds instances. • Sim. program (SP)executes sim. model. • Functions in sim. program: • init -creates a model instance • some form of main - simulation loop (because of present C-Sim doesn’t support a world execution constructor) Fault injection tool

  9. Fault injector component • Problem of construction of an universal fault-injector component (world FIC) • It should be attached to any C-Sim based simulation model of FT system (world MFTC) • Two basic types of fault injection: • asynchronous – FI emits fault whenever • synchronous – FI emits fault according to model-time value and/or its internal state Fault injection tool

  10. Simulation world of FI • Constructor (if any) only prepare environment for creating faults • Type of fault is a class that have its own constructor and attributes • A fault is an instance of this class • State of fault: • active – fault injection already running • passive – fault is waiting for an activation Fault injection tool

  11. Fault types • Single-bit fault – random setting of a bit within a continuous memory array • Multiple fault – group of M single-bit faults in one model time-point • Burst of faults – Poisson stream of K multiple faults • Stream of bursts – Poisson stream of events, where one event means one burst of faults Fault injection tool

  12. FIC config table • FIC config table (FICC)– one row describes one fault: • pointer to fault • state • index (key) • One instance of FICC should “inter-connect” both worlds FIC and MFTC Fault injection tool

  13. Interaction (MFTC to FIC) • FIC have to have method run_fault(). This function is called from an instance of MFTC world whenever it wants to “trigger fault” • Parameters: • Pointer to FICC instance – identifies the interconnection object • Index (key) into FICC – selects the fault Fault injection tool

  14. Interaction (FIC to MFTC) • MFTC should have methods: • fi_result() – returns a result of (a previous) fault injection. Parameter of function should be a pointer to FICC instance and index into FICC • init_fi() – should be called during SM construction. Parameter is pointer to FICC instance. Fault injection tool

  15. Interaction • Three main ways of interaction: • From FIC to MFTC: • the fault injection itself (asynchronous faults) • the test of injection result • From MFTC to FIC • calling a fault (synchronous faults) Fault injection tool

  16. Inicialization • initialization function should do following steps: • create instance of MFTC (using its constructor) • create instance of FIC (i.e. create all necessary faults instances) • create instance of FICC and fill fault parameters into rows of table • call MFTC init_fi() function Fault injection tool

  17. Conclusion • current version of FIC is customized for a TTP/C protocol based on FT systems • advantages of this solutions: • universal FI component • synchronous fault calling • disadvantages: • no easy way for massive faults injection experiments Fault injection tool

More Related