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.
Oko otprilike četiri sata popodne 20. jula 1969. godine, čovenčanstvo je bilo samo nekoliko minuta od sletanja na površinu Meseca. Ali pre nego što su astronauti započeli spuštanje, alarm upozorenja se upalio. Nešto je preopterećivalo računar, i pretilo da se misija obustavi.
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.
Nazad na Zemlji, Margaret Hamilton držala je dah. Vodila je tim koji je prvi razvio softver koji radi tokom letenja, znala je da ne sme da se desi nijedna greška. Ali ovo upozorenje koje se desilo u poslednjoj sekundi je dokazalo da je njen softver radio baš onako kako je isplanirano.
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.
Rođena 33 godine ranije u Paoli, Indijani, Hamiltonova je oduvek bila radoznala. Na fakultetu je studirala matematiku i filozofiju, pre nego što je prihvatila poziciju istraživača na MIT-ju kako bi platila postdiplomske studije. Tamo se susrela sa prvim računarom dok je razvijala softver koji bi dao potporu istaživanju nove oblasti teorije haosa.
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.
Potom u Linkoln laboratoriji na MIT-ju Hamiltonova je razvila softver za prvi američki sistem protivvazdušne odbrane kako bi tragali za neprijateljskim letelicama. Ali kad je čula da je poznati inženjer Čarls Drejper tražio pomoć kako bi poslao čovečanstvo na Mesec, odmah se pridružila timu.
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 je polagala nadu u Drejpera i njegovu grupu od oko 400 inženjera da izumeju prvi digitalni, leteći kompaktni računar, Apolo Računar za Navođenje. Koristeći ulazne informacije od astronauta, ovaj uređaj je bio odgovoran za navođenje, upravljanje i kontrolu svemirske letelice. U trenutku kada su nepouzdani računari ispunjavali cele prostorije, ARN je trebalo da funkcioniše bez greške, i da stane u 0,02 metara kubnih.
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.
Drejper je podelio laboratoriju u dva tima, jedan bi dizajnirao hardver, a drugi bi razvijao softver. Hamiltonova je vodila tim koji je pravio softver koji bi radio tokom letenja i za komandni i za lunarni modul. Ovaj posao, za koji je skovala izraz „softversko inženjerstvo” je bio neverovatno riskantan. Ljudski životi su bili u opasnosti, pa su svi programi morali biti savšeni. Margaretin softver je trebalo da brzo detektuje neočekivane greške i da se oporavi od njih u realnom vremenu.
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.
Ali ovakvu vrstu adaptivnog programa je bilo teško smisliti, pošto su rani softveri mogli samo da procesuiraju radnje u predodređenom redu. Kako bi rešila ovaj problem, Margaret je dizajnirala svoj program da bude asinhron, što znači da bi važnije radnje prekinule one koje su manje važne. Njen tim je dodelio svakom zadatku jedinsveni prioritet kako bi osigurali da se svaka radnja desi po pravilnom redu i u pravom trenutku, bez obzira na bilo kakva iznenađenja.
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.
Nakon ovog otkrića, Margaret je shvatila da njen softver može pomoći astronautima da rade u asinhronom okruženju. Dizajnirala je ekrane prioriteta koji bi prekinuli redovne planirane zadatke astronauta kako bi ih upozorili o hitnim stanjima. Astronauti su mogli da komuniciraju sa Centrom za kontrolu misije (CKM) kako bi se odlučili za najbolji put. Ovo je označeno kao prvi put da softver za let komunicira direktno i asinhrono sa pilotom.
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.
Upravo ove sigurnosne mere su pokrenule alarme tik pred sletanje na mesec. Baz Oldrin je brzo shvatio svoju grešku, on je slučajno stisnuo prekidač za radar. Ovaj radar je bio esencijalan za njihov povratak kući, ali ovde je koristio bitne računarske resurse. Na sreću, Apolo Računar za Navođenje bio je dobro opremljen da rešio ovo. Tokom preopterećenja, softver restartuje programe dozvoljavajući samo radnjama visokog prioriteta da budu procesuirane, uključujući programe neophodne za sletanje. Ekrani prioriteta su dali izbor astronautima, sleteti ili ne sleteti. U roku od nekoliko minuta, CKM je dao naređenje.
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.
Sletanje letelice Apolo 11 se desilo zahvaljujući astronautima, kontroli misije, softvera i hardvera koji su radili zajedno kao jedan. Doprinosi Hamiltonove su bili presudni za rad inženjera i naučnika koje je inspirisao cilj predsednika Džona F. Kenedija da dosegnu do Meseca. Njen spasilački rad je daleko dogurao - nikad nije bila nađena greška u softveru bilo koje posade Apolo misija.
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.
Nakon njenog rada na Apolu, Hamiltonova je osnovala kompaniju koja koristi univerzalni jezik sistema kako bi stvorili napretke za sisteme i softver. Godine 2003. NASA je počastvovala njena dostignuća najvećom finansijskom nagradom koju su ikad dali individui. I 47 godina nakon što je njen softver prvi put vodio astronaute na Mesec, Hamiltonova je nagrađena predsedničkom medaljom slobode zbog menjanja načina na koji mislimo o tehnologiji.