# Margaret Hamilton

Margaret Hamilton (Paoli, Indiana, 17 d'agost de 1936) és una científica computacional i matemàtica. Va ser directora de la Divisió d'Enginyeria de Programari del Laboratori d'Instrumentació del MIT, on va desenvolupar programari de navegació d'abord per al Programa Espacial Apol·lo. El 1986, es va convertir en la fundadora i CEO de Hamilton Technologies, Inc. a Cambridge, Massachusetts. La companyia es va desenvolupar al voltant del Llenguatge Universal de Sistemes basada en el seu paradigma de "Desenvolupament Abans del Fet" (DBTF, de l'anglès Development Before the Fact) per a sistemes de disseny de programari.

## Vida primerenca

Hamilton va iniciar els seus estudis de matemàtiques a la Universitat de Michigan i posteriorment es va traslladar a l'Escola Preparatòria Hancock on es va graduar el 1954 i, seguidament, va aconseguir un B.A. en Matemàtiques a l'Earlham College el 1958. Per un període breu va ensenyar matemàtiques de secundària i francès després de la graduació, per tal de donar suport al seu marit mentre estudiava un grau a Harvard. Es va mudar a Boston, Massachusetts, amb la intenció de fer estudis de postgrau en matemàtica abstracta a la Universitat de Brandeis, però en lloc d'això es va incorporar al MIT com a desenvolupadora de programari per predir el temps en la LGP-30 i els ordinadors PDP-1 (en el Projecte de Marvin Minsky MAC) per al professor Edward Lorenz del departament de meteorologia. Hamilton comenta que en aquell moment, la informàtica i l'enginyeria de software encara no eren disciplines acadèmiques; per contra, els programadors aprenien a la feina amb l'experiència i la pràctica.
De 1961 a 1963, va treballar per al Projecte SAGE Philco-Ford al Lincoln Lab, on va ser una de les persones que van escriure el primer programari de l'ordinador d'interceptació AN/FSQ-7; també va escriure el programari per als Laboratoris d'Investigació de Cambridge de la Força Aèria, on va usar radars per seguir trajectòries d'aeronaus desconegudes.
Va treballar per adquirir experiència de primera mà en una època on les ciències computacionals i l'enginyeria de programari no existien ni com a disciplina ni com a cursos universitaris.

## Projecte SAGE

El projecte SAGE era una extensió del Projecte Whirlwind, iniciat pel MIT, per crear un sistema informàtic que podria predir els sistemes meteorològics i realitzar un seguiment dels seus moviments a través de simuladors; SAGE aviat va ser desenvolupat per a ús militar a la defensa antiaèria de possibles atacs soviètics durant la Guerra Freda. Per la seva banda, Hamilton va manifestar els seus dubtes:
| « | El que solien fer quan arribaves a aquesta organització com a principiant, se t'assignava a aquell programa, que ningú era capaç d'esbrinar com es podia executar. Quan jo vaig ser principiant me'l van assignar a mi també. I el que havia succeït era que era de programació complicada, i la persona que el va escriure li va prendre el gust a fer tots els seus comentaris en grec i llatí. Així que me'l van assignar i em vaig posar a treballar, fins i tot vaig imprimir les seves respostes en llatí i grec. Era el primer a arribar a treballar. | » |
Van ser els seus esforços en aquest projecte que la van convertir en una candidata per a la posició en la NASA com a principal desenvolupadora de programari del vol Apol·lo.

## NASA

Hamilton es va unir al Laboratori Draper Charles Stark al MIT, que en aquell moment estava treballant en la missió espacial Apol·lo. Amb el temps es va convertir en la directora i supervisora de software del programari per a Apollo, previst per a navegar i aterrar a la Lluna, i les seves múltiples variacions utilitzat en nombroses missions (incloent la posterior Skylab.
Hamilton va treballar per adquirir habilitats i experiència durant un temps en el que els cursos d'enginyeria informàtica i programació eren poc freqüents. Les seves àrees d'experiència inclouen el disseny de sistemes i desenvolupament de programari, models de negoci i de processos, objectes orientats a sistemes de modelatge i desenvolupament de sistemes, entorns automatitzats de cicle de vida, mètodes per maximitzar la fiabilitat del programari i la reutilització, l'anàlisi de domini, la correcció per les propietats del llenguatge incorporades, tècniques d'arquitectura oberta per a sistemes robustos, l'automatització del cicle de vida complet, garantia de qualitat, les tècniques de detecció d'errors i recuperació, sistemes d'interfície home-màquina, sistemes operatius. Va ser una de les persones que va desenvolupar conceptes de programari asíncron, programació de prioritat, i la capacitat de decisió humana-in-the-loop, que va esdevenir la base per un disseny de programari modern i ultra-fiable programari.

### Apol·lo 11

En un dels moments crítics de la missió Apol·lo 11, L'Ordinador de Navegació de l'Apolo va evitar una interrupció de l'aterratge a la lluna. Tres minuts abans que el mòdul d'aterratge lunar arribés a la superfície de la Lluna, es van activar diverses alarmes d'ordinador. L'equip estava sobrecarregat amb les interrupcions causades per l'energia subministrada per fases de forma incorrecta al radar de trobada del mòdul d'aterratge. A causa de la seva arquitectura asíncrona dissenyada per J. Halcombe- Laning, l'equip va ser capaç de fer front a l'augment de la demanda, donant prioritat a les tasques. En el control de la missió, Jack Garman va reconèixer que l'error no requeria que s'avortés l'allunatge. Hamilton va acreditar que l'Apollo Guidance Computer (AGC), juntament amb la seva execució asíncrona, com la base que proporciona els mitjans per a dissenyar sistemes de programari que inclouen mecanismes de detecció i recuperació d'errors de AGC.
| « | A causa d'un error en el manual de llista de control, l'interruptor de radar de trobada es va col·locar en la posició incorrecta. Això va provocar que s'enviessin senyals errònies a l'ordinador. El resultat va ser que l'equip es duia a terme totes les seves funcions normals per a l'aterratge mentre rebia una càrrega extra de dades espúries que feien servir fins al 15% del seu temps. L'ordinador (o més aviat el programari) era prou intel·ligent com per a reconèixer que s'estaven duent a terme més tasques de les requerides. A continuació, envià una alarma a l'astronauta que significava: estic sobrecarregat de més tasques que hauria d'estar fent en aquest moment i que vaig a mantenir només les tasques més importants; és a dir, les que es necessiten per a l'aterratge ... En realitat, l'ordinador estava programat per fer alguna cosa més que reconèixer condicions d'error. Un conjunt complet de programes de recuperació va ser incorporat en el programari. L'acció de la de programari, en aquest cas, va ser eliminar tasques de baixa prioritat i restablir els més importants ... Si l'ordinador no hagués reconegut aquest problema i hagués pres les mesures de recuperació adients, dubto que l'allunatge de Apol·lo 11 s'hagués produït amb èxit. — Margaret Hamilton, Director of Apollo Flight Computer Programming MIT Draper Laboratory, Cambridge, Massachusetts, "Computer Got Loaded", Letter to Datamation, March 1, 1971 | » |
A la NASA, Hamilton va ser responsable d'ajudar en el desenvolupament pioner del programari de direccionament de la nau Apol·lo, requerit per navegar cap a/des de la Lluna i descendir-hi, així com múltiples variacions del programari usades en diferents missions (incloent el projecte Skylab).

## Empreses

Del 1976 al 1984, Hamilton va ser CEO d'una companyia que va cofundar anomenada Higher Order Software (HOS) per desenvolupar més idees sobre la prevenció d'errors i tolerància d'errades que emergeix de la seva experiència al MIT.
Hamilton va deixar la companyia, HOS, el 1985. Al març de 1986, es va convertir en la fundadora i CEO de Hamilton Technologies, Inc. de Cambridge, Massachusetts. La companyia s'ha desenvolupat al voltant del Universal Systems Language (USL) i el seu entorn automatitzat associat.

## Llegat

Hamilton va encunyar el terme enginyeria de programari,. L'enginyeria de programari, en el moment, no es va prendre tan seriosament en comparació amb altres procediments d'enginyeria, i per aquest motiu no es considerava com una ciència. Ella va començar a usar el terme enginyeria de programari durant les primeres missions Apol·lo per tal de dotar al programari de la legitimitat d'altres camps com l'enginyeria de maquinari.
Amb el temps el terme "enginyeria de programari" ha guanyat el mateix respecte que qualsevol altra disciplina." Al MIT ella va ajudar a la creació dels principis bàsics de la programació informàtica mentre treballava amb els seus col·legues en l'escriptura de codi per al primer equip portàtil del món ". Les innovacions de Hamilton van més enllà dels fet que va tenir un paper important en aconseguir l'arribada de l'home a la lluna. Hamilton, juntament amb moltes altres dones enginyeres per igual, va desafiar el camp de la tecnologia dominada pels homes del seu temps, i permetre que les dones entrin en aquests camps de STEM des d'ara en endavant.

## Premis i reconeixements

* 1986- Va rebre el Premi d'Augusta Ada Lovelace per l'Associació de Dones en Computació, aquest premi s'atorga a les persones que s'han destacat en almenys una de dues àrees:. 1. reconeixement científic i tècnic excepcional i 2. extraordinari servei a la comunitat informàtica a través dels seus èxits i contribucions en nom de les dones en la informàtica.
* 2003- Se li va donar el premi NASA Exceptional Space Act Award per les seves contribucions científiques i tècniques.
* 2009- Rep el Premi d'Alumne Excel·lent per la Universitat d'Earlham.
* 2016- Margaret Hamilton, juntament amb Nancy Grace Roman, Katherine Johnson, Sally Ride, Mae Jemison, són el grup de cinc notables pioneres de la NASA que LEGO ha triat per crear uns materials educatius per mostrar a joves i adults la història de les dones a l'STEM.
* 2018 - Investida honoris causa per la Universitat Politècnica de Catalunya.

## Vida personal

Margaret Hamilton va conèixer al seu marit James Cox Hamilton mentre estudiava al l'Earlham College. Es van casar a finals de 1950 després d'obtenir la seva llicenciatura. Van tenir una filla junts, Lauren, que es va casar amb l'hereu multimilionari, actor, ballarí, coreògraf i James Cox Chambers. Durant els caps de setmana s'enduia sovint la Lauren al laboratori per passar temps amb la seva filla i al mateix temps codificar i crear rutines que més tard s'afegirien a l'ordinador del mòdul de comandament d'Apol·lo. Margaret Hamilton i James Cox Hamilton finalment es van divorciar.

## Referències

* 1 2 Tiffany K. Wayne. American Women of Science Since 1900 (en anglés). ABC-CLIO, 2011, p. 480–1. ISBN 978-1-59884-158-9..
* ↑ «Margaret Hamilton» (en anglès). Encyclopaedia Britannica. [Consulta: 28 juny 2021].
* 1 2 3 «About Margaret Hamilton» (en anglés). NASA. Digital Engineering Institute, 2010. [Consulta: 23 juliol 2016].
* 1 2 3 M. Hamilton, W.R. Hackler. «Universal Systems Language: Lessons Learned from Apollo» (en anglés). IEEE Computer, 41, 2008. DOI: 10.1109/MC.2008.541.
* 1 2 3 «2009 Outstanding Alumni and Distinguished Service Awards» (en anglés). Earlham College. Arxivat de l'original el 2015-05-18. [Consulta: 23 juliol 2016].
* ↑ «Apollo Guidance Computer History Project.» (en anglés). The Dibner Institute for the History of Science and Technology, 12-08-2002. [Consulta: 24 juliol 2016].
* ↑ «Cambridge Women's Heritage Project» (en anglés). CWHP, 01-03-2009. Arxivat de l'original el 2018-03-10. [Consulta: 24 juliol 2016].
* ↑ «Tales from the lunar module guidance computer» (en anglés). Don Eyles. [Consulta: 24 juliol 2016].
* 1 2 3 «NASA Honors Apollo Engineer» (en anglés). NASA, 03-09-2003. Arxivat de l'original el 2010-11-24. [Consulta: 24 juliol 2016].
* ↑ NASA Office of Logic Design "About Margaret Hamilton" (Last Revised: February 03, 2010)
* ↑ «Margaret Hamilton» (en anglés). The Dibner Institute for the History of Science and Technology. [Consulta: 24 juliol 2016].
* ↑ Krut, Jr., B «Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology» (en anglés). (CMU/SEI-93-TR-11, ESC-TR-93-188). Carnegie Mellon University. [Pittsburgh], 1993. Arxivat de l'original el 2013-06-26 [Consulta: 25 juliol 2016].
* ↑ Ouyang, M., Golay, M.W. «An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems». Report No. MIT-ANP-TR-035.. Massachusetts Institute of Technology, Cambridge, MA, 1995.
* ↑ Rayl, A.J.S. «NASA Engineers and Scientists-Transforming Dreams Into Reality». 50th Magazine. NASA, 2008. Arxivat de l'original el 2010-06-29 [Consulta: 25 juliol 2016].
* ↑ «The NASA Heritage of Creativity 2003 Annual Report of the NASA Inventions & Contributions Board» (en anglés). NASA, 2003. Arxivat de l'original el 2016-05-29. [Consulta: 25 juliol 2016].
* ↑ «Margaret Hamilton, the Engineer Who Took the Apollo to the Moon» (en anglés). El Pais (Verner), 2014. [Consulta: 25 juliol 2016].
* 1 2 «Her Code Got Humans on the Moon—And Invented Software Itself» (en anglés). WIRED, 2015. [Consulta: 25 juliol 2016].
* ↑ «Software — and a Woman — at the Heart of Lunar Triumph» (en anglés). WIRED. [Consulta: 25 juliol 2016].
* ↑ «Ada Lovelace Awards» (en anglés). Association for Women in Computing. [Consulta: 25 juliol 2016].
* ↑ «Women of NASA» (en anglés). LEGO. [Consulta: 17 agost 2016].