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.
Aproximadamente às 16 horas do dia 20 de julho de 1969, a humanidade estava a apenas alguns minutos do pouso na superfície lunar. Mas antes que os astronautas iniciassem a descida final, um alarme de emergência disparou. Algo estava sobrecarregando o computador e ameaçando a aterrissagem. Aqui na Terra, Margaret Hamilton conteve a respiração.
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.
Ela liderou a equipe que desenvolveu o software pioneiro de voo, então sabia que aquela missão não poderia falhar. Mas aquela emergência inesperada em breve demonstraria que o software funcionava exatamente como planejado.
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.
Nascida 33 anos antes, em Paoli, Indiana, Hamilton sempre tinha sido curiosa. Na faculdade, ela estudou matemática e filosofia, antes de assumir um posto de pesquisadora no Instituto de Tecnologia de Massachusetts, para pagar pela pós-graduação. Lá, ela teve contato com o seu primeiro computador enquanto desenvolvia um software para a pesquisa
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.
no novo campo da teoria do caos. Depois, no Laboratório Lincoln do MIT, Hamilton desenvolveu software para o primeiro sistema de defesa antiaérea dos EUA, para detectar aeronaves inimigas. Mas quando ela soube que o renomado engenheiro Charles Draper estava à procura de ajuda para enviar o homem à Lua,
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.
ela se juntou à equipe dele imediatamente. A NASA esperava que Draper e sua equipe de mais de 400 engenheiros inventassem o primeiro computador digital de bordo compacto, o "Apollo Guidance Computer", ou AGC. Usando a informação dos astronautas, esse dispositivo seria responsável por guiar, navegar e controlar a aeronave. Em uma época em que computadores pouco confiáveis ocupavam salas inteiras, o AGC precisava operar sem erros e caber num espaço de 0,03 metros cúbicos. Draper dividiu o laboratório em duas equipes:
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.
uma projetaria o hardware, e a outra, o software. Hamilton liderou a equipe que criou o software de voo de bordo para os módulos de comando e lunar. Esse trabalho, que deu origem ao termo "engenharia de software", envolvia muitos riscos. Vidas humanas estavam em jogo, então cada programa tinha que ser perfeito. O software de Margaret precisava detectar rapidamente erros inesperados e solucioná-los em tempo real.
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.
Mas esse tipo de programa adaptável era muito difícil de desenvolver, já que os primeiros softwares só processavam trabalhos em ordem pré-determinada. Para solucionar o problema, Margaret desenvolveu o programa de modo que fosse "assíncrono", ou seja, os trabalhos mais importantes do software interromperiam os menos importantes. A equipe dela designou uma única propriedade para cada tarefa, para garantir que cada trabalho ocorresse na ordem e tempo corretos, independentemente de quaisquer surpresas.
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.
Depois desse progresso, Margaret percebeu que o software poderia ajudar os astronautas a trabalhar em um ambiente assíncrono também. Ela criou o "Priority Displays", que interromperia as tarefas programadas dos astronautas para alertá-los das emergências. Então, o astronauta se comunicaria com o controle da missão para determinar o próximo passo. Essa foi a primeira comunicação entre um software de voo e um piloto, de modo direto e assíncrono.
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.
Foram esses mecanismos de segurança que acionaram os alarmes antes da aterrissagem na Lua. Buzz Aldrin rapidamente percebeu seu erro: sem querer, ele havia acionado o radar "rendez-vous", que seria essencial para a volta à Terra, mas usaria recursos computacionais vitais. Felizmente, o Apollo Guidance Computer estava bem equipado para resolver isso. Durante a sobrecarga, os programas de reinicialização de software permitiram o processamento apenas dos trabalhos prioritários, incluindo os programas necessários para a aterrissagem. O Priority Displays proporcionou uma escolha aos astronautas: aterrissar ou não aterrissar.
The Apollo 11 landing was about the astronauts, Mission Control,
Com minutos de sobra, a missão de controle deu a ordem.
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.
O pouso da Apollo 11 envolveu os astronautas, o controle da missão, software e hardware, todos trabalhando juntos, como sistemas integrados. As contribuições de Hamilton foram essenciais ao trabalho dos engenheiros e cientistas, inspirados pela meta do presidente John F. Kennedy de chegar à Lua. E o trabalho vital que ela realizou foi muito além da Apollo 11: nunca foi encontrado um bug no software de voo,
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.
em nenhuma das missões tripuladas da Apollo. Depois de seu trabalho na Apollo, Hamilton fundou uma empresa que usa essa linguagem de sistemas universal única para criar inovações para sistemas e softwares. Em 2003, a NASA concedeu aos feitos de Margaret o maior prêmio financeiro que jamais haviam dado a alguém. E 47 anos depois que seu software guiou os astronautas até a Lua, Hamilton recebeu o prêmio "Medalha Presidencial da Liberdade",