Ten błąd kosztował 370 mln dolarów. Doprowadził do eksplozji europejskiej dumy
Jednym z najdroższych błędów oprogramowania w historii była eksplozja rakiety Ariane 5 z 4 czerwca 1996 r. Spowodowała ona gigantyczne straty finansowe oraz czteroletnie opóźnienie badania ziemskiej magnetosfery. Przyczyny tej katastrofy do dzisiaj budzą zdumienie.
4 czerwca był jednym z najczarniejszych dni w historii Europejskiej Agencji Kosmicznej (ESA) i firmy Arianespace, ponieważ tego dnia tuż po starcie eksplodowała nowa rakieta Ariane 5 mająca dostarczyć na orbitę ładunek czterech satelitów (Rumba, Salsa, Samba i Tango) przeznaczonych do badania ziemskiej magnetosfery.
Bezpośrednie straty w wyniku katastrofy wyniosły 370 mln dolarów i opóźniły badanie ziemskiej magnetosfery o cztery lata. Był to też ogromny cios wizerunkowy dla konsorcjum Arianespace, które bardzo promowało swoją nową ciężką rakietę nośną Ariane 5 jako alternatywę w stosunku do systemów z USA bądź Rosji.
Ariane 5 - błąd programistyczny okazał się katastrofalny
Rakieta nośna Ariane 5 jest efektem decyzji z 1985 r. kiedy to ESA uznała, że potrzebuje nowej rakiety zdolnej wynieść na orbitę ładunki o masie ponad 5 ton. Warto tutaj zaznaczyć, że w dużej mierze wpływ na ambicje Europejskiej Agencji Kosmicznej miała Francja, której firmy mają większościowy udział w konsorcjum Arianespace.
Jak się później okazało, konstruktorzy rakiety Ariane 5, aby przyspieszyć realizację tego bardzo prestiżowego i wartego 7 miliardów dolarów projektu, poszli na skróty, kopiując ze starszej rakiety Ariane 4 część oprogramowania napisanego w języku Ada dotyczącą systemu nawigacji inercyjnej (INS).
Start rakiety Ariane 5 (lot VA-226)
System nawigacji inercyjnej (INS) jest krytyczny, ponieważ w oparciu o sensory dokonujące pomiaru prędkości dostarcza on informacje o położeniu rakiety do komputera głównego, który następnie koryguje trajektorię lotu za pomocą silników korygujących. Nowa rakieta Ariane 5 o udźwigu ponad 5 ton charakteryzowała się innymi parametrami lotu niż przystosowana do przenoszenia ładunków do około 4 ton rakieta Ariane 4.
Samo wykorzystanie kodu nie jest samo w sobie niczym złym, ale jak wykazało późniejsze dochodzenie, nie przeprowadzono jego rewizji dla nowej rakiety. Jest to identyczny przypadek jak w zabijającej pacjentów, zamiast ich leczyć z nowotworów, maszynie Therac-25.
Ariane 5 - kulisy eksplozji francuskiej/europejskiej dumy
Efekt zaniedbania przy projektowaniu rakiety Ariane 5 dał o sobie znać 4 czerwca 1996 r., kiedy podczas startu z kosmodromu położonego u wybrzeży Gujany Francuskiej o 9:33 czasu lokalnego doszło do eksplozji rakiety po 39 sekundach lotu.
Ariane 5 - start i moment eksplozji
Rakieta przez pierwsze 30 sekund od startu leciała zgodnie z planem, a następnie zboczyła z kursu, zmieniając swoje położenie o 90 stopni, co słusznie uruchomiło system autodestrukcji po kolejnych czterech sekundach. Spowodował on rozpadnięcie się rakiety Ariane 5 na wysokości 4 km, a jej szczątki zostały rozrzucone na terenie na wschód od kosmodromu o powierzchni 12 km kw.
Powodem takiego zachowania były nieskalibrowane pod osiągi rakiety Ariane 5 oprogramowanie oraz błąd podczas konwersji wartości 64-bitowej na 16-bitową skutkujące przepełnieniem bufora (próba zapisu większej ilości danych niż może pomieścić bufor). Powodowało ono kolejny problem, czyli wstrzymanie wykonywanego procesu i nie pomógł tutaj drugi zapasowy system INS, który zadziałał identycznie.
Następnie wadliwe dane trafiły do komputera głównego, który uznał je za ekstremalne, ale poprawne i dokonał korekty lotu o 90 stopni. Ta doprowadziła do przeciążeń, które uszkodziły połączenia boosterów na paliwo stałe i rakiety nośnej na tyle, aby wywołać jej autodestrukcję.
Ariane 5 - specyfikacja rakiet oraz wprowadzenie poprawek
Błędy w procesie projektowania oraz testowania zostały zidentyfikowane, a raport ESA zawierał szereg rekomendacji obejmujących poza poprawą procesu testowania i kwalifikacji oprogramowania także m.in. zastosowanie lepszej telemetrii czy przeprowadzanie symulacji przed każdym startem. Te rekomendacje zostały wprowadzone w życie i drugi start rakiety Ariane 5 z 30 października 1997 r. został już zakończony sukcesem.
Rakieta Ariane 5 w pierwszej wersji G pozwalała na wyniesienie na orbitę około 6 ton ładunku, a w najnowszym wariancie ES jej udźwig wzrósł do 10 ton. Jest to trójstopniowa rakieta o masie 780 ton, średnicy 5,4 m oraz wysokości 50,5 m. W pierwszej fazie napęd poza silnikiem rakietowym Vulcain 2 o ciągu 939,5 kN Ariane 5 ma do dyspozycji parę boosterów na paliwo stałe, które odpadają po wypaleniu się. W drugiej fazie za napęd odpowiada wyłącznie silnik Vulcain 2, a w trzeciej silnik rakietowy Aestus o ciągu 29,6 kN w próżni.
Rakiety Ariane 5 są wołem roboczym ESA (115 startów) i będą nim do czasu zakończenia prac nad Ariane 6, która ma zapewnić jeszcze większy udźwig przy dwukrotnej redukcji kosztów. Jej pierwszy lot był już wielokrotnie przekładany i na dzisiaj jest mowa o 2023 r.
Przemysław Juraszek, dziennikarz dobreprogramy.pl