At roughly 4pm on July 20, 1969, mankind was just minutes away from landing on the surface of the moon. But before the astronauts began their final descent, an emergency alarm lit up. Something was overloading the computer, and threatened to abort the landing.
1969. július 20-án délután négy óra körül az emberiség pár percre volt a holdra szállástól. Mielőtt azonban az űrhajósok megkezdték a végső ereszkedést, vészjelzés érkezett. Valami túlterhelte a fedélzeti számítógépet, és veszélyeztette a landolást.
Back on Earth, Margaret Hamilton held her breath. She'd led the team developing the pioneering in-flight software, so she knew this mission had no room for error. But the nature of this last-second emergency would soon prove her software was working exactly as planned.
A Földön Margaret Hamilton lélegzet-visszafojtva figyelt. Az ő vezetésével fejlesztették ki az úttörő jelentőségű fedélzeti szoftvert. Tudta, hogy a küldetésben nincs helye hibának. Az utolsó pillanatban fellépő vészhelyzet kezelése azonban bizonyította, hogy szoftvere pontosan úgy működik, ahogy megtervezte.
Born 33 years earlier in Paoli, Indiana, Hamilton had always been inquisitive. In college, she studied mathematics and philosophy, before taking a research position at the Massachusetts Institute of Technology to pay for grad school. Here, she encountered her first computer while developing software to support research into the new field of chaos theory.
Hamilton 1936-ban Paoliban, Indianában született. Mindig is kíváncsi típus volt. Az egyetemen matematikát és filozófiát tanult, majd kutató lett az MIT-n, hogy fizetni tudja a mesterképzését. Itt találkozott először számítógéppel, amikor a kialakulóban lévő káoszelmélet kutatását támogató szoftveren dolgozott.
Next at MIT's Lincoln Laboratory, Hamilton developed software for America’s first air defense system to search for enemy aircraft. But when she heard that renowned engineer Charles Draper was looking for help sending mankind to the moon, she immediately joined his team.
Ezt követően az MIT Lincoln Laboratóriumában szoftvert fejlesztett ki ellenséges repülőgépek felderítésére az amerikai légvédelem megteremtése érdekében. Amikor azonban tudomására jutott, hogy a kiváló mérnök, Charles Draper segítséget toboroz a holdra szállás programjához, azonnal bekapcsolódott a munkába.
NASA looked to Draper and his group of over 400 engineers to invent the first compact digital flight computer, the Apollo Guidance Computer. Using input from astronauts, this device would be responsible for guiding, navigating and controlling the spacecraft. At a time when unreliable computers filled entire rooms, the AGC needed to operate without any errors, and fit in one cubic foot of space.
A NASA arra kérte fel Drapert és 400 mérnökből álló csapatát, hogy alkossák meg az első digitális repülésvezérlő számítógépet, az "Apollo Guidance Computer"-t. Az eszköz feladata az volt, hogy a pilótáktól kapott adatok alapján vezérelje, navigálja és felügyelje az űrhajót. Akkoriban a számítógépek megbízhatatlanok és teremnagyságúak voltak. Az Apollo vezérlőjének azonban hibátlanul kellett működnie, alig 0,1 négyzetméternyi helyen.
Draper divided the lab into two teams, one for designing hardware and one for developing software. Hamilton led the team that built the on-board flight software for both the Command and Lunar Modules. This work, for which she coined the term “software engineering," was incredibly high stakes. Human lives were on the line, so every program had to be perfect. Margaret’s software needed to quickly detect unexpected errors and recover from them in real time.
Draper két csapatot hozott létre: az egyik a hardvert, a másik a szoftvert készítette. Hamilton csapata a fedélzeti repülésvezérlő szoftvert fejlesztette ki mind a parancsnoki, mind a leszálló egység számára. Ennek a munkának, melyre Hamilton megalkotta a "szoftvermérnök" kifejezést, hihetetlenül nagy tétje volt. Emberi életek múltak azon, hogy minden program tökéletesen működik-e. Margaret szoftverének gyorsan kellett észlelnie a váratlan hibákat, és valós időben kellett helyreállítania a működést.
But this kind of adaptable program was difficult to build, since early software could only process jobs in a predetermined order. To solve this problem, Margaret designed her program to be “asynchronous,” meaning the software's more important jobs would interrupt less important ones. Her team assigned every task a unique priority to ensure that each job occurred in the correct order and at the right time— regardless of any surprises.
Nehéz volt azonban ilyen rugalmas programot írni, mivel a korai szoftverek csak előre meghatározott sorrendben tudták elvégezni a feladatokat. E probléma megoldása céljából Margaret úgy írta meg a programot, hogy "aszinkrón" legyen, vagyis hogy a szoftver fontosabb feladatai félbeszakítsák a kevésbé fontosakat. Csapata minden feladathoz egyedi prioritást rendelt, hogy minden feladat elvégzése a megfelelő sorrendben és a megfelelő időben történjen – függetlenül a váratlan fejleményektől.
After this breakthrough, Margaret realized her software could help the astronauts work in an asynchronous environment as well. She designed Priority Displays that would interrupt astronaut’s regularly scheduled tasks to warn them of emergencies. The astronaut could then communicate with Mission Control to determine the best path forward. This marked the first time flight software communicated directly— and asynchronously— with a pilot.
Ez áttörést hozott, és Margaret rájött, hogy szoftvere aszinkrón módon is segítheti az űrhajósok munkáját. Megtervezte a prioritásjelzőt, amely félbeszakítja az űrhajósok szokásos feladatait, ha vészhelyzetre kell figyelmeztetnie. Az űrhajósok ekkor egyeztetnek a földi irányítóközponttal, hogy mi a legcélszerűbb megoldás. Ez volt az első olyan repülésvezérlő szoftver, mely közvetlen és aszinkrón kommunikációt egyaránt lehetővé tett a pilótával.
It was these fail safes that triggered the alarms just before the lunar landing. Buzz Aldrin quickly realized his mistake— he’d inadvertently flipped the rendezvous radar switch. This radar would be essential on their journey home, but here it was using up vital computational resources. Fortunately, the Apollo Guidance Computer was well equipped to manage this. During the overload, the software restart programs allowed only the highest priority jobs to be processed— including the programs necessary for landing. The Priority Displays gave the astronauts a choice— to land or not to land. With minutes to spare, Mission Control gave the order.
Ennek köszönhető, hogy vészjelzés érkezett közvetlenül a holdra szállás előtt. Buzz Aldrin gyorsan rádöbbent a hibájára – véletlenül bekapcsolta a randevúradart, amelynek a hazatérésben volt fontos szerepe, de a hiba miatt folyamatosan használta a számítógép értékes erőforrásait. Szerencsére az Apollo Guidance Computer alkalmas volt a probléma kezelésére. Túlterhelés esetén a szoftver csak azokat a programokat engedélyezte, amelyek a legfontosabb feladatokat végzik, például a landoláshoz szükségesek. A prioritásjelző felkínálta a pilótáknak a választási lehetőséget, hogy leszálljanak-e vagy sem. Az utasítás szinte az utolsó pillanatban érkezett meg a földi irányítástól.
The Apollo 11 landing was about the astronauts, Mission Control, software and hardware all working together as an integrated system of systems. Hamilton’s contributions were essential to the work of engineers and scientists inspired by President John F. Kennedy’s goal to reach the Moon. And her life-saving work went far beyond Apollo 11— no bugs were ever found in the in-flight software for any crewed Apollo missions.
Az Apollo-11 holdexpedíciója az űrhajósok, a földi irányítás, a szoftver és a hardver integrált rendszerként való együttműködésére épült. Hamilton felbecsülhetetlen módon járult hozzá a mérnökök és tudósok munkájához, akik lelkesen dolgoztak Kennedy elnök célján, hogy ember lépjen a Holdra. Hamilton életmentő munkája jóval túlmutatott az Apollo-11-en. Az emberes Apollo-küldetések számára írt szoftvere soha nem tartalmazott hibát.
After her work on Apollo, Hamilton founded a company that uses its unique universal systems language to create breakthroughs for systems and software. In 2003, NASA honored her achievements with the largest financial award they’d ever given to an individual. And 47 years after her software first guided astronauts to the moon, Hamilton was awarded the Presidential Medal of Freedom for changing the way we think about technology.
Az Apollo-programban végzett munkája után céget alapított, amely az általa kidolgozott modellező nyelv segítségével áttörést ért el a rendszer- és szoftverfejlesztés területén. 2003-ban a NASA az eddigi legnagyobb pénzjutalommal ismerte el teljesítményét az egyének jutalmazásának történetében. És 47 évvel azután, hogy szoftvere először navigált űrhajósokat a Holdra, Hamilton megkapta az Elnöki Szabadság Érdemrendet, amiért forradalmasította a technológiáról való gondolkodásunkat.