Mulheres Históricas: Margaret Hamilton criou o programa de voo da Apollo 11
Por Patricia Gnipper | •

O programa Apollo foi um conjunto de missões espaciais da NASA realizadas entre 1961 e 1972, cujo objetivo era levar o homem à Lua e, consequentemente, vencer a corrida espacial contra a então União Soviética. Apesar dos soviéticos terem levado o primeiro homem ao espaço, foram os norteamericanos que conseguiram levar o homem à Lua pela primeira vez. E isso somente foi possível graças ao trabalho de uma mulher chamada Margaret Hamilton, que criou o programa de voo da Apollo 11.
A Apollo 11 foi a missão que permitiu aos astronautas pisar, pela primeira vez, no solo lunar. Isso aconteceu em 20 de julho de 1969, e a missão eternizou os nomes de Neil Armstrong, Buzz Aldrin e Michael Collins – os astronautas que se tornaram celebridades após retornar à Terra. Contudo, por muito pouco o pouso no nosso satélite natural não chegou a ser abortado, mas foi justamente graças ao software desenvolvido por Hamilton e sua equipe que a missão obteve tal sucesso.
Mulher de exatas
A cientista da computação, engenheira de software e empresária Margaret Heafield Hamilton nasceu nos Estados Unidos em 1936. Formada na escola em 1954, estudou matemática na Universidade de Michigan, formando-se em 1958. Já a pós graduação foi feita em Meteorologia no Instituto de Tecnologia de Massachusetts (MIT) e, depois, Hamilton lecionou matemática e francês. Decidida a fazer uma nova pós graduação, dessa vez em matemática pura, escolheu a Universidade Brandeis para essa conquista, assumindo uma posição interina no MIT na sequência, onde foi chamada para desenvolver programas de predição climatológica em computadores pitorescos.
Nessa época, os primeiros programadores aprendiam a atividade botando a mão na massa, uma vez que cursos como ciência da computação e engenharia de software ainda não existiam como disciplinas. Então, entre 1961 e 1963, Hamilton desenvolveu softwares para um computador de intercepção do projeto SAGE, do MIT, com o objetivo de procurar por aeronaves “não amigáveis”. Nessa mesma época ela também escreveu um software para o Air Force Cambridge Research Laboratories (“Laboratórios de Pesquisa da Força Aérea de Cambridge”) – e essa experiência abriu as portas da NASA para a desenvolvedora.
Foi aí que Hamilton se juntou ao Laboratório Charles Stark Draper, no MIT, tornando-se diretora e supervisora de programação de software para os projetos Apollo e Skylap, da agência espacial dos EUA. Sua equipe ficou responsável pela criação e manutenção do software de orientação de bordo da Apollo – necessário para que a nave não somente viajasse ao redor da Lua, como também pousasse em sua superfície. O programa foi tão bem executado que suas variações puderam ser aproveitadas em várias outras missões, incluindo a Skylab, que foi a primeira estação espacial norteamericana, lançada em 1973.
Homem na lua graças a uma mulher
Sendo assim, podemos dizer que o homem somente conseguiu chegar à Lua graças a uma mulher. Isso porque quando faltavam apenas três minutos para o pouso no satélite natural da Terra, vários alarmes do módulo lunar começaram a tocar, e o computador ficou sobrecarregado com atividades do radar de aproximação. No entanto, a arquitetura robusta do software desenvolvido por Hamilton permitiu que o sistema continuasse funcionando ao priorizar as atividades essenciais, interrompendo as menos importantes, pois a desenvolvedora, que tinha escrito o código, sabia exatamente como ele seria capaz de ser manipulado emergencialmente para que a nave da Apollo 11 realizasse o pouso. E essa falha não foi da equipe de desenvolvimento: posteriormente, uma investigação mostrou que o problema aconteceu devido a um erro humano na lista de comandos a serem executados pelos astronautas.
O que aconteceu, com mais detalhes, foi o seguinte: o computador de navegação acionou esse alarme reportando o erro quando um módulo do programa acabou consumindo 20% da CPU, quando o sistema estaria rodando a 85% de sua capacidade. Então o oficial de orientação e o especialista de computação do controle da missão Apollo comandaram um reset do alarme, pensando que poderia ser algo aleatório, mas quando Armstrong e Aldrin obedeceram à ordem, outro alarme surgiu na sequência. Nesse momento, o grupo que comandava a missão tentou diversas alternativas para contornar o problema, até que decidiram enviar uma atualização para o radar do Módulo de Comando para que ele não fosse acionado. O problema foi que eles esqueceram de enviar a alteração nos procedimentos, e o botão que deveria ficar no modo manual acabou sendo deixado no automático.
Nesse contexto, o software tentou repetidamente ler os dados do radar e calcular a posição do módulo, mas, como os dados não batiam (pelo fato do radar estar desligado), ele repetia a operação, consumindo cada vez mais processamento e sobrecarregando os sistemas. Sem poder controlar a orientação, propulsão, consumo de combustível e outros fatores críticos, a Águia ficaria sem controle e o computador, travado em um “loop”, seria danificado. O resultado seria uma inevitável colisão, destruindo a nave Apollo 11 e seus integrantes. Foi nesse momento que Margaret e sua equipe conseguiram contornar o problema, garantindo a segurança dos astronautas e o sucesso da missão.
À época, Margaret Hamilton soltou uma declaração explicando exatamente o ocorrido:
“Devido a um erro na lista de comandos, o interruptor do radar de aproximação ficou na posição errada. Isso fez com que ele mandasse sinais errados para o computador. O resultado foi que o computador estava sendo requisitado a executar todas as suas funções normais para o pouso ao mesmo tempo que recebia uma carga extra de dados espúrios que usavam 15% do seu tempo. O computador (ou melhor, o software) foi inteligente o suficiente para reconhecer que estava sendo requisitado a executar mais tarefas do que devia. Então ele mandou um alarme, que queria dizer ao astronauta "Eu estou sobrecarregado com mais tarefas do que devia estar fazendo agora e vou manter só as tarefas mais importantes"... Na verdade, o computador foi programado para mais do que reconhecer condições de erro. Um conjunto completo de programas de recuperação estava incorporado no software. A ação do software, neste caso, foi eliminar tarefas de baixa prioridade e restabelecer as mais importantes ... Se o computador não tivesse reconhecido esse problema e se recuperado, duvido que a Apolo 11 tivesse pousado na lua com sucesso.”
Curiosidades sobre o código de Margaret
Além de absolutamete bem planejado e desenvolvido, o programa desenvolvido por Hamilton contava com um código-fonte recheado de piadas (algumas delas que só têm sentido ou graça para quem também é programador). E isso só foi difundido recentemente, quando o pesquisador de tecnologia Ron Burkey transcreveu cada uma das linhas do código a partir do material original, fornecendo o conteúdo a um ex-estagiário da NASA, que publicou tudo no GitHub como open source.
Por exemplo, nesse trecho do código vemos a linha “N_BABY_BURN-MASTER-IGNITION_ROUTINE.s”, fazendo referência ao bordão do DJ Magnificent Montague que, quando tocava os maiores hits do momento, soltava um “Burn, baby! Burn!” em alto e bom som. A frase acabou se tornando icônica durante os protestos de 1965 em Los Angeles, contra a morte de um jovem negro pela polícia local.
Depois do encerramento do Programa Apollo, em 1972, quando os estadunidenes e o restante do mundo já não estavam mais dando lá muita bola para a exploração lunar, Margaret co-fundou uma empresa chamada Higher Order Software, assumindo a função de CEO entre 1976 e 1984. Depois, acabou abrindo sua própria empresa, a Hamilton Technologies Inc., onde o princípio básico a ser seguido é: “não conserte, faça certo da primeira vez”.
Legado de respeito
Além de ter executado um papel crucial para que a NASA conseguisse levar o ser humano pela primeira vez à Lua (tendo sido também a estreia do homem em qualquer corpo celeste que não fosse a Terra), acredita-se que Margaret Hamilton tenha inventado o termo “engenharia de software” para definir sua área de atuação. Ela também foi uma das desenvolvedoras dos conceitos de computação paralela, priority scheduling, teste de sistema e capacidade de decisão com integração humana, tais como mostradores de prioridade – que se tornariam o fundamento do design de software utraconfiável.
Hamilton, que hoje tem 80 anos de idade, publicou ao longo de sua carreira mais de 130 artigos, atas e relatórios relacionados aos sessenta projetos e seis programas científicos dos quais participou. Pela importância de seu trabalho com a NASA, a agência espacial realizou um gesto inédito em 2003, quando deu à Hamilton o NASA Exceptional Space Act Award for Scientific and Technical Contribuitions – uma premiação concedida apenas a cientistas de alto gabarito –, juntamente com um prêmio de mais de 37 mil dólares. Essa foi a primeira (e única!) vez que a agência espacial dos EUA deu um prêmio em dinheiro para alguém.
Margaret Hamilton é uma mulher que conseguiu não somente trabalhar em um campo dominado por homens, como ainda se destacou nessa área. E nessa época, o software era considerado uma parte menos importante da computação do que o hardware e, talvez por isso, mulheres como ela foram aceitas na programação. Quando Neil Armstrong deu o primeiro passo na superfície da Lua, o astronauta soltou a famosa declaração de que aquele era “um pequeno passo para o homem; um salto gigantesco para a humanidade”. Mas o trabalho da engenheira de software acabou sendo, além de tudo, um gigantesco passo para as mulheres na computação.
Conheça também a história de outras mulheres históricas:
-
Ada Lovelace, a primeira programadora de todos os tempos
-
Grace Hopper, a "vovó do COBOL"
-
Hipácia de Alexandria, a primeira cientista
-
Irmã Mary Kenneth Keller, pioneira da ciência da computação
-
Marie Curie, que ganhou dois prêmios Nobel (em física e química)
-
Carol Shaw, a primeira desenvolvedora de games
-
Susan Kare e a revolução no design gráfico em computadores
-
Hedy Lamarr, inventora da base para a criação do Wi-Fi
-
Rosalind Franklin, a "mãe" do DNA
- Emmy Noether, figura importante na história da Matemática