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.
20 lipca 1969 roku około 16:00 od wylądowania na Księżycu dzieliły nas minuty. Zanim astronauci rozpoczęli ostatni etap lotu, rozległ się alarm. Coś przeciążało komputer, grożąc przerwaniem lądowania.
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.
Na Ziemi Margaret Hamilton wstrzymała oddech. Kierowała zespołem tworzącym prekursorskie oprogramowanie lotu i wiedziała, że w tej misji nie ma miejsca na błąd. Ale rodzaj alarmu wywołanego w ostatniej chwili wkrótce dowiódł, że wszystko działa tak, jak powinno.
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.
33-letnia Hamilton z Paoli w stanie Indiana od zawsze była dociekliwa. Studiowała matematykę i filozofię, po czym objęła stanowisko badawcze w Massachusetts Institute of Technology, żeby opłacić studia doktoranckie. Tam po raz pierwszy zetknęła się z komputerem, opracowując oprogramowanie wspierające badania w nowej dziedzinie teorii chaosu.
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.
W MIT Lincoln Laboratory stworzyła oprogramowanie dla pierwszego amerykańskiego systemu obrony powietrznej wyszukującego wrogie samoloty. Kiedy dowiedziała się, że słynny inżynier Charles Draper szuka pomocy w wysłaniu ludzi na Księżyc, bez wahania dołączyła do jego zespołu.
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.
NASA zwróciła się do Drapera i jego zespołu 400 inżynierów, żeby stworzyli pierwszy kompaktowy cyfrowy komputer pokładowy, komputer nawigacyjny Apollo. Stworzone na podstawie opinii astronautów urządzenie odpowiadało za kierowanie, nawigację i kontrolę statku kosmicznego. W czasach, kiedy zawodne komputery zajmowały całe pomieszczenia, ten musiał działać bezbłędnie i mieścić się w małym pudełku.
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 podzielił ludzi na dwa zespoły. Pierwszy miał zaprojektować sprzęt, a drugi stworzyć oprogramowanie. Hamilton kierowała zespołem tworzącym pokładowe oprogramowanie lotu dla modułów dowodzenia i księżycowego. Praca, którą nazwała "inżynierią programowania", była grą o dużą stawkę. Chodziło o życie załogi, więc każdy program musiał być idealny. Oprogramowanie Margaret musiało szybko wykryć nieoczekiwane błędy i rozwiązać je w czasie rzeczywistym.
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.
Ale taki program było trudno napisać. Wczesne oprogramowanie przetwarzało zadania w ustalonej z góry kolejności. Żeby rozwiązać problem, Margaret zaprojektowała program "asynchroniczny", czyli ważniejsze zadania "przerywały" mniej ważne. Jej zespół nadał każdemu z zadań wyjątkowy priorytet, żeby wszystko zostało wykonane we właściwej kolejności i we właściwym czasie niezależnie od niespodzianek.
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.
Po tym przełomie Margaret zrozumiała, że jej oprogramowanie może ułatwić astronautom pracę w asynchronicznym środowisku. Zaprojektowała priorytetowe wyświetlacze, które przerywały zaplanowane zadania astronautów, żeby ostrzec ich o sytuacjach awaryjnych. Astronauci kontaktowali się wtedy z centrum kontroli lotów, żeby określić najlepszą ścieżkę działania. Po raz pierwszy oprogramowanie lotu kontaktowało się bezpośrednio i asynchronicznie z pilotem.
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.
To te zabezpieczenia uruchomiły alarmy tuż przed lądowaniem na Księżycu. Buzz Aldrin szybko zrozumiał swój błąd. Niechcący nacisnął włącznik radaru zbliżeniowego. Radar był niezbędny do powrotu do domu, ale w tamtym momencie zużywał cenne zasoby komputera. Na szczęście komputer AGC był na to gotowy. Podczas przeciążenia oprogramowanie restartuje programy i zezwala tylko na przetwarzanie zadań o najwyższym priorytecie, w tym programy niezbędne do lądowania. Priorytetowe wyświetlacze dały astronautom wybór, lądować albo nie lądować. Mając tylko kilka cennych minut, centrum kontroli lotów wydało rozkaz.
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.
Lądowanie Apollo 11 to zasługa astronautów, centrum kontroli, sprzętu i oprogramowania współpracujących jako zintegrowany system. Wkład Hamilton był kluczowy w pracy inżynierów i naukowców zainspirowanych celem prezydenta Kennedy'ego, żeby wylądować na księżycu. Jej ratująca życie praca wykraczała poza Apollo 11. Nigdy nie znaleziono błędu w którymkolwiek oprogramowaniu załogowych misji Apollo.
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.
Po zakończeniu projektu Hamilton założyła firmę korzystającą z wyjątkowego języka uniwersalnego do wprowadzania innowacji w systemach i oprogramowaniach. W 2003 roku NASA uhonorowała jej osiągnięcia najwyższą w historii nagrodą finansową dla pojedynczej osoby. 47 lat po tym, jak jej oprogramowanie pozwoliło wylądować na Księżycu, Hamilton otrzymała Prezydencki Medal Wolności za zmianę sposobu myślenia o technologii.