Margaret Hamilton

Margaret Hamilton : L'ingénieure qui a nommé le logiciel

À trois minutes de la surface lunaire, l'ordinateur de guidage d'Apollo 11 a commencé à émettre des alarmes. Buzz Aldrin avait soumis une huitième demande de tâche simultanée à une machine conçue pour en gérer sept. L'atterrissage aurait pu être interrompu à ce moment-là. Il ne l'a pas été, car la femme qui dirigeait le logiciel avait supposé des années auparavant qu'un tel incident se produirait et avait programmé l'ordinateur pour qu'il abandonne ses propres tâches non essentielles plutôt que de tomber en panne. « Si l'ordinateur n'avait pas reconnu ce problème et pris des mesures de correction », a-t-elle déclaré plus tard, « je doute qu'Apollo 11 ait connu le succès que l'on sait sur la Lune. »

Paoli, Indiana

Margaret Elaine Heafield est née le 17 août 1936 à Paoli, dans l'Indiana, de Kenneth et Ruth Esther Heafield. La famille a déménagé dans le Michigan, où elle a obtenu son diplôme de fin d'études secondaires à Hancock High School en 1954. Son père était poète et son grand-père directeur d'établissement, et son milieu familial l'a orientée vers la philosophie avec autant de fermeté que vers les mathématiques — elle finira par étudier les deux. Elle a étudié à l'Université du Michigan en 1955, puis a été transférée au Earlham College, où elle a obtenu une licence (BA) en mathématiques avec une mineure en philosophie en 1958. Elle a attribué à Florence Long, qui dirigeait le département de mathématiques d'Earlham, le mérite de l'avoir encouragée à s'orienter vers les mathématiques abstraites et une carrière universitaire. Elle a épousé James Cox Hamilton en juin 1958 ; leur fille Lauren est née l'année suivante.

Météorologie, chaos, grec et latin

Son premier emploi en informatique fut auprès d'Edward Norton Lorenz au département de météorologie du MIT à partir de la mi-1959, pour lequel elle rédigea des logiciels de prévision météorologique destinés aux machines LGP-30 et PDP-1. Lorenz a reconnu plus tard sa contribution aux travaux qui ont mené à la théorie du chaos. De 1961 à 1963, au MIT Lincoln Laboratory, elle a programmé le prototype AN/FSQ-7 pour le système de défense aérienne Semi-Automatic Ground Environment, où on lui a confié un programme notoirement inextricable dont les commentaires avaient été rédigés en grec et en latin — et elle est devenue la première personne à le faire fonctionner. Ces deux emplois partageaient une caractéristique qui allait définir sa carrière : on lui confiait des systèmes que personne d'autre ne parvenait à faire fonctionner.

Le laboratoire d'instrumentation

En 1965, elle a intégré l'Instrumentation Laboratory du MIT, devenu par la suite le Charles Stark Draper Laboratory, en tant que première programmeuse — et première femme programmeuse — engagée pour le projet Apollo. Elle est devenue directrice de la division de l'ingénierie logicielle, responsable du logiciel de vol embarqué pour l'ordinateur de guidage d'Apollo, tant dans le module de commande que dans le module lunaire, puis pour les systèmes de Skylab. Il s'agissait de code sans seconde chance : pas de correctifs, pas de redémarrage sur une trajectoire de descente, aucun moyen d'atteindre la machine une fois qu'elle avait quitté le pas de tir.

1202

La réponse de Hamilton a consisté à traiter l'erreur non pas comme une exception, mais comme une hypothèse de conception. Son logiciel intégrait des routines de détection et de correction des erreurs ainsi que, de surcroît, un système « d'affichage prioritaire » : lorsque l'ordinateur était surchargé, il abandonnait les tâches de moindre priorité pour préserver les fonctions indispensables à l'atterrissage. Elle avait également pris en compte le facteur humain dans la boucle, en concevant la procédure de sorte que les astronautes voyant s'afficher un écran prioritaire comptent jusqu'à cinq, tenant ainsi compte du temps de traitement du logiciel.

LE TEST GRATUIT
Et le vôtre ?

Vingt questions, huit minutes au chronomètre et un centile mesuré face à tous ceux qui l’ont passé. Sans inscription.

Passer le test de QI →

Le 20 juillet 1969, le mécanisme a fonctionné exactement comme prévu. Les alarmes ont retenti, l'ordinateur a éliminé ce qu'il pouvait se permettre de perdre, et Jack Garman, ingénieur informaticien du contrôle de mission de la NASA, a reconnu les codes et a crié : « Go, go ! » L'Eagle s'est posé.

Nommer une discipline

On attribue à Hamilton l'instauration du terme « ingénierie logicielle » (software engineering) au début des années Apollo. Son objectif était autant juridictionnel que descriptif. « J'ai commencé à utiliser le terme “ingénierie logicielle” pour la distinguer du matériel et d'autres types d'ingénierie », a-t-elle expliqué, « tout en traitant chaque type d'ingénierie comme faisant partie du processus global d'ingénierie des systèmes ». Les spécialistes du matériel n'ont pas été impressionnés. « C'est resté une blague pendant longtemps », s'est-elle rappelée. « Ils aimaient me taquiner à propos de mes idées radicales. » Cette blague désigne aujourd'hui une industrie qui emploie des dizaines de millions de personnes.

Le développement avant le fait

Elle a consacré le reste de sa carrière à approfondir cette logique. En 1976, elle a cofondé Higher Order Software avec Saydean Zeldin pour formaliser les méthodes de prévention des erreurs que le programme Apollo lui avait enseignées ; leur produit USE.IT a soutenu des programmes gouvernementaux, notamment la navette spatiale et les projets ICAM de l'Air Force. En mars 1986, elle a fondé Hamilton Technologies à Cambridge, dans le Massachusetts, où elle a développé le langage de systèmes universels (Universal Systems Language) et la suite d'outils 001 autour d'un paradigme qu'elle a appelé « le développement avant le fait » — selon lequel il faut rendre les erreurs impossibles dès la conception plutôt que de les traquer lors des tests.

La reconnaissance est arrivée lentement, puis d'un seul coup : le prix Augusta Ada Lovelace en 1986 ; le prix NASA Exceptional Space Act en 2003, qui, s'élevant à 37 200 dollars, constituait la plus importante récompense individuelle de l'histoire de l'agence ; la Médaille présidentielle de la Liberté remise par Barack Obama en 2016 ; un prix de membre de la fondation du Musée de l'histoire de l'ordinateur en 2017 ; le Washington Award en 2019 ; et son intronisation au National Aviation Hall of Fame en 2022.

Pourquoi Margaret est qualifiée de génie

Sa méthode représente un renversement radical par rapport à la pensée de son domaine. Dans les années 1960, le logiciel était conçu comme un ensemble d'instructions censées fonctionner, les erreurs étant considérées comme des incidents regrettables à corriger par la suite. Hamilton a fait de la défaillance l'objet principal de la conception : que doit faire un système lorsque les hypothèses sur lesquelles il repose cessent d'être valables ? L'affichage prioritaire est l'expression la plus éclatante de cette pensée. Il n'empêche pas la surcharge, qu'il est impossible d'éviter ; il décide à l'avance, dans des conditions que personne n'a encore vécues, de ce qu'une machine doit être prête à sacrifier pour continuer à accomplir la seule chose qui compte. C'est là une démarche aussi philosophique que technique. Sa seconde contribution majeure est d'ordre conceptuel : en inventant le terme « ingénierie logicielle » malgré les moqueries, elle a transformé la façon dont toute une profession se concevait.

Il convient toutefois de nuancer. Le registre de ses distinctions, pour impressionnant qu'il soit, ne mentionne pas formellement le mot « génie » ; il récompense des réalisations concrètes. Le sauvetage d'Apollo 11 a été le fruit d'un système, non d'un acte isolé — son logiciel a déclenché l'alarme, mais Jack Garman a dû identifier les codes, un contrôleur de vol a dû donner le feu vert, et la conception reposait sur le respect d'une procédure humaine par les astronautes. De plus, l'industrie a adopté son vocabulaire plus complètement que sa méthode : si l'« ingénierie logicielle » est devenue universelle, le « développement avant le fait » demeure l'apanage des spécialistes. Son génie réside avant tout dans une formulation du problème qui a survécu à tous les outils qu'elle a construits pour le résoudre.

Héritage

Le code qu'elle a dirigé est la raison pour laquelle l'expression « alarme 1202 » évoque un triomphe plutôt qu'un épitaphe. Son legs le plus important réside dans cette évidence — aujourd'hui si ancrée qu'elle en devient invisible — selon laquelle un logiciel est un objet conçu par l'ingénierie, soumis à des tolérances et programmé pour échouer avec élégance. Elle en a fourni à la fois le nom et la première grande preuve.

Comparer aux génies

Erwin Schr Dinger vs PythagorasAdam Smith vs Garry KasparovClaude Monet vs Edgar Allan PoeJohn Von Neumann vs Stephen Hawking
Voir le Classement →Toutes les comparaisons →

Enfants prodiges

Momiji NishiyaMomiji NishiyaFirst Olympic women's street champion, winning gold at age 13Emily BearEmily BearPlayed the White House at six, won a Grammy at twenty, scored a…Summer McintoshOlympic finalist at 14, world-record holder and triple Olympic…Laurent SimonsGraduated University at 11 — Belgian Prodigy with Electrical…
Enfants prodiges →

Jouez et revenez demain

Défi génie du jour · Brain teaser
A farmer has 17 sheep. All but 9 run away. How many are left?
Touchez votre réponse ↓
Quel génie êtes-vous ? Test de QI gratuit