Margaret Hamilton


Margaret Hamilton est une informaticienne et mathématicienne. Elle était directrice du département génie logiciel (« software engineering ») du MIT Instrumentation Laboratory qui conçut le système embarqué du programme Apollo.


Biographie

Biographie


Margaret Hamilton est née le 17 août 1936 à Paoli dans l'Indiana. Elle est diplômée du Lycée Hancock en 1954. À l'âge de 17 ans, elle commence à réaliser des programmes et obtient une licence en mathématiques du Earlham College en 1958. 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 pour développer des programmes informatiques de prévision météorologique sur des ordinateurs LGP-30 et PDP-14. De 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. Elle rejoint en 1963 le Laboratoire Charles Stark Draper du MIT.

Au 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. 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.

La 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. Trois minutes avant que le module lunaire Apollo atteigne la surface de la Lune, des alarmes informatiques répétées se déclenchent. Elles signalent que l'ordinateur AGC est saturé. 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. 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.

En 1986, Margaret Hamilton crée et dirige la société Hamilton Technologies qui met au point un nouveau langage de programmation l'Universal Systems Language (USL). Développé à partir de son expérience à la NASA ce langage repose sur des objets orientés système et des modèles orientés système. L'objectif est d'améliorer la fiabilité du code tout en réduisant les coûts de développement et les risques.

Dans les années 1960 Margaret Hamilton constituait une exception dans le milieu informatique essentiellement masculin dans lesquels les postes de responsabilité technique étaient rarement attribués aux femmes. Elle avait une fille et devait affronter les critiques des personnes qui ne comprenaient pas qu'une mère puisse poursuivre une carrière en parallèle. Les réalisations et les innovations de Margaret Hamilton, à une époque où les femmes ne constituaient qu'une toute petite minorité, ont contribué à ouvrir la discipline informatique aux femmes.