SlideShare uma empresa Scribd logo
1 de 47
Software Fault Tolerance  Presented By,  Ankit Singh  (asingh@stud.fh-frankfurt.de) M.Sc High Integrity System University of Applied Sciences, Frankfurt am Main
1.  Why we need Fault Tolerant Software? 2.  Single Version Software Tolerance Techniques 3.  Multi Version Software Tolerance Techniques 4  Software Fault Injection for Fault Tolerance Assessment! 5.  Examples of Fault Tolerant Systems
Why we need Fault Tolerant Software?
Why we need Fault Tolerant Software? A computer System typically consists of ,[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Why we need Fault Tolerant Software?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Why we need Fault Tolerant Software?
Why we need Fault Tolerant Software? “ PROGRAMS are really not much more than the PROGRAMMER’S BEST GUESS about what a system should do”
Quick look on software development process!!! Why we need Fault Tolerant Software? ,[object Object],[object Object],[object Object],[object Object]
Why we need Fault Tolerant Software? Quick look on software development process!!! ,[object Object]
Why we need Fault Tolerant Software? Quick look on software development process!!! This process model is appropriate for projects where the  requirements  are  incompletely specified  or when the developers are unsure whether a proposed design solution is adequate.
Software Design Faults ,[object Object],[object Object],[object Object],[object Object],[object Object],Why we need Fault Tolerant Software?
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Why we need Fault Tolerant Software? Software Design Faults
End of Part 1:  Conclusion ,[object Object],[object Object],[object Object],[object Object],[object Object],Why we need Fault Tolerant Software?
Single Version Software Tolerance Techniques
Single Version Software Tolerance Techniques ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Single Version Software Tolerance Techniques
Checkpoint and Restart Single Version Software Tolerance Techniques There exist two kinds of restart recovery:  Static :  A static restart is based on returning the module to a predetermined state. Dynamic:  Dynamic restart uses dynamically created checkpoints that are snapshots of the state at various points during the execution. Advantage:  they are based on states created during operation, and can thus be used to allow forward progress of execution without having to discard all the work done up to the time of error detection.
Process Pairs Single Version Software Tolerance Techniques ,[object Object],[object Object],[object Object],[object Object]
Data diversity Single Version Software Tolerance Techniques
Check Pointing: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Single Version Software Tolerance Techniques
End of Part 2:  Conclusion ,[object Object],[object Object],[object Object],[object Object],Single Version Software Tolerance Techniques
Multi Version Software Tolerance Techniques
Brief Overview ,[object Object],[object Object],[object Object],Multi Version Software Tolerance Techniques
Recovery Blocks Multi Version Software Tolerance Techniques Checkpoints  are created  before a version executes . Checkpoints are needed to recover the state after a  version fails  to provide a  valid operational starting point  for the next version if an error is detected.
N-Version Programming Multi Version Software Tolerance Techniques
N Self-Checking Programming Multi Version Software Tolerance Techniques This use of  separate acceptance tests  for each version is the main difference of this N Self-Checking model  from the  Recovery Blocks  approach. Similar to Recovery Blocks, execution of the versions and their tests can be done sequentially or in parallel but the output is taken from the  highest-ranking version  that passes its acceptance test.
Multi Version Software Tolerance Techniques This model has the  advantage  of using an  application independent decision  algorithm to select a correct output. This variation of self-checking programming has the  theoretical vulnerability  of encountering situations where multiple pairs pass their comparisons each with different outputs.
Consensus Recovery Blocks Multi Version Software Tolerance Techniques The  Consensus Recovery Blocks  approach combines  N-Version Programming and Recovery Blocks  to improve the reliability over that achievable by using just one of the approaches. The acceptance tests in the Recovery Blocks  suffer  from  lack of guidelines  for their development and a general proneness to design faults due to the inherent difficulty in creating effective tests.
End of Part 3:  Conclusion ,[object Object],[object Object],[object Object],[object Object],Multi Version Software Tolerance Techniques
Software Fault Injection  for  Fault Tolerance Assessment! Multi Version Software Tolerance Techniques
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],[object Object],Fault Tolerance in Operating System
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],[object Object],[object Object],Fault Tolerance in Operating System
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],[object Object],[object Object],Fault Tolerance in Operating System
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],[object Object],[object Object],Introduction to Software Fault Injection
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Software Fault Injection for Fault Tolerance Assessment! ,[object Object],[object Object],End of Part 4:  Conclusion
 
Examples of Fault Tolerant Systems
Examples of Airbus A3XX & Boeing 777 ,[object Object],[object Object],Examples of Fault Tolerant Systems
Boeing 777 ,[object Object],Examples of Fault Tolerant Systems
Boeing 777 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Examples of Fault Tolerant Systems
Examples of Fault Tolerant Systems
[object Object],[object Object],[object Object],[object Object],[object Object],Examples of Fault Tolerant Systems AIRBUS A320/A330/A340 Flight Control Computer
Examples of Fault Tolerant Systems AIRBUS A320/A330/A340 Flight Control Computer The  primary module  sends its commands to the actuators, with  the secondary module  remaining in  standby.  When the  primary module fails , it is  taken offline  and the  secondary module takes over  the command function. In addition, a second pair of modules (Primary 2 and Secondary 2 in Figure 21) is also available and sending commands to redundant actuators.
Example of Fault Tolerant Systems , was the last thing I want to discuss with you!  Happy Christmas & New Year   In  Advance !! Thank You! Examples of Fault Tolerant Systems
Erlang : The Functional Language ,[object Object],[object Object],[object Object],[object Object],[object Object],I would like to show one small video on Erlang Language. Please bear with me. I am pretty sure you guys going to like this.  
References: ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Mais conteúdo relacionado

Mais procurados

System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
koolkampus
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
Sidra Ashraf
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
Nishkarsh Gupta
 

Mais procurados (20)

Design Pattern in Software Engineering
Design Pattern in Software EngineeringDesign Pattern in Software Engineering
Design Pattern in Software Engineering
 
Design Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptxDesign Concepts in Software Engineering-1.pptx
Design Concepts in Software Engineering-1.pptx
 
formal verification
formal verificationformal verification
formal verification
 
unit 3 Design 1
unit 3 Design 1unit 3 Design 1
unit 3 Design 1
 
Testing strategies part -1
Testing strategies part -1Testing strategies part -1
Testing strategies part -1
 
Software quality assurance
Software quality assuranceSoftware quality assurance
Software quality assurance
 
System Models in Software Engineering SE7
System Models in Software Engineering SE7System Models in Software Engineering SE7
System Models in Software Engineering SE7
 
software quality
software qualitysoftware quality
software quality
 
Type checking in compiler design
Type checking in compiler designType checking in compiler design
Type checking in compiler design
 
Software Evolution
Software EvolutionSoftware Evolution
Software Evolution
 
Software Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & SpecificationSoftware Engineering : Requirement Analysis & Specification
Software Engineering : Requirement Analysis & Specification
 
Sqa plan
Sqa planSqa plan
Sqa plan
 
Fundamentals of Language Processing
Fundamentals of Language ProcessingFundamentals of Language Processing
Fundamentals of Language Processing
 
Type Checking(Compiler Design) #ShareThisIfYouLike
Type Checking(Compiler Design) #ShareThisIfYouLikeType Checking(Compiler Design) #ShareThisIfYouLike
Type Checking(Compiler Design) #ShareThisIfYouLike
 
Black box software testing
Black box software testingBlack box software testing
Black box software testing
 
CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2CS8494 SOFTWARE ENGINEERING Unit-2
CS8494 SOFTWARE ENGINEERING Unit-2
 
Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)Software Engineering (Software Quality Assurance)
Software Engineering (Software Quality Assurance)
 
Formal Methods lecture 01
Formal Methods lecture 01Formal Methods lecture 01
Formal Methods lecture 01
 
Fundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & TestingFundamentals of Software Quality Assurance & Testing
Fundamentals of Software Quality Assurance & Testing
 
Software Configuration Management (SCM)
Software Configuration Management (SCM)Software Configuration Management (SCM)
Software Configuration Management (SCM)
 

Destaque

Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
prakashjjaya
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
sumitjain2013
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope Application
Ankit Singh
 
Dane presentation
Dane presentationDane presentation
Dane presentation
Ankit Singh
 
Mote Mote Radio Communication
Mote Mote Radio CommunicationMote Mote Radio Communication
Mote Mote Radio Communication
Ankit Singh
 
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour DetectionRestricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Ankit Singh
 
MicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project PresentationMicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project Presentation
Ankit Singh
 
DO-178B/ED-12B Presentation
DO-178B/ED-12B PresentationDO-178B/ED-12B Presentation
DO-178B/ED-12B Presentation
Ankit Singh
 
The Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud ComputingThe Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud Computing
Ankit Singh
 
Indian German Unity
Indian German UnityIndian German Unity
Indian German Unity
Ankit Singh
 

Destaque (20)

Fault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating systemFault tolerance techniques for real time operating system
Fault tolerance techniques for real time operating system
 
Fault Tolerance System
Fault Tolerance SystemFault Tolerance System
Fault Tolerance System
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)Security Vision for Software on Wheels (Autonomous Vehicles)
Security Vision for Software on Wheels (Autonomous Vehicles)
 
Fault tolerance
Fault toleranceFault tolerance
Fault tolerance
 
Ch11 reliability engineering
Ch11 reliability engineeringCh11 reliability engineering
Ch11 reliability engineering
 
Fault tolerance in distributed systems
Fault tolerance in distributed systemsFault tolerance in distributed systems
Fault tolerance in distributed systems
 
N-version programming
N-version programmingN-version programming
N-version programming
 
TINYOS Oscilloscope Application
TINYOS Oscilloscope ApplicationTINYOS Oscilloscope Application
TINYOS Oscilloscope Application
 
Design Alternative for Parallel Systems
Design Alternative for Parallel SystemsDesign Alternative for Parallel Systems
Design Alternative for Parallel Systems
 
Dane presentation
Dane presentationDane presentation
Dane presentation
 
Simple Railroad Command Protocol
Simple Railroad Command ProtocolSimple Railroad Command Protocol
Simple Railroad Command Protocol
 
Mote Mote Radio Communication
Mote Mote Radio CommunicationMote Mote Radio Communication
Mote Mote Radio Communication
 
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour DetectionRestricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
Restricted Usage of Anonymous Credentials in VANET for Misbehaviour Detection
 
MicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project PresentationMicazXpl Intelligent Sensors Network Project Presentation
MicazXpl Intelligent Sensors Network Project Presentation
 
DO-178B/ED-12B Presentation
DO-178B/ED-12B PresentationDO-178B/ED-12B Presentation
DO-178B/ED-12B Presentation
 
The Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANETThe Security and Privacy Requirements in VANET
The Security and Privacy Requirements in VANET
 
Anti Collision Railways System
Anti Collision Railways SystemAnti Collision Railways System
Anti Collision Railways System
 
The Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud ComputingThe Security and Privacy Threats to Cloud Computing
The Security and Privacy Threats to Cloud Computing
 
Indian German Unity
Indian German UnityIndian German Unity
Indian German Unity
 

Semelhante a Software Fault Tolerance

How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
Abhay Kumar
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
PINKU29
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
Mark Turner CRP
 
Software techniques
Software techniquesSoftware techniques
Software techniques
home
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
Techpartnerz
 
Sqa unit1
Sqa unit1Sqa unit1
Sqa unit1
kannaki
 

Semelhante a Software Fault Tolerance (20)

How to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdfHow to Make the Most of Regression and Unit Testing.pdf
How to Make the Most of Regression and Unit Testing.pdf
 
Intro softwareeng
Intro softwareengIntro softwareeng
Intro softwareeng
 
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOpsAgile A to Z Chapter 4 Feedback Loop Part 2 DevOps
Agile A to Z Chapter 4 Feedback Loop Part 2 DevOps
 
Software reliability engineering
Software reliability engineeringSoftware reliability engineering
Software reliability engineering
 
Testing concepts
Testing conceptsTesting concepts
Testing concepts
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Different Software Testing Types and CMM Standard
Different Software Testing Types and CMM StandardDifferent Software Testing Types and CMM Standard
Different Software Testing Types and CMM Standard
 
11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot11 steps of testing process - By Harshil Barot
11 steps of testing process - By Harshil Barot
 
Software techniques
Software techniquesSoftware techniques
Software techniques
 
Agile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loopAgile a to z chapter 4 feedback loop
Agile a to z chapter 4 feedback loop
 
Ch20
Ch20Ch20
Ch20
 
What is Software Testing
 What is Software Testing What is Software Testing
What is Software Testing
 
Why Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdfWhy Software Testing is Crucial in Software Development_.pdf
Why Software Testing is Crucial in Software Development_.pdf
 
Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2Learn software testing with tech partnerz 2
Learn software testing with tech partnerz 2
 
Sqa unit1
Sqa unit1Sqa unit1
Sqa unit1
 
Software Testing
Software TestingSoftware Testing
Software Testing
 
Top 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLCTop 7 reasons why software testing is crucial in SDLC
Top 7 reasons why software testing is crucial in SDLC
 
Infographic All Things You Should Know About Regression Testing
Infographic All Things You Should Know About Regression TestingInfographic All Things You Should Know About Regression Testing
Infographic All Things You Should Know About Regression Testing
 
Testing
Testing Testing
Testing
 
HP Software Testing project (Advanced)
HP Software Testing project (Advanced)HP Software Testing project (Advanced)
HP Software Testing project (Advanced)
 

Mais de Ankit Singh (7)

IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
IoT in Mining for Sensing, Monitoring and Prediction of Underground Mines Roo...
 
Parallex - The Supercomputer
Parallex - The SupercomputerParallex - The Supercomputer
Parallex - The Supercomputer
 
Cooperative Linux
Cooperative LinuxCooperative Linux
Cooperative Linux
 
Master Teset Specification SRCP
Master Teset Specification SRCPMaster Teset Specification SRCP
Master Teset Specification SRCP
 
Micazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project reportMicazxpl - Intelligent Sensors Network project report
Micazxpl - Intelligent Sensors Network project report
 
Toilet etiquettes
Toilet etiquettesToilet etiquettes
Toilet etiquettes
 
TinyOS installation Guide And Manual
TinyOS installation Guide And ManualTinyOS installation Guide And Manual
TinyOS installation Guide And Manual
 

Último

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 

Último (20)

Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
Raspberry Pi 5: Challenges and Solutions in Bringing up an OpenGL/Vulkan Driv...
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
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
 
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
 
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men08448380779 Call Girls In Greater Kailash - I Women Seeking Men
08448380779 Call Girls In Greater Kailash - I Women Seeking Men
 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 

Software Fault Tolerance

  • 1. Software Fault Tolerance Presented By, Ankit Singh (asingh@stud.fh-frankfurt.de) M.Sc High Integrity System University of Applied Sciences, Frankfurt am Main
  • 2. 1. Why we need Fault Tolerant Software? 2. Single Version Software Tolerance Techniques 3. Multi Version Software Tolerance Techniques 4 Software Fault Injection for Fault Tolerance Assessment! 5. Examples of Fault Tolerant Systems
  • 3. Why we need Fault Tolerant Software?
  • 4.
  • 5.
  • 6.
  • 7. Why we need Fault Tolerant Software? “ PROGRAMS are really not much more than the PROGRAMMER’S BEST GUESS about what a system should do”
  • 8.
  • 9.
  • 10. Why we need Fault Tolerant Software? Quick look on software development process!!! This process model is appropriate for projects where the requirements are incompletely specified or when the developers are unsure whether a proposed design solution is adequate.
  • 11.
  • 12.
  • 13.
  • 14. Single Version Software Tolerance Techniques
  • 15.
  • 16.
  • 17. Checkpoint and Restart Single Version Software Tolerance Techniques There exist two kinds of restart recovery: Static : A static restart is based on returning the module to a predetermined state. Dynamic: Dynamic restart uses dynamically created checkpoints that are snapshots of the state at various points during the execution. Advantage: they are based on states created during operation, and can thus be used to allow forward progress of execution without having to discard all the work done up to the time of error detection.
  • 18.
  • 19. Data diversity Single Version Software Tolerance Techniques
  • 20.
  • 21.
  • 22. Multi Version Software Tolerance Techniques
  • 23.
  • 24. Recovery Blocks Multi Version Software Tolerance Techniques Checkpoints are created before a version executes . Checkpoints are needed to recover the state after a version fails to provide a valid operational starting point for the next version if an error is detected.
  • 25. N-Version Programming Multi Version Software Tolerance Techniques
  • 26. N Self-Checking Programming Multi Version Software Tolerance Techniques This use of separate acceptance tests for each version is the main difference of this N Self-Checking model from the Recovery Blocks approach. Similar to Recovery Blocks, execution of the versions and their tests can be done sequentially or in parallel but the output is taken from the highest-ranking version that passes its acceptance test.
  • 27. Multi Version Software Tolerance Techniques This model has the advantage of using an application independent decision algorithm to select a correct output. This variation of self-checking programming has the theoretical vulnerability of encountering situations where multiple pairs pass their comparisons each with different outputs.
  • 28. Consensus Recovery Blocks Multi Version Software Tolerance Techniques The Consensus Recovery Blocks approach combines N-Version Programming and Recovery Blocks to improve the reliability over that achievable by using just one of the approaches. The acceptance tests in the Recovery Blocks suffer from lack of guidelines for their development and a general proneness to design faults due to the inherent difficulty in creating effective tests.
  • 29.
  • 30. Software Fault Injection for Fault Tolerance Assessment! Multi Version Software Tolerance Techniques
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.  
  • 38. Examples of Fault Tolerant Systems
  • 39.
  • 40.
  • 41.
  • 42. Examples of Fault Tolerant Systems
  • 43.
  • 44. Examples of Fault Tolerant Systems AIRBUS A320/A330/A340 Flight Control Computer The primary module sends its commands to the actuators, with the secondary module remaining in standby. When the primary module fails , it is taken offline and the secondary module takes over the command function. In addition, a second pair of modules (Primary 2 and Secondary 2 in Figure 21) is also available and sending commands to redundant actuators.
  • 45. Example of Fault Tolerant Systems , was the last thing I want to discuss with you!  Happy Christmas & New Year In Advance !! Thank You! Examples of Fault Tolerant Systems
  • 46.
  • 47.

Notas do Editor

  1. We are going to talk about 5 things today.