Bioinformatics University

Un software que ens va portar fins a la Lluna

En l’aniversari de l’arribada a la Lluna, analitzem com va ser possible aquella fita històrica

  • Lluís Gesa, July 16th, 19
  • 5 mins reading time
Petjada de l'astronauta Buzz Aldrin sobre la Lluna
Petjada de l'astronauta Buzz Aldrin que va quedar marcada sobre la superfície de la Lluna. / Foto: Shutterstock

21 de juliol de 1969, 2:56 hora internacional UTC, 22:56 hora a Houston. Neil Armstrong trepitja la Lluna i es converteix així en el primer ésser humà que camina per aquest astre que ens acompanya en el nostre viatge per l’univers. Fa ara 50 anys, estem de celebració!

Tot va començar uns anys abans, al 1962, quan el president dels EUA John F. Kennedy, en un d’aquests actes de política propagandística, es va omplir la boca de patriotisme i va dir aquella famosa frase de “We choose to go to the Moon”, posant entre les cordes a tots els científics i enginyers del programa Apol·lo que van veure amb estupor com el seu president, sense consultar-los, es comprometia a una proesa impossible. Passats molts mesos, després de tenses reunions de molt caràcter polític i poc tècnic, molts acomiadaments i renúncies, finalment es decidí el que pocs saben: començar a treballar en paral·lel amb Stanley Kubrick, que per aquella època ja començava a gestar 2001, una Odisea en l’espai. Si els llança-coets fracassaven, la màgia del cinema faria la resta. 

Amb l’excusa de rodar la pel·lícula (estrenada a l’abril del 1968, un any i poc abans de l’arribada de Neil Armstrong a la Lluna), la inversió pública que va rebre Kubrick per fer la seva peli de l’espai va ser important, així que en va poder fer dos, la del 1968 amb ben pocs espectadors i la del 1969 que va veure tot el món.  

Per estrambòtic que sembli, aquesta història al voltant de Kubric i el primer viatge a la Lluna  ha fet que, avui en dia, encara siguin molts que defensen la idea que tot va ser fals, que allò de la petjada i la bandereta era un plató i que es va enganyar a tot el món. Veritat? Mentida? 

En aquella època, el món vivia l’anomenada Guerra Freda, la competició entre occident i orient, capitanejada pels EUA i l’URSS a cada bloc. És cert que el discurs de JFK va encaixar dins aquesta guerra, però si hagués estat tot fals, l’URSS hauria estat la primera a desmontar l’engany. Recordem que l’URSS va ser la primera a conquerir l’espai amb el seu Sputnik uns anys abans. No haurien callat i, si ho van fer, per alguna cosa seria.

Per internet volten centenars de webs, articles, videos intentant fer creure que tot era un muntatge, pero la realitat és que totes i cadascuna de les proves o elements que destaquen els conspiranoics per desmentir el viatge (des de com és que la petjada es va mantenir intacte si és sorra fina i no hi aigua a la superfície lunar; l’absència d’estels a les fotos; la bandera que es mou sense vent; ombres estranyes al terra…) tot té una explicació científica. Us recomano veure el capítol dedicat a aquest tema de “Los cazadores de mitos”, hi trobareu l’explicació científica a tot plegat.

Com per exemple, diuen que no es pot deixar una petjada en una sorra seca sense gens d’aigua, potser perquè no saben que en falta d’atmosfera, d’aire que exerceixi una força sobre els grans de sorra, aquests no tenen perquè perdre la forma, a la Lluna la sorra no es comporta com a la superficie de la Terra. Perquè no hi ha estrelles a les fotos? Potser perquè les càmeres d’aquell moment no eren tan bones com les actuals, a part que la superfície de la Lluna reflexa molt la llum solar fent que les càmeres tinguessin temps d’exposició baixos i no arribaven a percebre la llum dels estels. I parlant de llums, com és que les ombres semblen les causades per focus a poca distància, ombres super clares i definides? Doncs bé, altra cop l’absència d’atmosfera, la posició del sol, la composició del terra lunar poden donar l’explicació.

Tot allò va ser una proesa des de molts punts de vista: indiscutiblement tecnològic, però també humà. No només per tenir el valor de ficar-se dins un coet i anar cap a la Lluna, sinó saber que estàs fent quelcom que, si res falla, pot fer que algú es quedi penjat a gairebé 400.000 quilòmetres de la Terra.

Margaret Hamilton, enginyera de software, amb el codi escrit a mà que va portar l’ésser humà a la Lluna.

I parlant de tecnologia, el terme “enginyeria de software” es va formular precisament mentre es realitzava el software que havia de controlar el sistema de guiatge del mòdul lunar (AGC en l’acrònim en anglès). S’hi va referir així la persona encarregada de l’equip que va desenvolupar el software en qüestió, estem parlant de Margaret Hamilton. En entrevistes posteriors, ella explica que va començar a dir-li així per donar-li la importància que cal a aquesta disciplina: no és gens fàcil fer software per quelcom nou, que ha de funcionar a milers de quilòmetres de distància del planeta sabent que un error pot causar una desgràcia. És considerada la primera enginyera de software, ja que va haver de pensar, analitzar i disenyar amb uns formalismes robustos, el primer cop que es feia, com havia de ser el software que funcionés sobre el hardware que s’estava construint. No va estar sola, clar, treballava al MIT amb un gran equip de professionals. 

Aquest sistema de guiatge era l’ordinador que proporcionava els càlculs necessaris per la navegació i orientació del mòdul que va quedar orbitant i del mòdul que va aterrar. Cadascun tenia el seu propi ordinador. Un aparell de poc més de 4Mhz de velocitat, 4KB de memòria i 72Kb de programa. (Programa guardat directament conectant cables per indicar un 1 o un 0)

El que havia de fer el software era, entre d’altres coses, controlar les alarmes (tota una sèrie de sensors avisaven si alguna cosa anava malament), saber quina orientació tenia la nau, controlar-la, en resum, fer de pilot automàtic: controlar aspectes de velocitat i maniobres. El més important és que mai abans s’havia fet un software que fes tot això. I es van establir tot de procediments que avui en dia encara són vigents en certs sectors (com l’espacial): fer reunions crucials de seguiment, molta documentació, molts tests i verificar-ho tot per diverses persones. 

Es va programar tot en el llenguatge de mes baix nivell que coneix un ordinador, l’anomenat codi ensamblador. En ell s’executava un sistema operatiu anomenat Exec (creat per J. Halcombe Laning). Aquest sistema operatiu permetia tenir una cua de coses a fer, ordenades per prioritats, i les anava executant. El mòdul d’aterratge podia executar 8 tasques en paral·lel i el mòdul orbital 7. Tot això sense intervenció humana, tot i que s’havia de permetre que si era necessari, n’agafés el control un astronauta i les seves ordres passessin a ser les de màxima prioritat. Com que part de les tasques eren molts complexes (càlcul matricial per la trigonometria de càlcul d’òrbites, per  exemple), es va acabant crear el concepte de màquina virtual, es va implementar codi que era capaç de processar codi de més alt nivell. I per mostrar el volum de tot plegat: 1440 persones van estar implicades en algún moment o altre en el projecte, amb pics de 350 persones treballant al mateix moment. 

I finalment tot va anar molt bé. Tot el procés va assegurar que s’implementés un software molt robust, fiable i que no va tenir cap error. Error de software, en el sentit estricte, no n’hi va haver cap. Però la missió va tenir alguns problemes relacionats amb l’ús d’aquest ordinador: l’anomenat error 1202 va saltar alguns cops i aquest error indicava que el sistema havia saturat la capacitat d’executar 8 tasques en paral·lel. No obstant, com tot estava ben pensat, el sistema guardava la informació important i en menys de 2 segons reiniciava alliberant recursos. També va fallar l’equivalent a la màquina virtual que sols podia fer 5 coses a la vegada i en una ocasió va saturar-se, però sense cap implicació negativa.

Per cert, si teniu curiositat, aquí teniu aquest software que va portar l’ésser humà a la Lluna. I si us voleu construir un AGC a casa, passeu per aquí.

We also recommend you