Ciencia Mujeres en la ciencia

Mujeres en la ciencia: Margaret Hamilton

La historia parece advertirnos que el bajo interés que se tenía por la creación de softwares en los años 60 fue uno de los motivos para dejar que una mujer se colara como líder del grupo encargado de diseñar el conjunto de programas involucrado en el primer viaje de la humanidad a la Luna, pero esa encargada se tomaría muy en serio su misión. Por ello Margaret Hamilton fue única en su trabajo y demostró lo imprescindible de adelantarse a los errores humanos; entre las mujeres prevenidas, Margaret es la más.

Aquella que evitó un desastre durante el alunizaje nació el 17 de agosto de 1937 en Paoli, Indiana; incursionó en trabajos de informática para ganar dinero mientras su esposo completaba su carrera de abogado, un trabajo la llevó a otro y pronto su talento fue requerido para el programa Apollo, cuyo objetivo fue llegar a la Luna. El software que Hamilton diseñó junto a sus colegas no era parte del presupuesto del programa espacial, pero ella demostró su utilidad y lo implementó, finalmente su trabajo científico salvó el día para Neil Armstrong, Michael Collins y Buzz Aldrin, los primeros hombres enviados a la Luna en 1969. 

Margaret Hamilton fue, entre otras mujeres, una pieza clave para el alunizaje. Por una parte los cálculos de trayectorias empezaron en manos de Katherine Johnson, Dorothy Vaughan y Mary Jackson; años después, la NASA consideró la necesidad de usar una computadora para ayudar a los astronautas en su viaje y otra vez una mujer fue clave en la hazaña, la misma que haría historia como la primera ingeniera en software, campo de estudio nombrado por ella.

Crédito: NASA

Educación y trabajo

Luego de graduarse (1) durante 1958 en matemáticas, Hamilton obtuvo una diplomatura en filosofía, pero en lugar de seguir sus estudios de posgrado impartió clases de matemáticas y francés mientras su esposo se titulaba en leyes por Harvard. En cuanto él obtuvo su título, ella fue a Boston a estudiar su posgrado, luego abandonó sus estudios al tener a su hija Lauren.

En 1960 comenzó a trabajar como programadora en el Departamento de Meteorología del Instituto Tecnológico de Massachusetts (MIT), con el profesor Edward Norton Lorenz, quien fue pionero en la teoría del caos. En esa universidad Hamilton conocería su primera computadora (2), pues en ese momento su labor era respaldar las investigaciones de la novedosa teoría del caos.

Los conocimientos en matemáticas y su capacidad para encontrar y corregir errores en las programaciones informáticas le permitieron a Margaret diseñar software para pronósticos del tiempo, posteriormente se involucró con otro proyecto meteorológico que tuvo aplicaciones en la detección y seguimiento de aeronaves enemigas en territorio estadounidense.

Crédito: NASA

La competencia espacial entre la Unión Soviética y Estados Unidos dio paso a la misión Apollo 11, cuyo propósito era poner el pie humano en la Luna, para esta misión la NASA trabajó con el MIT y de ahí Hamilton se apuntó para el diseño del software que haría funcionar el Módulo de Mando y el Módulo Lunar.

Antes de poner su mente en el satélite de la Tierra, Hamilton y sus colegas habían logrado escribir el código para la primera computadora portátil del mundo; mientras que la detección de errores ya era parte de su marca profesional pues en la fase de pruebas del programa para detección de aviones enemigos encontró fallos y notó que estos seguían ciertos patrones, lo que le hizo pensar que los errores podían predecirse y por ello depuró un método para evitarlas.

Una guía confiable para Apollo

La computadora (3) que permitió la llegada a la Luna, llamada Guía Apolo (AGC, por sus siglas en inglés) tenía 32.768 bits de memoria RAM, algo sorprendente si se toma en cuenta que, en promedio, un teléfono actual tiene 64 o más millones de bits. Para la misión de la NASA, Margaret y su equipo “Apolo digital: humana y máquina en el vuelo espacial” se encargaron de crear un software para guiar la nave de ida y vuelta a la Luna, aunque el Módulo de Mando y el Módulo Lunar funcionaron con múltiples limitantes, entre ellas la capacidad de memoria.

En la parte del hardware uno de los mayores retos fue reducir el tamaño del equipo a 30 centímetros cúbicos en una época en que los ordenadores llenaban cuartos enteros.

Se usó un lenguaje (4) con instrucciones básicas simplificadas a modo de comandos como base del software,  para el cual era necesario un intérprete que para ejecutar el programa usaba un complicado lenguaje.

La parte frontal tenía una pantalla para datos, luces y botones para ingresar los comandos y la computadora “intérprete” procesaba instrucciones, cálculos y datos complejos recibidos. 

Crédito: NASA

El sistema operativo de la AGC, conocido como Exec y de carácter asíncrono, debía priorizar tareas, administrar las órdenes y asignar memoria a cada ejecución. En esos momentos la tecnología computacional operaba de forma secuenciada, por ello un sistema asincrónico fue relevante y útil. 

Contaba con un sistema multitareas que incluía una lista de espera para operaciones con duraciones determinadas, también implementaron una tarea ficticia para realizar diagnósticos de funcionamiento, la cual estaba al final de la lista de prioridades y, si era ejecutada, significaba que no había alguna tarea más importante al momento.

Además los programas de la computadora fueron tejidos a mano en fábricas, el código fuente era escrito a mano, pasado a tablillas perforadas y finalmente hilado con un cable que, cuando atravesaba un núcleo, significaba un uno y, si pasaba alrededor del mismo, era un cero.

Hamilton junto a su código fuente real de Apollo Guidance Computer (AGC). Crédito: NASA

Tres minutos antes de la Luna

Faltaban unos minutos para alunizar cuando el software se sobrecargó luego de que fue activado un interruptor de encuentro, innecesario durante la maniobra de alunizaje, se activo debido a un error en el guion de operaciones que se le había dado a la tripulación, al prenderse ese interruptor el comando quitó de la prioridad a la computadora de vuelo y eso amenazó el alunizaje.

El interruptor de encuentro estaba vinculado con el radar que era necesario para salir de la Luna y conectarse con el módulo de control, pero activado en un mal momento, como al aterrizar en la Luna generaba un sobrecargo en la computadora.  

Desde el centro de operaciones Margaret Hamilton tuvo que confiar en su software (5), ese error que tanto preocupaba en la misión Apolo 11 era algo que había previsto para su código luego de observar los juegos de su hija Lauren (quien la acompañaba en sus horas de oficina), por ello había insistido en prever la seguridad durante la operación.

Jugando con el teclado del simulador del módulo de comando del MIT su hija sobrecargó el sistema y generó un mensaje de error en la pantalla, eso le hizo pensar en la utilidad de una barrera para que las equivocaciones humanas no comprometieran la misión, y aunque todos confiaban plenamente en el entrenamiento de los astronautas, ella insistió y el software contra el problema fue instalado.

En pleno descenso del Eagle a la Luna, Buzz Aldrin y Neil Armstrong observaron en la pantalla de la AGC el riesgo de saturación de la memoria, que solo tenía un margen de 15 por ciento para situaciones imprevistas. 

Desde la Tierra, la joven Margaret Hamilton de 32 años aseguró a los astronautas que podían ignorar los mensajes de error 1201 y 1202 para llegar a la Luna.

La idea de que un ordenador pudiese ayudar en malos momentos fue tan innovadora que de hecho se instalaron dos ordenadores AGC, uno en el Módulo de Mando, para el regreso a la Tierra, y otro en el Módulo Lunar ,(6) para llegar a la Luna y despegar de la misma. Además se tenía un sistema para abortar la misión en cuestiones críticas de seguridad, por suerte este último no fue necesario.

Ingeniería en software

Los avances en software dirigidos por Margaret la llevaron a supervisar otras misiones del programa Apollo, ella instauró el término de “ingeniería de software”, la cual hoy es reconocida como disciplina científica.

Por sus trabajos vinculados a la NASA, tenemos ganancias como el software asíncrono y programas a prueba de errores, además de conceptos como pantallas de prioridad, que son la base para un diseño confiable de software.

Es una pionera que fue tardíamente premiada: en 2003 se le otorgó el galardón de la Ley Espacial Excepcional de la NASA por sus contribuciones científicas y técnicas, en un comunicado de la NASA señalaron que “los conceptos que ella y su equipo crearon se convirtieron en los componentes básicos de la ingeniería de software moderna”.

En 1986, Margaret Hamilton creó Hamilton Technologies, empresa que trabaja con la prevención de errores de software. Desde la que han surgido cosas como el USL (Universal Systems Language) y su entorno automatizado asociado; o el 001 Tool Suite, basado en el concepto “Desarrollo antes de que ocurra”, empleado hoy por algunas de las compañías e instituciones más importantes del mundo.

En 2016 el expresidente Barack Obama le entregó la Medalla Presidencial de la Libertad y un año después se le dio el Premio de Fellow del Museo Histórico de Informática.

“No hubo una segunda oportunidad. Todos lo sabíamos ”, señaló en una ocasión Hamilton. “Nos tomamos nuestro trabajo muy en serio, pero éramos jóvenes, muchos de nosotros en la veintena. Tener nuevas ideas fue una aventura. La dedicación y el compromiso eran un hecho. El respeto mutuo estaba en todos los ámbitos. Dado que el software era un misterio, una caja negra, la alta dirección nos dio total libertad y confianza. Tuvimos que encontrar una manera y lo hicimos. Mirando hacia atrás, éramos las personas más afortunadas del mundo; no había más remedio que ser pioneros; no hay tiempo para ser principiantes “.

Margaret Hamilton

Aunque la infravaloración de un campo ahora conocido como ingeniería de software fue lo que permitió que una mujer se hiciera presente en la misión Apollo, y no las ideas de igualdad entre géneros, es de agradecer que Hamilton fuese la encargada de aquella operación, pues su entrega a la labor científica impulsó una parte de la informática de la que hoy todos nos beneficiamos.

Fuentes:

  1. https://www.youtube.com/watch?v=kYCZPXSVvOQ 
  2. https://forohistorico.coit.es/index.php/personajes/personajes-internacionales/item/hamilton-margaret
  3. https://ceal.ingenieria.uncuyo.edu.ar/industrial/TyHM/Mecatronica/apollo_AGC.pdf
  4. http://www.ibiblio.org/apollo/
  5. https://www.youtube.com/watch?v=kTn56jJW4zY
  6. https://www.vox.com/2015/5/30/8689481/margaret-hamilton-apollo-software

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Salir /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Salir /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Salir /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Salir /  Cambiar )

Conectando a %s

A %d blogueros les gusta esto: