©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.

Slides:



Advertisements
Similar presentations
Software testing.
Advertisements

CSCI 5230: Project Management Software Reuse Disasters: Therac-25 and Ariane 5 Flight 501 David Sumpter 12/4/2001.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 20 Slide 1 Critical systems development 2.
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
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 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
Modern Software Development Fawzi Emad Chau-Wen Tseng Department of Computer Science University of Maryland, College Park.
© Copyright 1992–2004 by Deitel & Associates, Inc. and Pearson Education Inc. All Rights Reserved. Chapter 5 - Functions Outline 5.1Introduction 5.2Program.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 23 Slide 1 Software testing.
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.
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. Insulin Pump Slide 1 An automated insulin pump.
©Ian Sommerville 2004Software Engineering, 7th edition. Insulin Pump Slide 1 The portable insulin pump Developing a dependability specification for the.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 2 Slide 1 Systems engineering 1.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 10 Slide 1 Critical Systems Specification 3 Formal Specification.
©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.
CPSC 372 John D. McGregor Module 0 Session 1 Introduction.
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.
Software Reliability Categorising and specifying the reliability of software systems.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 19 Slide 1 Component-based software engineering 2.
The Ariane 5 Launcher Failure
Uncontrolled copy not subject to amendment Rocketry Revision 1.00.
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
The Ariane 5 Launcher Failure June 4th 1996 Total failure of the Ariane 5 launcher on its maiden flight.
© 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.
Testing. 2 Overview Testing and debugging are important activities in software development. Techniques and tools are introduced. Material borrowed here.
©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.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 9 Slide 1 Critical Systems Specification 1.
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.
©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
Development and Principles of Rocketry
Chapter 17 - Component-based software engineering
Presentation transcript:

©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 maiden flight

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 2 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 3 Launcher failure Appoximately 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 self-destructed The system failure was a direct result of a software failure. However, it was symptomatic of a more general systems validation failure

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 4 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 5 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.

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 6 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 7 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.

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 8 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!

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 9 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 10 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 11 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

©Ian Sommerville 2000CS 365 Ariane 5 launcher failureSlide 12 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