El legado del Apolo 11

El legado del Apolo 11
Prof. Alexandre Bergel.
Prof. Alexandre Bergel.
Apolo 11.
Apolo 11.

La misión Apolo 11 fue un evento extraordinario por varias razones. Uno de los aspectos más importantes, fue el rol que tuvieron las mujeres en esta aventura. Por ejemplo, la cápsula lunar tenía un computador de vuelo que fue central para ejecutar la misión, ya que permitió realizar la navegación y el pilotaje automático. Y como cualquier computador, el computador de vuelo del Apolo 11 requirió de un programa informático para operar. La tarea de desarrollar un programa informático es muy difícil, y en esa época no existían las herramientas adecuadas para hacerlo (literalmente, había que hacer hoyitos en trozos de cartón). El diseño y la implementación del programa de vuelo del Apolo 11 fue liderado por Margaret Hamilton, a quien tuve la oportunidad de conocer el año pasado en una importante conferencia de ingeniería de software, donde contó su historia y compartió su experiencia. Una persona no muy alta de estatura, pero con un carisma gigante. Hoy, su nombre es sinónimo del éxito que puede tener una mujer en las ciencias de la computación.

Otro efecto que tuvo la llegada del hombre a la luna es el cambio de mentalidad de los científicos frente a la necesidad de colaborar. Tres años después de haber llegado a la luna, la Unión Soviética se acercó a Estados Unidos para desarrollar un programa espacial común llamado Apollo-Soyuz, el cual tuvo como resultado la construcción de la estación espacial Mir. La guerra fría entre Estados Unidos y la Unión Soviética fue una época sombría para la humanidad, vimos varias guerras y estuvimos al borde de un conflicto nuclear. Sin embargo, a pesar de la tensión con la que se vivía, científicos de ambos países lograron colaborar fuertemente para desarrollar este programa espacial. Esa colaboración fue muy frágil y no contaba con el apoyo de la opinión pública y política, pero a pesar de esto el programa fue un éxito. La Estación Espacial Internacional (ISS por su sigla en inglés) que opera en la actualidad, es una consecuencia directa de esta colaboración científica desarrollada en un momento de gran tensión política. En total, 18 países participan actualmente en el ISS. Y, mientras que la estación espacial Mir se considera como la madre de la ISS, el programa Apollo–Soyuz es considerado como una de las primeras colaboraciones científicas a gran escala. En la actualidad contar con la colaboración internacional es necesario para desarrollar investigación de calidad.

Otra consecuencia del éxito del Apolo 11, fue la toma de conciencia de la importancia de reducir la complejidad de los programas informáticos. Desarrollar un programa es una operación muy costosa y lenta. Disminuir la complejidad de un programa va acompañado de una reducción de esfuerzo en el desarrollo (tanto en tiempo como en dinero). Además, un programa complejo tiene más probabilidades de presentar fallas. Un ejemplo de esto fue la misión Mariner 1, en 1962, que tuvo como objetivo estudiar el planeta Venus. El programa de vuelo tuvo como código la instrucción “DO 15 I = 1.100”, cuando debió ser “DO 15 I = 1,100” (el error consistió en poner un punto en vez de una coma), lo que resultó en la desintegración del cohete ¡294 segundos después de su lanzamiento!

Hoy, el programa de vuelo de Apolo 11 está disponible en Internet*, desde donde se puede descargar y apreciar su alta complejidad. Debido a la importancia de reducir la complejidad de los programas informáticos, después de Apolo 11, Margaret Hamilton se dedicó a trabajar en la verificación y simplificación de programas informáticos. A grandes rasgos, la idea es proponer herramientas y lenguajes de programación más cercanos al ser humano y no enfocarse tanto en los aspectos técnicos del computador. Un ejemplo concreto de esto es el Satélite Suchai, construido en la FCFM en el marco de un proyecto liderado por el profesor Marcos Díaz.

Suchai tiene un programa de vuelo bastante complejo, con cerca de 40.000 líneas de código. Si tuviéramos que imprimir este programa, su tamaño sería superior a ¡dos veces el último libro de Harry Potter! Además, actualmente, en la FCFM tenemos en producción tres nuevos satélites, entre los cuales se incluye uno cuyo objetivo es hacer crecer una planta en el espacio. Tener varios satélites interoperando –lo que se conoce como una constelación de satélites– requiere del uso de algoritmos de inteligencia artificial. Por este motivo, la adaptación del programa de vuelo del Suchai es primordial para poder coordinar misiones con varios satélites. Y para llevar a cabo esta adaptación, estamos aplicando completamente las lecciones que nos enseñó Margaret Hamilton con su experiencia en el sistema de vuelo del Apolo 11.

* GitHub - chrislgarry/Apollo-11: Original Apollo 11 Guidance Computer (AGC) source code for the command and lunar modules (https://github.com/chrislgarry/Apollo-11).