Fault injection tool Fault Injection Tool Pavel Čírtek.

Slides:



Advertisements
Similar presentations
C Structures What is a structure? A structure is a collection of related variables. It may contain variables of many different data types---in contrast.
Advertisements

Computer Organization and Architecture
MotoHawk Training Model-Based Design of Embedded Systems.
Model for Supporting High Integrity and Fault Tolerance Brian Dobbing, Aonix Europe Ltd Chief Technical Consultant.
1 Frameworks. 2 Framework Set of cooperating classes/interfaces –Structure essential mechanisms of a problem domain –Programmer can extend framework classes,
Memory Allocation. Three kinds of memory Fixed memory Stack memory Heap memory.
Visual Formal Methods R J Walters. Introduction Motivation The Language The tools An example Conclusion.
2/23/2009CS50901 Implementing Fault-Tolerant Services Using the State Machine Approach: A Tutorial Fred B. Schneider Presenter: Aly Farahat.
Design of Fault Tolerant Data Flow in Ptolemy II Mark McKelvin EE290 N, Fall 2004 Final Project.
Copyright © 2008 Pearson Addison-Wesley. All rights reserved. Chapter 13 Pointers and Linked Lists.
IST Hard Real-time CORBA HRTC WP4 / M. Rodríguez / Lund 16 September 2003 WP4: Process Control Testbed Universidad Politécnica de Madrid.
A Guide to SQL, Seventh Edition. Objectives Embed SQL commands in PL/SQL programs Retrieve single rows using embedded SQL Update a table using embedded.
Page 1 Copyright © Alexander Allister Shvartsman CSE 6510 (461) Fall 2010 Selected Notes on Fault-Tolerance (12) Alexander A. Shvartsman Computer.
Exceptions, Interrupts & Traps
SIMULATING ERRORS IN WEB SERVICES International Journal of Simulation: Systems, Sciences and Technology 2004 Nik Looker, Malcolm Munro and Jie Xu.
Testing - an Overview September 10, What is it, Why do it? Testing is a set of activities aimed at validating that an attribute or capability.
Modeling and Simulation
1 Data Object Object Types A VHDL object consists of one of the following: –Signal, Which represents interconnection wires that connect component instantiation.
Rensselaer Polytechnic Institute CSCI-4210 – Operating Systems David Goldschmidt, Ph.D.
Introduction to Embedded Systems
1 BTEC HNC Systems Support Castle College 2007/8 Systems Analysis Lecture 9 Introduction to Design.
SOFTWARE ENGINEERING BIT-8 APRIL, 16,2008 Introduction to UML.
(C) 2009 J. M. Garrido1 Object Oriented Simulation with Java.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Scheduling Basic scheduling policies, for OS schedulers (threads, tasks, processes) or thread library schedulers Review of Context Switching overheads.
NoSQL Databases Oracle - Berkeley DB. Content A brief intro to NoSQL About Berkeley Db About our application.
Entities and Objects The major components in a model are entities, entity types are implemented as Java classes The active entities have a life of their.
Chapter 3 Internal Memory. Objectives  To describe the types of memory used for the main memory  To discuss about errors and error corrections in the.
Chapter 12: Pointers, Classes, Virtual Functions, and Abstract Classes.
1 Advanced Behavioral Model Part 1: Processes and Threads Part 2: Time and Space Chapter22~23 Speaker: 陳 奕 全 Real-time and Embedded System Lab 10 Oct.
What Every Developer Should Know about the Kernel Dr. Michael L. Collard 1.
Object Oriented Software Development
Lecture 3 Classes, Structs, Enums Passing by reference and value Arrays.
Object Oriented Discrete-Event Simulation CS4730 Fall 2010 Jose M. Garrido Department of Computer Science and Information Systems Kennesaw State University.
Object-Oriented Programming (Java), Unit 28 Kirk Scott 1.
CS4730 Real-Time Systems and Modeling Fall 2010 José M. Garrido Department of Computer Science & Information Systems Kennesaw State University.
Verification of FT System Using Simulation Petr Grillinger.
GLOBAL EDGE SOFTWERE LTD1 R EMOTE F ILE S HARING - Ardhanareesh Aradhyamath.
Chapter 10: Classes and Data Abstraction. Objectives In this chapter, you will: Learn about classes Learn about private, protected, and public members.
+ Dynamic memory allocation. + Introduction We often face situations in programming where the data is dynamics in nature. Consider a list of customers.
Review 1 Polish Notation Prefix Infix Postfix Precedence of Operators Converting Infix to Postfix Evaluating Postfix.
How to write a MSGQ Transport (MQT) Overview Nov 29, 2005 Todd Mullanix.
UML The Unified Modeling Language A Practical Introduction Al-Ayham Saleh Aleppo University
(C) J. M. Garrido1 Objects in a Simulation Model There are several objects in a simulation model The activate objects are instances of the classes that.
Oracle Architecture - Structure. Oracle Architecture - Structure The Oracle Server architecture 1. Structures are well-defined objects that store the.
Chapter 10: Classes and Data Abstraction. Classes Object-oriented design (OOD): a problem solving methodology Objects: components of a solution Class:
1 Phase Testing. Janice Regan, For each group of units Overview of Implementation phase Create Class Skeletons Define Implementation Plan (+ determine.
C# Fundamentals An Introduction. Before we begin How to get started writing C# – Quick tour of the dev. Environment – The current C# version is 5.0 –
Retele de senzori Curs 2 - 1st edition UNIVERSITATEA „ TRANSILVANIA ” DIN BRAŞOV FACULTATEA DE INGINERIE ELECTRICĂ ŞI ŞTIINŢA CALCULATOARELOR.
Distributed Computing & Embedded Systems Chapter 4: Remote Method Invocation Dr. Umair Ali Khan.
 Cloud Computing technology basics Platform Evolution Advantages  Microsoft Windows Azure technology basics Windows Azure – A Lap around the platform.
Sine-Wave Application v2.0 Pavel Čírtek. Sine-Wave Application v2.0 2 The Aim of the Work Create representative prototype of highly dependable synthetic.
Fundamentals of Fault-Tolerant Distributed Computing In Asynchronous Environments Paper by Felix C. Gartner Graeme Coakley COEN 317 November 23, 2003.
DYNAMIC MEMORY ALLOCATION. Disadvantages of ARRAYS MEMORY ALLOCATION OF ARRAY IS STATIC: Less resource utilization. For example: If the maximum elements.
1 Module 3: Processes Reading: Chapter Next Module: –Inter-process Communication –Process Scheduling –Reading: Chapter 4.5, 6.1 – 6.3.
COTS testing Torbjørn Skramstad.
REAL-TIME OPERATING SYSTEMS
CMSC 345 Defensive Programming Practices from Software Engineering 6th Edition by Ian Sommerville.
DBMS & TPS Barbara Russell MBA 624.
Testing Tutorial 7.
A Guide to SQL, Seventh Edition
Names and Attributes Names are a key programming language feature
Microprocessor Systems Design I
UNIT – I Linked Lists.
CHAPTER 3 Architectures for Distributed Systems
Real-time Software Design
Operating Systems Chapter 5: Input/Output Management
Process Description and Control
Structuring Of Systems Using Upcalls - By David D. Clark
Single Event Upset Simulation
Presentation transcript:

Fault injection tool 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