STEM Uncategorized

Margaret Hamilton

Margaret Hamilton is a computer scientist, systems engineer, and business owner. She is best known for her role as an Award-winning American NASA scientist and mathematician who, as the Director of the Software Engineering Division at Charles Stark Draper Laboratory (CSDL), worked to develop the Apollo program.

Hamilton was born in 1936 in Paoli, Indiana. She attended Hancock High School, before continuing her education at Earlham College, graduating with a B.A in mathematics and a minor in philosophy in 1958. Hamilton worked briefly teaching maths and French in a public school while her husband finished college, before moving to Boston with the intention to enrol in graduate school. Instead, she was offered a job at the Massachusetts Institute of Technology (MIT). Hamilton worked with Professor Edward Norton Lorenz in the meteorology department, developing software to predict weather on the LGP-30 and the PDP-1 computers (at Marvin Minsky’s Project MAC). Hamilton built her skills as she worked, as at that time, programmers learnt on the job as computer science and software engineering were not yet taught. Hamilton then worked for Philco-Ford’s SAGE project at Lincoln Labs. The SAGE project was a radar defence system which tracked unknown aircraft and she was one of the first programmers who wrote software for the first AN/FSQ-7 computer. During this time, she also worked on programming for satellite tracking at the Air Force Cambridge Research Laboratory.

In 1963, Hamilton returned to MIT to join the Charles Stark Draper Laboratory, which was working on the Apollo space mission. She eventually became the director and supervisor of software programming for Apollo and Skylab. She and her colleagues developed the beginnings of modern “software engineering”, a term which she came up with. Hamilton was aware that they was no option for second chances when writing her code. She insisted on the establishment of hard requirements on the engineering of all components and subsystems, debugging all components and rigorously testing everything before assembly. She also ran simulations of every conceivable situation at the systems level to identify potential problems before releasing the code, and created the concept of priority displays, allowing astronauts to reconfigure in realtime should an emergency occur.

In her testing, Hamilton found that nearly three-quarters of the errors they would encounter were interface errors, like conflicts in timing or priority. All computer code was on cards, and if a software engineer had written code that told the computer how many cards to advance, and someone later added in an extra card, it would cause issues. Hamilton realised problems like these were avoidable, a realisation that lead to the creation of Universal Systems Language (001AXES). She also came up with the Development Before the Fact (DBTF) formal systems theory, and together these theories allowed Hamilton and her team to create ‘ultra-reliable’ software for the mission to the moon.

Hamilton’s attention to detail and rigorous testing for the Apollo Guidance Computer software allowed her to avert disaster when, three minutes before the lunar landing was due to happen, alarms went off indicating that there wasn’t enough room on the computer for the landing software to work effectively. Due to an error in the checklist manual, the rendezvous radar switch was in the wrong position, causing unnecessary signals to be sent to the computer. This meant that the computer was overloaded with extra data, despite this, the program was able to prioritise the tasks it should be doing and take recovery action. The result of which, was a successful moon landing.

At the height of the Apollo project, Hamilton was responsible for the supervision of around 100 engineers, mathematics, programmers and technical writers. She also oversaw two subgroups, one responsible for the onboard computer in the command module, and the other for the computers in the lunar excursion module (LEM). She worked on all of the Apollo manned missions and a few of the Apollo unmanned missions. In addition to this, she worked on Skylab on-board flight software and preliminary system software requirements for the Space Shuttle flight software, among other things.

In 1976, Hamilton co-founded Higher Order Software (HOS) with a fellow college, and took on the position of CEO. The company developed industrial systems and was designed to catch mistakes before they happen, building on her Development Before the Fact (DBTF) formal systems theory. In 1986, she continued to develop DBTF when becoming the founder and CEO of Hamilton Technologies, Inc. The company was developed around her Universal Systems Language (USL) and its associated automated environment, the 001 Tool Suite, based on her paradigm of Development Before The Fact (DBTF) for systems design and software development. That same year, Hamilton was awarded with the Augusta Ada Lovelace Award by the Association for Women in Computing.

Hamilton has also been awarded the NASA Exceptional Space Act Award for scientific and technical contributions, which included the largest amount of money awarded to any individual in NASA’s history. She is credited with coining the term “software engineering” and has developed the concepts of asynchronous software, priority scheduling, end-to-end testing, and human-in-the-loop decision capability, such as priority displays which became the foundation for ultra reliable software design. She has published over 130 papers, proceedings, and reports concerned with the 60 projects and six major programs in which she has been involved. She continues to work as CEO of Hamilton Technologies, Inc.

Sources here, here, here, here, here and here.

Leave a Reply