Margaret Hamilton (scientifique)
Margaret Heafield Hamilton, née Margaret Heafield le [1], est une informaticienne, ingénieure système et cheffe d'entreprise américaine. Elle était directrice du département génie logiciel (« software engineering », terme de son invention[2]) au sein du MIT Instrumentation Laboratory qui conçut le système embarqué du programme spatial Apollo[3]. En 1986, elle fonde la société Hamilton Technologies, Inc. à partir de ses travaux entrepris au MIT.
Nom de naissance | Margaret Heafield |
---|---|
Naissance |
Paoli, Indiana, États-Unis |
Nationalité |
![]() |
Domains | informatique, génie logiciel, mathématiques |
---|---|
Institutions |
NASA CEO de Hamilton Technologies, Inc. |
Diplôme | MIT |
Formation |
Earlham College Université du Michigan |
Renommée pour | Programme Apollo |
Biographie
modifierFamille et études
modifierMargaret Heafield Hamilton est née à Paoli dans l'Indiana, États-Unis ; elle est la fille de Kenneth Heafield et Ruth Esther Heafield (née Partington)[4],[5]. Après avoir fini ses études secondaires à la Hancock High School, en 1954[6], elle étudie les mathématiques à l'Université du Michigan en 1955, avant d'obtenir sa licence (Bachelor of Arts) de mathématiques au sein du Earlham College en 1958 (mineure en philosophie)[7],[8].
Elle déménage dans l'État du Massachusetts avec l'intention de poursuivre des études de Mathématiques pures à l'Université Brandeis mais finalement choisit d'intégrer le MIT en 1960 pour développer des programmes informatiques de prévision météorologique[9]sur des ordinateurs LGP-30 (en) et PDP-1[10],[1] pour le professeur Edward Lorenz.
Projet militaire SAGE
modifierDe 1961 à 1963 elle travaille sur le projet militaire SAGE au laboratoire Lincoln du MIT où elle développe des programmes de détection d'avions sur l'ordinateur géant AN/FSQ-7 (en). Elle rejoint en 1963 le Laboratoire Charles Stark Draper du MIT (en).
Responsable de projets pour la NASA
modifierProgramme Apollo
modifierAu laboratoire Draper elle travaille pour les missions du programme Apollo de la NASA sur les logiciels embarqués dans les vaisseaux spatiaux qui doivent prendre en charge la navigation et l'atterrissage sur la Lune. Elle devient responsable de l'équipe chargée du développement du logiciel embarqué utilisé par les missions Apollo puis Skylab[3]. Elle acquiert ainsi une solide expérience sur la conception des logiciels à une époque où les méthodes de gestion et de conception des projets informatiques en sont à leur balbutiement.
Dans le cadre de ces projets informatiques, son domaine d'expertise concerne la conception de système et de développement de logiciels, la modélisation de processus, la conception de systèmes de prévention, le paradigme de développement, les systèmes formels et des langages informatiques de modélisation, la conception et de la programmation orientée objet, la gestion automatisée des cycles de vie, les méthodes de fiabilisation et de réutilisation des logiciels, l'analyse de domaine, l'exactitude de propriétés linguistiques intégrées, les techniques d'architecture ouverte pour des systèmes robustes, l'automatisation du cycle de vie complet, l'assurance qualité, l'intégration transparente, les systèmes distribués, les techniques de détection d'erreur et de récupération, les systèmes d'interface homme-machine, les systèmes d'exploitation, les techniques de test bout en bout et des techniques de gestion du cycle de vie[3].
Elle innove dans le domaine du processus de construction des programmes de vols et de leur environnement de développement, en normalisant et en rationalisant ces processus dans toutes les phases de développement, qui sont réutilisés de version en version, ou entre les logiciels du LM et le CM, jusqu'au programme Skylab[3].
Apollo 11
modifierLa qualité des programmes développés sous la supervision d'Hamilton et du système d'exploitation de J. Halcombe Laning installés sur l'ordinateur Apollo Guidance Computer (AGC) ont joué un rôle crucial au cours de la mission Apollo 11 en évitant une interruption de l'atterrissage du module lunaire Apollo sur la Lune[11].
Trois minutes avant que le module lunaire Apollo atteigne la surface de la Lune, des alarmes informatiques répétées se déclenchent[9]. Elles signalent que l'ordinateur AGC est saturé. Par ailleurs, l'ordinateur de navigation ainsi que l’ordinateur de pilotage transmettent des ordres contradictoires[9].
Grâce à l'architecture du système d'exploitation attribuant des priorités aux programmes, l'ordinateur réussit néanmoins à mener sa mission principale consistant à poser le module lunaire sur la Lune[9]. Le logiciel était conçu en utilisant des exécutions asynchrones de telle manière que les tâches ayant la plus haute priorité (essentielles à l'atterrissage) puissent interrompre des tâches moins prioritaires. L'analyse de l'incident effectuée après la mission l'avait attribué à une erreur de l'équipage qui aurait laissé le radar fonctionner dans cette phase de vol saturant les capacités de calcul limitées de l'AGC. Une nouvelle analyse réalisée en 2005 a conclu qu'il s'agissait d'une erreur dans la conception matérielle du radar qui continuait à envoyer des informations à l'ordinateur alors qu'il avait été mis en veille par l'équipage[12].
« Suite à une erreur dans le manuel décrivant la checklist, le bouton d'arrêt du radar de rendez-vous a été placé dans la mauvaise position. Ce qui a provoqué l'envoi de mauvais signaux à l'ordinateur. Il était ainsi demandé à l'ordinateur de réaliser toutes les tâches liées à l'atterrissage tout en recevant une charge supplémentaire qui utilisait plus de 15 % du temps de traitement. L'ordinateur (ou plutôt son logiciel) a été assez intelligent pour reconnaître qu'on lui demandait d'effectuer plus de tâches qu'il ne devait en accomplir. Il a lancé une alarme qui indiquait aux astronautes "J'ai trop de tâches à effectuer par rapport à ce que je suis en mesure de réaliser et je vais continuer en n'effectuant que les tâches les plus importantes", c'est-à-dire celles associées à l'atterrissage. En fait, l'ordinateur était programmé pour faire mieux que simplement identifier une situation d'erreur. Des programmes de récupération avaient été incorporés dans le logiciel qui permettaient d'éliminer les tâches ayant les priorités plus faibles et d’exécuter les plus importantes. Si l'ordinateur n'avait pas reconnu le problème et entrepris ces actions de récupérations, je doute qu'Apollo 11 aurait réussi son atterrissage sur la Lune comme il l'a fait. »
— Margaret Hamilton, Lettre à Datamation (en), 1er mars 1971[13]
Carrière post-MIT
modifierDe 1976 à 1984, Hamilton est la PDG de l'entreprise Higher Order Software (HOS), qu'elle co-fonde avec Saydean Zeldin, d'après son expérience au MIT où elle a développé des techniques, notamment pour la détection des erreurs. L'entreprise produit un programme appelé USE.IT basé sur la technologie HOS développée au MIT. Il est utilisé dans de nombreux projets gouvernementaux[14].
En 1986, elle crée et dirige la société Hamilton Technologies[7] qui met au point un nouveau langage de programmation : l'Universal Systems Language (en) (USL) et son environnement automatique associé, le « 001 Tool Suite ». Cet environnement est basé sur le paradigme « Development Before The Fact » (DBTF) pour le design de systèmes et le développement logiciel. Le DBTF est mis au point lors de son expérience avec la NASA.
Un rôle de précurseur en rupture avec les usages de l'époque
modifierDans les années 1960 Margaret Hamilton constituait une exception dans le milieu scientifique essentiellement masculin dans lesquels les postes de responsabilité technique étaient rarement attribués aux femmes. Toutefois, l'informatique était encore peu reconnue, et peu prisée par les hommes[15]. Mère d'une petite fille, elle devait affronter les critiques des personnes qui ne comprenaient pas qu'une mère puisse poursuivre une carrière en parallèle[16]. Malgré les réalisations et les innovations de Margaret Hamilton, la proportion de femmes dans ce domaine reste faible[17]. Elle est notamment citée dans l'initiative de Maia Weinstock pour que Lego crée des figurines pour rendre hommage aux « femmes de la Nasa »[18].
Récompenses et hommages
modifier- 1986, Prix Ada-Lovelace, Association for Women in Computing[10].
- 2003, NASA Exceptional Space Act Award for scientific and technical contributions. Cette récompense de 37 200 $ représente la plus forte somme donnée en récompense à un individu de l'histoire de la NASA[19],[20],[11].
- 2009, Outstanding Alumni Award, Earlham College[21].
- 2016, médaille présidentielle de la Liberté[22] de la part de Barack Obama, la plus haute distinction civile aux États-Unis[23],[24]
- 2017, « Computer History Museum Fellow Award »[24],[25].
- 2017, Figurine LEGO à son effigie[26] au sein d'un lot « Women of NASA » dont Mae Jemison, Sally Ride et Nancy Grace Roman.
- 2018 Doctorat Honoris Causa de l'Université polytechnique de Catalogne.
- 2019, pour célébrer les 50 ans de l'alunissage d'Apollo 11, Google décide de rendre hommage à Margaret Hamilton. Les miroirs de l'installation solaire Ivanpah sont configurés de manière à refléter la lumière de la Lune pour créer une image de Margaret Hamilton et d'Apollo 11[27].
- 2022, National Aviation Hall of Fame[28].
Publications
modifierHamilton a publié plus de 130 articles et rapports concernant la soixantaine de projets et les 6 programmes majeurs auxquels elle a participé[3].
- M. Hamilton, S. Zeldin (1976) "Higher order software—A methodology for defining software" IEEE Transactions on Software Engineering, vol. SE-2, no. 1, .
- M. Hamilton (1994), Inside Development Before the Fact, cover story, Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
- M. Hamilton, Hackler, W.R.. (2004), Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles (revised dec-29-04), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003-2004.
- M. Hamilton and W.R. M. Hackler (2007), Universal Systems Language for Preventative Systems Engineering, Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, , paper #36.
Notes et références
modifier- (en) Cet article est partiellement ou en totalité issu de l’article de Wikipédia en anglais intitulé « Margaret Hamilton (scientist) » (voir la liste des auteurs).
- Wayne, Tiffany K., 1968-, American women of science since 1900, ABC-CLIO, , 1024 p. (ISBN 978-1-59884-159-6, 1598841599 et 9781282933828, OCLC 702118874, lire en ligne).
- (en) « NASA Engineers and Scientists-Transforming Dreams Into Reality ».
- (en) « About Margaret Hamilton ».
- (en) Ruth H. Heafield, Christine M. Haigh, Christine M. Barnes et Elaine Beddingham, Advancing Nursing Practice in Pain Management, Chichester, West Sussex/Ames, Iowa, Wiley-Blackwell, , 210 p. (ISBN 978-1-4443-1872-2 et 9781405176996, lire en ligne), p. 93–111.
- « Margaret HAMILTON », sur scientificwomen.net (consulté le ).
- (en-US) Brandon Marcum, « Margaret Hamilton, Apollo Engineer », sur Digilent Inc. Blog, (consulté le ).
- « Pioneers in CS: Margaret Hamilton », (consulté le ).
- (en) « Margaret Hamilton | Biography & Facts », sur Encyclopedia Britannica (consulté le ).
- Maïté Warland, « Margaret Hamilton, celle qui aida les hommes à marcher sur la lune », sur RTBF, (consulté le )
- (en) « Margaret Hamilton », sur Cambridge Women's Heritage Project.
- Michael Braukus NASA News "NASA Honors Apollo Engineer" (septembre 3, 2003).
- Don Eyles, « Tales from the Lunar Module Guidance Computer », 27th annual Guidance and Control Conference, American Astronautical Society, Breckenridge, CO, (consulté le ).
- Margaret H. Hamilton, « Computer Got Loaded », Datamation, Cahners Publishing Company, (ISSN 0011-6963).
- « AGC - Conference 1: Margaret Hamilton's introduction », sur authors.library.caltech.edu (consulté le ).
- Comment l’informatique s’est masculinisée le jour où elle devenue prestigieuse.
- (en-US) « Her Code Got Humans on the Moon—And Invented Software Itself », sur WIRED (consulté le ).
- katacharin, « Margaret Hamilton – One Giant Leap for Womankind » (consulté le ).
- « Des figurines Lego pour rendre hommage aux femmes de la Nasa » (consulté le ).
- Sean O'Keefe, administrateur de la NASA, a commenté cette récompense en disant "Les concepts qu'elle a créés avec son équipe sont devenus les blocs de base de l'ingénierie logicielle moderne. C'est un honneur de reconnaître Mme Hamilton pour ses contributions extraordinaires à la NASA.".
- NASA Press Release "NASA Honors Apollo Engineer" (September 03, 2003).
- « 2009 Outstanding Alumni and Distinguished Service Awards », Earlham College (consulté le ).
- « Apollo code developer Margaret Hamilton receives Presidential Medal of Freedom », MIT News, (lire en ligne, consulté le ).
- (en) « President Obama Names Recipients of the Presidential Medal of Freedom », whitehouse.gov, (lire en ligne, consulté le ).
- (en-GB) « Honour for Apollo mission coder », BBC News, (lire en ligne, consulté le ).
- Computer History Museum, « 2017 Fellow Awards », (consulté le ).
- « Lego's 'Women of NASA' toy set is finally on sale — and it's already Amazon's best-selling toy », sur Business Insider France (consulté le ).
- (en) « A moonlit tribute to a moon landing icon », sur Google, (consulté le )
- (en) nationalaviation.org / Margaret Hamilton
Liens externes
modifier- Ressource relative à la recherche :
- Ressource relative à la bande dessinée :
- Notice dans un dictionnaire ou une encyclopédie généraliste :
- (en) Robert McMillan, « Her Code Got Humans on the Moon–And Invented Software Itself », sur Wired,