The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight.

Slides:



Advertisements
Similar presentations
CSCI 5230: Project Management Software Reuse Disasters: Therac-25 and Ariane 5 Flight 501 David Sumpter 12/4/2001.
Advertisements

EECE499 Computers and Nuclear Energy Electrical and Computer Eng Howard University Dr. Charles Kim Fall 2013 Webpage:
CERTIFICATION OBJECTIVES Use Class Members Develop Wrapper Code & Autoboxing Code Determine the Effects of Passing Variables into Methods Recognize when.
CMSC 330: Organization of Programming Languages Exceptions.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development.
Syllabus Case Histories WW III Almost Medical Killing Machine
CSC 4250 Computer Architectures September 12, 2006 Appendix H. Computer Arithmetic.
Chapter 8 Representing Information Digitally.
23/05/2015Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 2 ESA Ariane 5 Rocket Flight 501.
1 COMS 161 Introduction to Computing Title: Numeric Processing Date: November 10, 2004 Lecture Number: 31.
Figures – Chapter 17. Figure 17.1 Component characteristics Component characteristic Description StandardizedComponent standardization means that a component.
INFORMATION TECHNOLOGIES SAFETY AND QUALITY THROUGH INFORMATION TECHNOLOGY WSRS Ulm – 20 Sept St. Ramberger / Th.Gruber 1 Experience Report: Error.
Software Development Methodology for Robotic and Embedded Systems (from drawing to coding) Presented by Iwan Setiawan for Robot and Technology Fair ( )-
©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
ARIANE 5 FAILURE ► BACKGROUND:- ► European space agency’s re-useable launch vehicle. ► Ariane-4 was a major success ► Ariane -5 was developed for the larger.
1 Software Engineering Software has some special characteristics –Software is “developed” and not “manufactured”
Page 1 Building Reliable Component-based Systems Chapter 14 - Testing Reusable Software Components in Safety- Critical Real-Time Systems Chapter 14 Testing.
Testing Components in the Context of a System CMSC 737 Fall 2006 Sharath Srinivas.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2004Software Engineering Case Studies Slide 1 The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its.
Airbus flight control system  The organisation of the Airbus A330/340 flight control system 1Airbus FCS Overview.
Airbus flight control system
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 24 Slide 1 Critical Systems Validation 1.
Scientific Computing Algorithm Convergence and Root Finding Methods.
USS Yorktown (1998) A crew member of the guided-missile cruiser USS Yorktown mistakenly entered a zero for a data value, which resulted in a division by.
Software Quality Assurance Lecture #8 By: Faraz Ahmed.
Dr Andy Brooks1 FOR0383 Software Quality Assurance Lecture 1 Introduction Forkröfur/prerequisite: FOR0283 Programming II Website:
The Ariane 5 Launcher Failure
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
CRASH AND BURN ARIANE 5 Kristen Hieronymus SYSM6309 Advanced Requirements Engineering
CPSC 871 John D. McGregor Module 0 Session 1 Introduction.
2. Many factors have to be taken into account to achieve a successful rocket launch, maintain a stable orbit and return to Earth.
Introduction to Software Quality Assurance
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. C How To Program - 4th edition Deitels Class 05 University.
INVARIANTS EEN 417 Fall When is a Design of a System “Correct”? A design is correct when it meets its specification (requirements) in its operating.
Dr. Tom WayCSC Testing and Test-Driven Development CSC 4700 Software Engineering Based on Sommerville slides.
 2007 Pearson Education, Inc. All rights reserved C Functions -Continue…-
Lecture 08 – Documentation, debugging.  docstring  A special kind of string (text) used to provide documentation  Appears at the top of a module 
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 3.
Chapter 1 Quality terminology Error: human mistake Fault: result of mistake, evidenced in some development or maintenance product Failure: departure from.
(1) A beginners guide to testing Philip Johnson Collaborative Software Development Laboratory Information and Computer Sciences University of Hawaii Honolulu.
Fixed & Floating Number Format Dr. Hugh Blanton ENTC 4337/5337.
Software Defects.
“I am not in the office at the moment. Send any work to be translated.”
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Software Quality Assurance COMP 4004 Notes Adapted from S. Som é, A. Williams.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
CSC 480 Software Engineering Test Planning. Test Cases and Test Plans A test case is an explicit set of instructions designed to detect a particular class.
Negative binary numbers 1 Computer Architectures M.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
“I am not in the office at the moment. Send any work to be translated.”
Interrupts and Exception Handling. Execution We are quite aware of the Fetch, Execute process of the control unit of the CPU –Fetch and instruction as.
SENG521 (Fall SENG 521 Software Reliability & Testing Fault Tolerant Software Systems: Techniques (Part 4a) Department of Electrical.
Topic 10Summer Ariane 5 Some slides based on talk from Sommerville.
Regression Testing with its types
Chapter 17 - Component-based software engineering
Fault Tolerant Computing
Ariane 5 Software error Integer overflow.
Section 8 Discussion Points
ECE 103 Engineering Programming Chapter 2 SW Disasters
Chapter 5 - Functions Outline 5.1 Introduction
Scale of things : Big and Small
Chapter 17 - Component-based software engineering
Module 10: Creating Transactional Business Processes
Presentation transcript:

The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight

Ariane 5  A European rocket designed to launch commercial payloads (e.g.communications satellites, etc.) into Earth orbit  Successor to the successful Ariane 4 launchers  Ariane 5 can carry a heavier payload than Ariane 4

Launcher failure  Approximately 37 seconds after a successful lift-off, the Ariane 5 launcher lost control.  Incorrect control signals were sent to the engines and these swivelled so that unsustainable stresses were imposed on the rocket.  It started to break up and was destroyed by ground controllers.  The system failure was a direct result of a software failure. However, it was symptomatic of a more general systems validation failure.

The problem  The attitude and trajectory of the rocket are measured by a computer-based inertial reference system. This transmits commands to the engines to maintain attitude and direction.  The software failed and this system and the backup system shut down.  Diagnostic commands were transmitted to the engines which interpreted them as real data and which swivelled to an extreme position resulting in unforeseen stresses on the rocket.

Software failure  Software failure occurred when an attempt to convert a 64-bit floating point number to a signed 16-bit integer caused the number to overflow.  There was no exception handler associated with the conversion so the system exception management facilities were invoked. These shut down the software.  The backup software was a copy and behaved in exactly the same way.

Avoidable failure?  The software that failed was reused from the Ariane 4 launch vehicle. The computation that resulted in overflow was not used by Ariane 5.  Decisions were made  Not to remove the facility as this could introduce new faults;  Not to test for overflow exceptions because the processor was heavily loaded. For dependability reasons, it was thought desirable to have some spare processor capacity.

Why not Ariane 4?  The physical characteristics of Ariane 4 (A smaller vehicle) are such that it has a lower initial acceleration and build up of horizontal velocity than Ariane 5.  The value of the variable on Ariane 4 could never reach a level that caused overflow during the launch period.

Validation failure  As the facility that failed was not required for Ariane 5, there was no requirement associated with it.  As there was no associated requirement, there were no tests of that part of the software and hence no possibility of discovering the problem.  During system testing, simulators of the inertial reference system computers were used. These did not generate the error as there was no requirement!

Review failure  The design and code of all software should be reviewed for problems during the development process  Either  The inertial reference system software was not reviewed because it had been used in a previous version;  The review failed to expose the problem or that the test coverage would not reveal the problem;  The review failed to appreciate the consequences of system shutdown during a launch.

Lessons learned  Don’t run software in critical systems unless it is actually needed.  As well as testing for what the system should do, you may also have to test for what the system should not do.  Do not have a default exception handling response which is system shut-down in systems that have no fail-safe state.

Lessons learned  In critical computations, always return best effort values even if the absolutely correct values cannot be computed.  Wherever possible, use real equipment and not simulations.  Improve the review process to include external participants and review all assumptions made in the code.

Avoidable failure  The designer’s of Ariane 5 made a critical and elementary error.  They designed a system where a single component failure could cause the entire system to fail.  As a general rule, critical systems should always be designed to avoid a single point of failure.