Margaret Hamilton morreu aos 90 anos, após uma carreira ligada ao desenvolvimento do software de orientação a bordo das espaçonaves do programa Apollo da NASA e à criação do termo «engenharia de software». Hamilton liderou equipes que desenvolveram o software usado em seis missões de pouso na Lua entre 1969 e 1972 e, posteriormente, recebeu a Medalha Presidencial da Liberdade dos Estados Unidos em 2016.
Código que lidou com uma carga computacional crítica
A principal contribuição de Hamilton foi o projeto de um mecanismo de segurança integrado ao software do sistema de orientação. O sistema foi projetado para distinguir entre tarefas essenciais e secundárias quando o computador da espaçonave recebesse comandos que excediam sua capacidade de processamento em tempo real. Assim, cancelava as tarefas de menor prioridade e reiniciava os processos necessários à missão, emitindo um alerta para avisar os astronautas.
O efeito desse projeto ficou evidente durante o pouso do módulo lunar «Eagle» na missão Apollo 11, em 1969. Quando Buzz Aldrin inseriu comandos para exibir a altitude e outros dados, o computador começou a emitir alertas por causa da sobrecarga. No entanto, o mecanismo de segurança manteve as tarefas necessárias ao pouso, permitindo que a espaçonave chegasse com segurança ao Mar da Tranquilidade, em vez de abortar o pouso.
Da simulação meteorológica à Apollo
Hamilton iniciou sua carreira depois de se formar em matemática pelo Earlham College, em 1958. Ela trabalhou com o matemático Edward Lorenz, do Instituto de Tecnologia de Massachusetts, e programou o computador LGP-30 usado em simulações meteorológicas, antes de se transferir, em 1961, para o projeto SAGE no MIT, onde escreveu software para ajudar a Força Aérea dos Estados Unidos a procurar possíveis aeronaves inimigas.
Durante seu trabalho no SAGE e nas pesquisas da Apollo, Hamilton se concentrou na confiabilidade do software e na prevenção de erros. Um exemplo disso foi o que mais tarde ficou conhecido como «erro de Lorenz», quando a inserção de uma sequência de lançamento pré-programada no simulador da missão causou a falha do sistema. Hamilton pediu a inclusão de uma proteção para impedir esse tipo de erro, e uma entrada semelhante ocorreu de fato durante a missão Apollo 8, exigindo a recuperação dos dados de navegação.
Um legado que vai além do programa Apollo
Após o fim do programa Apollo, Hamilton continuou trabalhando na prevenção de erros e na tolerância a falhas. Em 1976, fundou a empresa Higher Order Software; depois, deixou a empresa em 1985 para fundar a Hamilton Technologies, cujo principal produto era a Universal Systems Language, voltada ao desenvolvimento de sistemas de software complexos, priorizando a prevenção de erros e a programação defensiva.
O software da Apollo que ela ajudou a desenvolver foi adicionado ao GitHub em 2015. O Google também a homenageou em 2019 com uma imagem gigantesca criada por mais de 100 mil espelhos em uma fazenda de painéis solares no deserto de Mojave.
Por que esta notícia é importante?
A importância do legado de Hamilton não está apenas no fato de seu código ter feito parte de uma conquista histórica, mas também em mostrar que a confiabilidade começa no projeto do sistema, antes que uma falha ocorra. O software não impediu a sobrecarga do computador, mas determinou o que deveria ser sacrificado e o que deveria ser preservado, transformando uma situação que poderia ameaçar a missão em um procedimento de recuperação organizado. Essa ideia continua sendo fundamental em sistemas cujas condições de operação não permitem falhas nem novas tentativas com facilidade.