Mission type | Magnetospheric |
---|---|
Operator | ESA |
Spacecraft properties | |
Launch mass | 1,200 kilograms (2,600 lb) |
Start of mission | |
Launch date | 12:34:06, 4 June 1996 (UTC) (1996-06-04T12:34:06Z) |
Rocket | Ariane 5G |
Launch site | KourouELA-3 |
End of mission | |
Disposal | launch failure |
Destroyed | 4 June 1996 (1996-06-04) |
![]() ESA quadrilateral mission insignia forCluster |
Ariane flight V88[1] was the failedmaiden flight of theArianespaceAriane 5 rocket, vehicle no. 501, on 4 June 1996. It carried theCluster spacecraft, a constellation of fourEuropean Space Agency research satellites.
The launch ended in failure due to multiple errors in the software design:dead code, intended only forAriane 4, with inadequate protection againstinteger overflow led to anexception handled inappropriately, halting the whole otherwise unaffectedinertial navigation system. This caused the rocket to veer off its flight path 37 seconds after launch, beginning to disintegrate under high aerodynamic forces, and finally self-destructing via its automatedflight termination system. The failure has become known as one of the most infamous and expensivesoftware bugs in history.[2] The failure resulted in a loss of more than US$370 million.[3]
The Ariane 5reused the code from theinertial reference platform from theAriane 4, but the early part of the Ariane 5's flight path differed from the Ariane 4 in having higher horizontal velocity values. This caused an internal value BH (Horizontal Bias) calculated in the alignment function to be unexpectedly high. The alignment function was operative for approximately 40 seconds of flight, which was based on a requirement of Ariane 4, but served no purpose after lift-off on the Ariane 5.[4] The greater values of BH caused a data conversion from a64-bitfloating point number to a16-bitsignedinteger value tooverflow and cause ahardware exception.[5] The programmers had protected only four out of seven critical variables against overflow to keep within a required maximum workload target of 80% for the on-board Inertial Reference System computer, and relied on assumptions which were correct for the trajectory of Ariane 4, but not Ariane 5, regarding the possible range of values for the three unprotected variables.[6] The exception halted both of the inertial reference system modules, although they were intended to beredundant. The active module presented a diagnostic bit pattern to the On-Board Computer which was interpreted as flight data, in particular causing full nozzle deflections of the solid boosters and theVulcain main engine. This led to an angle of attack of more than 20 degrees, causing separation of the boosters from the main stage, the triggering of the self-destruct system of the launcher, and the destruction of the flight.[4]
The official report on the crash (conducted by an inquiry board headed byJacques-Louis Lions) noted that "An underlying theme in the development of Ariane 5 is the bias towards themitigation of random failure. The supplier of theinertial navigation system (SRI) was only following the specification given to it, which stipulated that in the event of any detected exception the processor was to be stopped. The exception which occurred was not due to random failure but a design error. The exception was detected, but inappropriately handled because the view had been taken that software should be considered correct until it is shown to be at fault. [...] Although the failure was due to a systematic software design error, mechanisms can be introduced to mitigate this type of problem. For example the computers within the SRIs could have continued to provide their best estimates of the requiredattitude information. There is reason for concern that a software exception should be allowed, or even required, to cause a processor to halt while handling mission-critical equipment. Indeed, the loss of a proper software function is hazardous because the same software runs in both SRI units. In the case of Ariane 501, this resulted in the switch-off of two still healthy critical units of equipment."[4]
Other issues identified in the report focused on testing:[4]
Another perspective of the failure, based onsystems engineering, focuses on requirements:[7]
Cluster consisted of four 1,200 kilograms (2,600 lb) cylindrical,spin-stabilised spacecraft, powered by 224 watt solar cells. The spacecraft were to have flown in atetrahedral formation, and were intended to conduct research into the Earth'smagnetosphere. The satellites would have been placed into highly elliptical orbits; 17,200 by 120,600 kilometres (10,700 by 74,900 mi),inclined at 90 degrees to the equator.[8]
Following the failure, four replacementCluster II satellites were built. These were launched in pairs aboardSoyuz-U/Fregat rockets in 2000.
The launch failure brought the high risks associated with complex computing systems to the attention of the general public, politicians, andexecutives, resulting in increased support for research on ensuring the reliability ofsafety-critical systems. The subsequent automated analysis of the Arianecode (written inAda) was the first example of large-scalestatic code analysis byabstract interpretation.[9]
The failure also harmed the excellent success record of the European Space Agency's rocket family, set by the high success rate of the Ariane 4 model. It was not until 2007 that Ariane 5 launches were recognised as being as reliable as those of the predecessor model.[10]