Pátek 27. května 2022, svátek má Valdemar
  • schránka
  • Přihlásit Můj účet
  • Pátek 27. května 2022 Valdemar

Programátorka dostala první muže na Měsíc. Věděla, že nejsou dokonalí

aktualizováno  0:58
Lidé jsou omylní a počítače s tím musí počítat. Tato jednoduchá myšlenka zachránila život astronautům v dramatických minutách před prvním přistáním na Měsíci. Programátorka, jejíž kód jim zachránil život, zasvětila svůj život propagaci „počítačové vědy“ a „očekávání neočekávatelného“.

Margaret Hamiltonová ve velitelském modulu Apollo | foto: NASA

Počítačové programy musejí počítat s tím, že jim někdo dá špatné nebo neúplné údaje. Když omylem zadáte místo telefonu e-mail, počítač to musí poznat a upozornit vás na to. Nesmí havarovat jen proto, že se na „+420 honza@mail.to“ nemůže dovolat. Každý programátor se velmi brzy naučí, že musí tzv. ošetřit vstupy od uživatele a připravit svůj program na nečekané události i nesmyslné situace.

A to je pouhé políčko ve formuláři. Co teprve když se snášíte v přistávacím modulu k měsíčnímu povrchu a váš řídicí počítač, na kterém závisí váš život, najednou zahlásí sérii neočekávaných chyb a zahlcení systému?

Fotogalerie

Je až neuvěřitelné, že taková samozřejmost jako „předpokládejme, že lidé chybují“ byla svého času naprostou novinkou. Vynálezem, který se prosadil až za dramatických okolností. A vděčíme za něj mimo jiné mladé programátorce, Margaret Hamiltonové, která se svým týmem důvtipně zachránila misi Apollo 11 a umožnila tak bezpečné přistání prvních lidí na Měsíci. Nemluvě o tom, že změnila způsob, jakým programátoři přemýšlejí.

Programovat jsme se učili za pochodu

K programování se Margaret Hamiltonová dostala jako řada prvních programátorů oklikou přes matematiku, kterou začala studovat na University of Michigan a dokončila na Earlham College. Přidala k tomu doplňkové zaměření v oboru filozofie a krátce také živila sebe a svého studujícího manžela jako středoškolská učitelka.

Na prestižním Massachusetts Institute of Technology (MIT) se ve čtyřiadvaceti letech dostala ke svojí první „programátorské pozici“, ačkoli tehdy se tomu ještě tak neříkalo. „V počátcích nebyli programátoři bráni úplně vážně, nebyla to svébytná disciplína,“ vzpomínala po třech desetiletích Hamiltonová. „Byla to spíš taková vedlejší odnož, hlavní roli hrál hardware. Programování se také považovalo spíše za umění a kouzlení, nikoli za vědu.“ Dnes běžný termín softwarové inženýrství, který Hamiltonová razila, aby svému oboru získala respekt, tehdy vzbuzoval spíše úsměv.

Ale ona se ale do softwaru zamilovala a při práci na projektu SAGE, detekujícím nepřátelské střely, prokázala, že si poradí s neobvyklými výzvami. I proto si jí všimla NASA a Hamiltonová začala pracovat na softwaru pro projekt Apollo s vizionářským cílem poslat člověka na Měsíc a vrátit jej zpět na Zem.

Cesta do 60. let

Zdrojové kódy na GitHub

Software, který spadal pod tým Margaret Hamiltonové, si můžete prohlédnout na repozitáři GitHub, včetně původních komentářů a narážek.

Ženy vyvíjející software prý nebyly v NASA tak neobvyklé jako dnes. V čerstvém oboru se na to tolik nehledělo. „Na projektu jsme pracovali vedle sebe, muži i ženy. Mužů byla většina. Ale řešili jsme záludné problémy v šibeničních termínech a soustředili jsme se spíš na práci než na to, jestli je někdo muž, nebo žena,“ říká Hamiltonová.

Počítačové řízení bylo pro misi Apollo zcela zásadní. Byl to právě autopilot, který počítal zážehy raketových motorů, aby umožnil setkání velitelského a přistávacího modulu. Zároveň ale ještě převládal názor, že počítač by neměl mít „na svědomí“ lidské životy, a všechny klíčové výpočty se proto ověřovaly ručně. A stále ještě převládala představa, že astronaut - povoláním pilot - udělá v osudný moment lepší rozhodnutí než elektronický mozek.

„Většině z nás programátorů bylo dvacet až třicet let. Brali jsme svou práci vážně, naprostá oddanost práci se automaticky předpokládala. A všichni jsme se navzájem respektovali,“ říká Hamiltonová. „Software byl pro naše nadřízené velká neznámá, byla to černá skříňka. Management nám tedy obvykle dával naprostou svobodu. Museli jsme najít způsob, jak to udělat.“

Neomylní astronauti? Leda ve snu

Řídicí počítač Apollo měl na starosti celou řadu funkcí, z toho některé z nich vyžadovaly vývoj zcela nových algoritmů a postupů. Nebyl zde žádný repozitář, ze kterého by si programátoři mohli zkopírovat moduly a knihovny. „Učili jsme se za pochodu. Problémy, na které jsme narazili, jsme museli vyřešit, protože nikdo jiný je vyřešit nemohl,“ vzpomíná Hamiltonová. „A věci musely obvykle fungovat hned napoprvé.“

Margaret Hamiltonová a (podle některých zdrojů údajně) zdrojový kód (cca 1969)

Hamiltonová byla obzvláště fascinována situacemi, které se vymykaly předvídanému scénáři. Říkala jim „neočekávaně neočekávané“ situace, na které podle ní musel být počítač přesto připraven.

Pro příklad nemusela chodit daleko. Její čtyřletá dcera, která s ní trávila víkendy v laboratořích NASA, jednou během testu programu pro Apollo 8 nedopatřením spustila program, který neměl být v tu chvíli spuštěn. Výsledkem byl pád systému. Hamiltonová si uvědomovala, že na podobnou chybu by měl být počítač připraven.

Ale u nadřízených s tímto požadavkem narazila. Vedení NASA si zkrátka nedokázalo představit, že vytrénovaní astronauti by udělali něco tak nesmyslného. Astronaut přece není čtyřleté děcko. A tak Apollo 8 odstartovalo bez této „subrutiny“, která by počítala s neočekávaným příkazem.

Jenže nešťastnou, nebo možná vlastně i šťastnou náhodou se právě toto stalo. V prosinci 1968 astronaut Jim Lovell omylem spustil program P01 v jinou chvíli, než měl být spuštěn. Tím vymazal veškerá navigační data z paměti počítače a zadělal tak na jeden z nejhorších problémů, který NASA musela během mise řešit. Počítač najednou neměl data pro navedení k přistání na Zemi.

Inženýři na Zemi, včetně Hamiltonové, podle vzpomínek Hamiltonové strávili devět nervy drásajících hodin studiem zdrojových kódů, aby astronautům poslali náhradní data. Vše nakonec dobře dopadlo a astronauti se vrátili živí a zdraví. Po tomto incidentu měla Hamiltonová svolení věnovat se své „oblíbené“ činnosti - přípravě na chyby, které se nedají předpovědět.

Zavařený počítač a katastrofa, která se nestala

Transkript komunikace Apollo 11 před přistáním

„Počítač nám hlásí poplach!“

„Číslo 1202! Co to znamená?“ ptal se Neil Armstrong, velitel lunárního modulu. Pouhé minuty před očekávaným přistáním Apolla 11 na měsíčním povrchu se objevil nečekaný zádrhel.

„Je to v jádru...“ doplnil po chvilce Ed Aldrin.

„Dejte nám informace o chybě číslo 1202,“ opakoval Neil Armstrong.

V tu chvíli astronauti netušili, že právě unikli velmi prekérní, možná životu nebezpečné situaci. Chyba 1202 znamenala, že je počítač přetížený. Kvůli chybě na jednom z desítek seznamů úkolů (checklist), které astronauti museli za letu pečlivě procházet, dostal počítač chybnou instrukci, aby se pokoušel navázat „setkávací“ spojení s velitelským modulem. Tato komunikace nebyla v daný moment pro lunární modul nijak užitečná, ale zahlcovala už tak plně vytížený procesor dalšími nadbytečnými úkoly.

Otázka priorit

Systém pro rozdělování priorit vyvinul Hal Laning, doktor matematiky z MIT. Pracoval na něm ještě před tím, než NASA spustila projekt Apollo. Laning nebyl v týmu, který pracoval na Apollu, ale systém rozdělování priorit, použitý v navigačním počítači Apolla 11, je mu často i tak připisován.

V dnešní době považujeme za běžné, že počítač zvládá více úloh zároveň, ale v té době byl multitasking žhavá novinka a programátoři se teprve učili, jak s úkoly ve frontě zacházet. Hamiltonová a její tým prosadili systém priorit (asynchronní spouštění) tak, aby v případě, kdy je procesor zahlcen, dostaly přednost úkoly s vysokou prioritou. V tomto případě úkoly nezbytné pro přistání. Počítač se tak ubránil „útoku přebytečných dat“ a posádku pouze upozornil, že nestíhá, a některé úkoly tedy nesplní.

„Počítač dělal více než jen identifikaci chyby,“ napsala později Hamiltonová. „Software v takovém okamžiku dokázal provést restart, zachovat důležité funkce a ignorovat funkce nedůležité. Kdyby software tuto situaci nerozpoznal jako chybu, pochybuji, že by se Apollu podařilo na Měsíci přistát.“

Hamiltonová odešla z NASA v sedmdesátých letech a založila firmu Higher Order Software, kde dále rozvíjela myšlenky prevence chyb a ošetření chyb v software. V roce 1986 odešla ze své firmy HOS a založila novou firmu, Hamilton Technologies, kterou řídí 79letá programátorka dodnes.

Margaret Hamiltonová (1989, oficiální foto NASA)

V roce 2003 byla Margaret Hamiltonová oceněna za svůj přínos organizaci NASA, mimo jiné jmenovitě právě za naprogramování systému priorit, které zachránily palubní počítač před přehlcením. „Byl jsem překvapen, když jsem zjistil, že jsme jí za to nikdy formálně nepoděkovali,“ uvedl tehdy Paul Curto, zástupce NASA pro technologie a inovace. „Její pojetí asynchronního softwaru, plánování priorit, důkladného testování a ošetřování chyb způsobených chybným zadáním se staly základem pro ultra-spolehlivý software.“

Aktualizace: Doplnili jsme informace o systému přidělování priorit. Doplnili jsme odkaz na současnou firmu Hamiltonové.

Autor:

80 let od atentátu na Heydricha

27. 5. 1942 provedli českoslovenští parašutisté atentát na zastupujícího říšského protektora na území Čech a Moravy Reinharda Heydricha.

  • Nejčtenější

Češi posílají na pomoc Ukrajině „ďáblův kočár“

Po pondělním zasedání Kontaktní skupiny pro Ukrajinu zazněla na tiskové konferenci několikrát informace, kterou...

V Charkově se skrývá tajemný supertank, příliš drahý pro sériovou výrobu

Válka na Ukrajině vstupuje do nové fáze. Rusové se po Kyjevu stahují i z okolí Charkova a chystají se zřejmě soustředit...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Ukrajinci dostali západní superhoufnice M777. Do akce šla i Bohdana

Ať už si dělostřelectvo v dávných dobách vysloužilo titul královny či krále bojiště, ukazuje se i v jednadvacátém...

Konec přetáčení reklam. Na televizi Prima je musíte přetrpět, nebo zaplatit

Od prvního června nebude možné přetáčet reklamy stanic TV Prima při odloženém zhlédnutí pořadů v IPTV a OTT službách....

České tanky pro Ukrajinu bojují u Mykolajivu. Máme fotky z fronty

Exkluzivně Česká republika před několika týdny začala na východ posílat ruční zbraně a munici a později i dělostřelectvo, tanky a...

V předdůchodu si odpočinu a pak se uvidí. Možnost, o které se moc neví

Premium Má do penze pět let a je v předdůchodu na tři roky. Na víc totiž nemá naspořeno. Že to nejde? Ale ano. Legislativa to...

Mami, ty se uzdravíš! Jana Vránová o synově cestě do NHL i boji s rakovinou

Premium Před sedmi lety si prožila peklo. Bojovala s rakovinou lymfatických uzlin a nevěděla, jak to synovi, hrajícímu tehdy...

Půst, občas večeře, čtyři kávy denně. Jak jíst podle výživového poradce Havlíčka

Premium Strava ovlivňuje nejen naši váhu či kondici, ale i náladu a zdravotní stav. Ostatně až dvě třetiny všech nemocí mají...

  • Další z rubriky

PODCAST: Do vesmíru zamíří družice z Česka. Ovládat ji budou z planetária

Letos se chystá do vesmíru již třetí malý satelit, který na oběžnou dráhu vyšle organizace z Česka. Tentokrát to je...

Vesmírná loď Starliner se vrátila na Zemi, na palubě byla jen figurína

Vesmírná loď Starliner od společnosti Boeing se vrátila na Zemi. Uvádí to zahraniční agentury s odkazem na přímý přenos...

{NADPIS reklamního článku dlouhý přes dva řádky}

{POPISEK reklamního článku, také dlouhý přes dva a možná dokonce až tři řádky, končící na tři tečky...}

Letos již potřetí letí do kosmu družice z Česka. Jejím cílem je vzdělávání

Ve středu večer odstartovala mise Transporter-5, jejímž cílem je dopravit na oběžnou dráhu několik malých i větších...

Pošlete své jméno kolem Měsíce. NASA nabízí letenky zdarma

Návrat lidí na Měsíc prostřednictvím mise Artemis je jeden z hlavních cílů NASA pro následující roky. Nyní běží testy...

Mrtvé moře ve vaně: Kosmetika, díky které využijete sílu soli a bahna
Mrtvé moře ve vaně: Kosmetika, díky které využijete sílu soli a bahna

V kosmetice Kawar najdete životadárné minerály z Mrtvého moře, které regenerují a zjemňují pleť. Sáhnout můžete po pleťové masce, krémech, ale i...

Muž s penisem na předloktí. Pěstoval si ho šest let pro transplantaci

Je to vlastně příběh protkaný smutkem, groteskní fyzickou modifikací, ale se šťastným koncem. A též s mnoha otázkami....

Část dětí dostane 5 000 Kč automaticky, zbytek bude žádat elektronicky

Rodiče, kteří na své potomky pobírají příspěvek na dítě, dostanou státní pětitisícovou pomoc automaticky. Ostatní budou...

Češi posílají na pomoc Ukrajině „ďáblův kočár“

Po pondělním zasedání Kontaktní skupiny pro Ukrajinu zazněla na tiskové konferenci několikrát informace, kterou...

V Charkově se skrývá tajemný supertank, příliš drahý pro sériovou výrobu

Válka na Ukrajině vstupuje do nové fáze. Rusové se po Kyjevu stahují i z okolí Charkova a chystají se zřejmě soustředit...

Zakladatel Microsoftu Bill Gates používá mobil, který byste nečekali

Miliardář a zakladatel Microsoftu Bill Gates se pochlubil tím, jaký aktuálně používá smartphone. Ačkoli Microsoft...