Týdeník věnovaný aktualitám a novinkám z fyziky a astronomie. | |||
|
Školácká chyba za půl miliardy dolarů
Josef Čada
Píše se červen roku 1996 a na kosmodromuGuyanské kosmické centrum – kosmodrom Evropské kosmické agentury nacházející se v blízkosti městečka Kourou ve Francouzské Guyaně v Jižní Americe. Kosmodrom má velmi výhodnou polohu v blízkosti rovníku, startující rakety totiž získají v okamžiku startu bez jakéhokoli paliva oběžnou rychlost Země v daném místě (zde 460 m/s), která je na rovníku nejvyšší. Kosmodrom leží přibližně 500 km severně od rovníku na 5° 8' severní šířky a funguje od roku 1968. V současnosti se zde nachází pět odpalovacích ramp a montážní hala. ve Francouzské Guyaně se chystá start rakety Ariane 5Ariane – nosná raketa využívaná Evropskou kosmickou agenturou. Její název pochází z francouzského přepisu jména mytologické postavy Ariadne. Nosič byl vyvíjen od 70. let dvacátého století. První úspěšný start Ariane 1 proběhl v roce 1979. Poslední využívaná varianta je nosič Ariane 5 ECA s výškou 59 metrů, průměrem 5,4 metru, celkovou hmotností 770 tun a užitečným nákladem 10 tun. Tento nosič vynesl na orbitu například dalekohled Jamese Webba. Poslední start rakety proběhl 6. července 2023. Připravuje se další verze rakety, Ariane 6. Starty probíhají z kosmodromu Guyanského kosmického centra v blízkosti Kourou ve Francouzské Guyaně.. Jedná se o let V88 a na palubě se nacházejí čtyři satelity ClusterCluster – čtveřice stejných družic pojmenovaných podle latinsko-amerických tanců (Rumba, Salsa, Samba a Tango) vypuštěných v roce 2000 Evropskou kosmickou agenturou. Šlo o druhý pokus, první proběhl v roce 1996 a skončil explozí nosné rakety Ariane. Kolem Země letí ve vzájemné formaci ve vrcholech čtyřstěnu (vzdáleny 5 000 až 20 000 km) a provádějí dosud nejdetailnější prostorová měření parametrů slunečního větru a jeho interakce s magnetosférou Země. Cluster poprvé detekoval plazmové vlny v magnetopauze, přepojení magnetických silokřivek, pohyby rázové vlny pod nápory slunečního větru, prolétl polárním kaspem a vytvořil první třírozměrný obraz magnetosféry Země. Evropské vesmírné agenturyESA – European Space Agency, Evropská kosmická agentura. ESA spojuje úsilí 18 evropských zemí na poli kosmického výzkumu. Centrální sídlo je v Paříži, pobočky jsou v mnoha členských zemích. ESA byla založena v roce 1964 jako přímý následovník organizací ESRO a ELDO. Nejznámější nosnou raketou využívanou ESA je Ariane. Česká republika vstoupila do ESA v listopadu 2008.. Z počátku jde vše, jak má, ale zhruba 40 sekund po startu se ve výšce 3 700 metrů Ariane začne odchylovat od své dráhy. V tu chvíli se zastavuje navigační systém, po chvíli zasáhne automatický systém ukončení letu a Ariane se sama zničí, aby nedošlo k nepředvídatelnému chování. Vzápětí začíná vyšetřování. Škoda se vyšplhala na půl miliardy dolarů (cca 14 miliard korun v tehdejším kurzu 27,78 korun za dolar). A aby to bylo ještě horší, raketa není pojištěna…
Exploze rakety Ariane 5 nedlouho po startu v roce 1996. Zdroj: ESA.
ESA – European Space Agency, Evropská kosmická agentura. ESA spojuje úsilí 18 evropských zemí na poli kosmického výzkumu. Centrální sídlo je v Paříži, pobočky jsou v mnoha členských zemích. ESA byla založena v roce 1964 jako přímý následovník organizací ESRO a ELDO. Nejznámější nosnou raketou využívanou ESA je Ariane. Česká republika vstoupila do ESA v listopadu 2008. Guyanské kosmické centrum – kosmodrom Evropské kosmické agentury nacházející se v blízkosti městečka Kourou ve Francouzské Guyaně v Jižní Americe. Kosmodrom má velmi výhodnou polohu v blízkosti rovníku, startující rakety totiž získají v okamžiku startu bez jakéhokoli paliva oběžnou rychlost Země v daném místě (zde 460 m/s), která je na rovníku nejvyšší. Kosmodrom leží přibližně 500 km severně od rovníku na 5° 8' severní šířky a funguje od roku 1968. V současnosti se zde nachází pět odpalovacích ramp a montážní hala. Ariane – nosná raketa využívaná Evropskou kosmickou agenturou. Její název pochází z francouzského přepisu jména mytologické postavy Ariadne. Nosič byl vyvíjen od 70. let dvacátého století. První úspěšný start Ariane 1 proběhl v roce 1979. Poslední využívaná varianta je nosič Ariane 5 ECA s výškou 59 metrů, průměrem 5,4 metru, celkovou hmotností 770 tun a užitečným nákladem 10 tun. Tento nosič vynesl na orbitu například dalekohled Jamese Webba. Poslední start rakety proběhl 6. července 2023. Připravuje se další verze rakety, Ariane 6. Starty probíhají z kosmodromu Guyanského kosmického centra v blízkosti Kourou ve Francouzské Guyaně. Cluster – čtveřice stejných družic pojmenovaných podle latinsko-amerických tanců (Rumba, Salsa, Samba a Tango) vypuštěných v roce 2000 Evropskou kosmickou agenturou. Šlo o druhý pokus, první proběhl v roce 1996 a skončil explozí nosné rakety Ariane. Kolem Země letí ve vzájemné formaci ve vrcholech čtyřstěnu (vzdáleny 5 000 až 20 000 km) a provádějí dosud nejdetailnější prostorová měření parametrů slunečního větru a jeho interakce s magnetosférou Země. Cluster poprvé detekoval plazmové vlny v magnetopauze, přepojení magnetických silokřivek, pohyby rázové vlny pod nápory slunečního větru, prolétl polárním kaspem a vytvořil první třírozměrný obraz magnetosféry Země. |
Co se stalo?
Francouzská vesmírná agentura CNESCNES – Centre National d’Etudes Spatiales, národní francouzská vesmírná agentura, která má za cíl formovat francouzskou vesmírnou politiku. Založena byla v roce 1961. Zaměstnává 2 400 zaměstnanců z toho je 1 800 inženýrů a vedoucích pracovníků (35 % z tohoto počtu jsou ženy). (Centre National d’Etudes Spatiales) a Evropská vesmírná agentura ESAESA – European Space Agency, Evropská kosmická agentura. ESA spojuje úsilí 18 evropských zemí na poli kosmického výzkumu. Centrální sídlo je v Paříži, pobočky jsou v mnoha členských zemích. ESA byla založena v roce 1964 jako přímý následovník organizací ESRO a ELDO. Nejznámější nosnou raketou využívanou ESA je Ariane. Česká republika vstoupila do ESA v listopadu 2008. okamžitě jmenovaly vyšetřovací komisi sestavenou z předních odborníků z evropských zemí. Komise připravila během měsíce zprávu, v níž byla jednoznačně za příčinu havárie označena softwarová chyba. A co hůře, šlo o část softwaru, která ani nebyla třeba, tzv. mrtvý kód (dead code), což je část zdrojového kódu programu, která je sice provedena, ale jejíž výsledek není použit v žádném dalším výpočtu. Chyba byla v části softwaru, jenž je zodpovědný za správnou definici inerciální referenční soustavy. Před vzletem musí software provést výpočty, které slouží ke kalibraci referenčního systému. Výpočty trvají přibližně devět sekund, avšak je zde možnost, že se odpočet prodlouží – u předchozích verzí Ariane to bylo klidně i několik hodin. Proto se inženýři rozhodli výpočet posunout a spustit ho až po startu, kdy probíhá zhruba 50 sekund, ale vzhledem k tomu, že raketa už letí, je výpočet zbytečný a navíc nesmyslný. A v této od počátku špatné koncepci byla další sotwarová chyba, která způsobila katastrofu.
Čtveřice družic Cluster letí ve formaci čtyřstěnu a moitoruje
magnetické pole Země.
Vypuštěny byly na druhý pokus, a to při dvou startech
v roce 2000. Zdroj:
ESA.
Chyba s plovoucí desetinnou čárkou a přetečení
Chyba s plovoucí desetinou čárkou (floating point error) je chyba, která nastává při přepisu reálného čísla do reprezentace s desetinou čárkou a nelze se jí nikdy zcela vyhnout. V počítači se běžně využívá 16 bitů, což neumožňuje při zápisu s pohyblivou čárkou pokrýt ani všechna racionální čísla, natož iracionální (nevyjádřitelná zlomkem), která nelze přesně reprezentovat vůbec. Při kontinuálních výpočtech se chyba sčítá a postupně narůstá. To vedlo k velkým problémům například v programu Excel v devadesátých letech. Stejný problém způsobil v době války v Zálivu selhání systému Patriot a kvůli této chybě bohužel přišlo o život více než sto vojáků. Dnes již takovým chybám umíme přecházet, ale v devadesátých letech minulého století byly časté. Bohužel se tato chyba stala osudnou i pro let V88. V jedné fázi výpočtu horizontální složky rychlosti rakety program převáděl 64bitové číslo s plovoucí desetinnou čárkou na 16bitovou celočíselnou hodnotu. Přetečení způsobilo hardwarovou výjimku, neboť převáděná hodnota byla větší než možnosti proměnné, do které měla být převedena. Řešení takové situace nebylo v programu nijak ošetřeno, celý program spadl, a poté následoval pád palubního počítače.
Jak se mohla taková chyba stát?
Management projektu se dušoval, že problém nebyl ve vedení projektu, a komise mu překvapivě dala za pravdu. Avšak stanovila doporučení pro příště. Dokumentace, validace a ostatní, kromě osudové chyby, byly v pořádku. Ukázalo se, že problém byl technického rázu.
Proč tedy nebyla softwarová výjimka, k níž došlo, monitorována a ošetřena? Analýza posléze dokonce odhalila, že k přetečení proměnné, které způsobilo chybu, vůbec nemělo dojít. Byla tedy analýza chybná? Nikoliv, pro Ariane 4 by to opravdu nebylo možné, bohužel byl ale palubní počítač v Ariane 5, a ta má větší odchylku vodorovné složky rychlosti.
Použití starého kódu
Modul pro výpočet horizontální složky rychlosti byl převzat z rakety Ariane 4, a v té době byl software již 10 let starý. To by normálně nevadilo, avšak právě v tomto případě nebylo možné výpočetní modul jen tak převzít z Ariane 4 a použít ho v Ariane 5. Navíc chyběla přesná specifikaceSpecifikace – detailní dokumentace očekávaného chování výpočetního modulu v různých podmínkách včetně zdrojového kódu. spojená s opětovným použitím modulu. Dokonce bylo ve staré dokumentaci zmíněno, že horizontální vychýlení se má vejít do 16 bitů, ale tento fakt nebyl v kódu ošetřen. Nikoho takový detail nenapadl, neboť to „přece v předchozí verzi fungovalo“. Takto klíčový modul měl mít samostatnou specifikaciSpecifikace – detailní dokumentace očekávaného chování výpočetního modulu v různých podmínkách včetně zdrojového kódu..
Závěr
Komise ještě vydala několik doporučení pro takovýto přenos softwaru a jeho opětovné použití. Některá doporučení byla dokonce kritizována jako příliš přísná. V ESAESA – European Space Agency, Evropská kosmická agentura. ESA spojuje úsilí 18 evropských zemí na poli kosmického výzkumu. Centrální sídlo je v Paříži, pobočky jsou v mnoha členských zemích. ESA byla založena v roce 1964 jako přímý následovník organizací ESRO a ELDO. Nejznámější nosnou raketou využívanou ESA je Ariane. Česká republika vstoupila do ESA v listopadu 2008. se určitě poučili a na Ariane 6, která se stane novou nosnou raketou ESA, bude již programová specifikaceSpecifikace – detailní dokumentace očekávaného chování výpočetního modulu v různých podmínkách včetně zdrojového kódu. velmi přesná a pokud se bude cokoli přebírat z Ariane 5, tak podle přísných pravidel a s předem danou specifikacíSpecifikace – detailní dokumentace očekávaného chování výpočetního modulu v různých podmínkách včetně zdrojového kódu.. Co se týče Ariane 5, její pověst touto jedinou katastrofou neutrpěla. Stala se nejspolehlivější raketou ESA vůbec. V prosinci 2021 dokonce vynesla na oběžnou dráhu dalekohled Jamese WebbaJWST – James Webb Space Telescope, vesmírný dalekohled Jamese Webba, následovník Hubblova dalekohledu připravený třemi kosmickými agenturami: americkou NASA, evropskou ESA a kanadskou CSA. Dalekohled vynesla do vesmíru evropská nosná raketa Ariane na konci roku 2021. Je umístěn v Lagrangeově bodě L2 soustavy Země-Slunce. Průměr segmentovaného zrcadla je 6,5 m. Dalekohled je pojmenován po řediteli NASA, který Ameriku úspěšně dovedl k přistání na Měsíci. Dalekohled Jamese Webba je určený primárně pro pozorování v infračerveném oboru.. Nezbývá tedy než doufat, že provoz Ariane 6 bude ještě lepší.
Ariane 5 s dalekohledem Jamese Webba na palubě. Zdroj: NASA, Chris Gunn.