Margaret Hamilton (software engineer)
Hamilton in 1995
August 17, 1936
Paoli, Indiana, US
|Education||Earlham College |
University of Michigan
|Occupation||CEO of Hamilton Technologies, Inc.|
|Spouse(s)||James Cox Hamilton (div.)|
|Relatives||James Cox Chambers (former son-in-law)|
|Awards||Presidential Medal of Freedom|
Margaret Heafield Hamilton (born August 17, 1936) is an American computer scientist, systems engineer, and business owner. She was Director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for the Apollo space program. In 1986, she founded Hamilton Technologies, Inc., in Cambridge, Massachusetts. The company was developed around the Universal Systems Language (USL) based on her paradigm of Development Before the Fact for systems and software design.
Hamilton has published over 130 papers, proceedings, and reports about the 60 projects and six major programs with which she has been involved. She is one of the people credited with coining the term "software engineering".
On November 22, 2016, Hamilton was awarded the Presidential Medal of Freedom by US President Barack Obama for her work leading to the development of on-board flight software for NASA's Apollo Moon missions.
Margaret Heafield was born on August 17, 1936, in Paoli, Indiana, to Kenneth Heafield and Ruth Esther Heafield (née Partington). After graduating from Hancock High School in 1954, she studied mathematics at the University of Michigan in 1955. She earned a BA in mathematics with a minor in philosophy from Earlham College in 1958.
She briefly taught high school mathematics and French upon graduation to support her husband while he worked on his undergraduate degree at Harvard University. She moved to Boston, Massachusetts, with the intention of doing graduate study in abstract mathematics at Brandeis University. She cites Florence Long, the head of the math department at Earlham College, as helping with her desire to pursue abstract mathematics and become a mathematics professor. She had other inspirations outside the world of technology including her father (a philosopher and poet), and her grandfather (a school headmaster and Quaker minister). She says these men inspired her to include a minor in philosophy in her studies.
In the summer of 1959, Hamilton began working for Professor Edward Norton Lorenz, in the meteorology department at MIT, programming on the LGP-30 and the PDP-1 computers at Marvin Minsky's Project MAC to develop software for predicting weather; work that lead to Lorenz's publications on chaos theory. At the time Hamilton wrote that computer science and software engineering were not yet disciplines; instead, programmers learned on the job with hands-on experience. She moved on to another project in the summer of 1961, and hired and trained Ellen Fetter as her replacement.
From 1961 to 1963, Hamilton worked on the Semi-Automatic Ground Environment (SAGE) Project at Lincoln Lab, where she was one of the programmers who wrote software for the prototype AN/FSQ-7 computer (the XD-1) to search for unfriendly aircraft. She also wrote software for a satellite tracking project at the Air Force Cambridge Research Laboratories.
The SAGE Project was an extension of Project Whirlwind, started by the Massachusetts Institute of Technology (MIT), to create a computer system that could predict weather systems and track their movements using simulators. SAGE was soon developed for military use in anti-aircraft air defense from potential Soviet attacks during the Cold War. Hamilton said:
What they used to do when you came into this organization as a beginner, was to assign you this program which nobody was able to ever figure out or get to run. When I was the beginner they gave it to me as well. And what had happened was it was tricky programming, and the person who wrote it took delight in the fact that all of his comments were in Greek and Latin. So I was assigned this program and I actually got it to work. It even printed out its answers in Latin and Greek. I was the first one to get it to work.
It was her efforts on this project that made her a candidate for the position at NASA as the lead developer for Apollo flight software.
Hamilton then joined the Charles Stark Draper Laboratory at MIT, which at the time was working on the Apollo space mission. She eventually led a team credited with developing the software for Apollo and Skylab. Hamilton's team was responsible for developing in-flight software, which included algorithms designed by various senior scientists for the Apollo command module, lunar lander and the subsequent Skylab. Another part of her team designed and developed the systems software. This included error detection and recovery software such as restarts and the Display Interface Routines (also known as the Priority Displays), which Hamilton designed and developed. She worked to gain hands-on experience during a time when computer science courses were uncommon and software engineering courses did not exist. Hamilton also served as Director of the Software Engineering Division.
Her areas of expertise include: systems design and software development, enterprise and process modeling, development paradigm, formal systems modeling languages, system-oriented objects for systems modeling and development, automated life-cycle environments, methods for maximizing software reliability and reuse, domain analysis, correctness by built-in language properties, open-architecture techniques for robust systems, full life-cycle automation, quality assurance, seamless integration, error detection and recovery techniques, man-machine interface systems, operating systems, end-to-end testing techniques, and life-cycle management techniques.
In one of the critical moments of the Apollo 11 mission, the Apollo Guidance Computer together with the on-board flight software averted an abort of the landing on the Moon. Three minutes before the lunar lander reached the Moon's surface, several computer alarms were triggered. The computer was overloaded with interrupts caused by incorrectly phased power supplied to the lander's rendezvous radar. The program alarms indicated "executive overflows", meaning the guidance computer could not complete all of its tasks in real time and had to postpone some of them. The asynchronous executive designed by J. Halcombe Laning was used by Hamilton's team to develop asynchronous flight software:
Because of the flight software's system-software's error detection and recovery techniques that included its system-wide "kill and recompute" from a "safe place" restart approach to its snapshot and rollback techniques, the Display Interface Routines (AKA the priority displays) together with its man-in-the-loop capabilities were able to be created in order to have the capability to interrupt the astronauts' normal mission displays with priority displays of critical alarms in case of an emergency. This depended on our assigning a unique priority to every process in the software in order to ensure that all of its events would take place in the correct order and at the right time relative to everything else that was going on.
Hamilton's priority alarm displays interrupted the astronauts' normal displays to warn them that there was an emergency "giving the astronauts a go/no go decision (to land or not to land)". Jack Garman, a NASA computer engineer in mission control, recognized the meaning of the errors that were presented to the astronauts by the priority displays and shouted, "Go, go!" And they continued. Paul Curto, senior technologist who nominated Hamilton for a NASA Space Act Award, called Hamilton's work "the foundation for ultra-reliable software design".
Hamilton later wrote of the incident:
The computer (or rather the software in it) was smart enough to recognize that it was being asked to perform more tasks than it should be performing. It then sent out an alarm, which meant to the astronaut, 'I'm overloaded with more tasks than I should be doing at this time and I'm going to keep only the more important tasks'; i.e., the ones needed for landing ... Actually, the computer was programmed to do more than recognize error conditions. A complete set of recovery programs was incorporated into the software. The software's action, in this case, was to eliminate lower priority tasks and re-establish the more important ones ... If the computer hadn't recognized this problem and taken recovery action, I doubt if Apollo 11 would have been the successful moon landing it was.
From 1976 through 1984, Hamilton was the CEO of a company she co-founded with Saydean Zeldin called Higher Order Software (HOS) to further develop ideas about error prevention and fault tolerance emerging from her experience at MIT. They created a product called USE.IT, based on the HOS methodology developed at MIT. It was successfully used in numerous government projects. One notable project was to formalize and implement C-IDEF, an automated version IDEF, a modeling language developed by the United States Air Force in the Integrated Computer-Aided Manufacturing (ICAM) project
One critical assessment contended that, apart from a few independent reviews, the HOS methodology generated little analysis except among consultants associated with the company. That evaluation, conducted by a consultant for the United States Navy asserted that "the HOS literature tends to advertise their ideas and products more than making a contribution in substance to the field of Computer Science". Edsgar Dijkstra described the USE.IT software as "mechanized aids for the application of obsolete techniques". A detailed analysis of the HOS theory and AXES language was used by Harel to develop a derived language for a more modern form of structured programming derived from HOS called the And/Or programming language from the viewpoint of and/or subgoals. Referring to Dijkstra's classic work on structured programming, Harel states: "As will become clear, the 'layers' in which the program is arranged, these being in the heart of the idea of structured programming, correspond to the levels of the tree." Harel goes on to show at that time how HOS and his derived And/Or programming language relates to mathematical logic, game theory and artificial intelligence. Others have used HOS to formalize the semantics of linguistic quantifiers. and to formalize the design of reliable real-time embedded systems.
Hamilton left HOS in 1985. In March 1986, she became the founder and CEO of Hamilton Technologies, Inc. in Cambridge, Massachusetts. The company was developed around the Universal Systems Language (USL) and its associated automated environment, the 001 Tool Suite, based on her paradigm of Development Before The Fact for systems design and software development.
It is a matter for debate, but along with Anthony Oettinger and Barry Boehm, Margaret H. Hamilton is one of the people credited with naming the discipline of "software engineering". According to Hamilton:
During this time at MIT, she wanted to give their software "legitimacy", just like with other engineering disciplines, so that it (and those building it) would be given its due respect; and, as a result she made up the term "software engineering" to distinguish it from other kinds of engineering.
Hamilton details how she came to make up the term "software engineering":
When I first came up with the term, no one had heard of it before, at least in our world. It was an ongoing joke for a long time. They liked to kid me about my radical ideas. It was a memorable day when one of the most respected hardware gurus explained to everyone in a meeting that he agreed with me that the process of building software should also be considered an engineering discipline, just like with hardware. Not because of his acceptance of the new 'term' per se, but because we had earned his and the acceptance of the others in the room as being in an engineering field in its own right.
When Hamilton started using the term "software engineering" during the early Apollo missions, software development was not taken seriously compared to other engineering, nor was it regarded as a science. Over time the term "software engineering" has gained the same respect as any other technical discipline. The IEEE Software September/October 2018 issue celebrates the 50th anniversary of software engineering. Hamilton talks about "Errors" and how they influenced her work related to software engineering and how her language, USL, could be used to prevent the majority of "Errors" in a system. Writing in Wired, Robert McMillan noted: "At MIT she assisted in the creation of the core principles in computer programming as she worked with her colleagues in writing code for the world's first portable computer". Hamilton's innovations go beyond the feats of playing an important role in getting humans to the moon. According to Wired's Karen Tegan Padir: "She, along with that other early programming pioneer, CoBOL inventor Grace Hopper, also deserve tremendous credit for helping to open the door for more women to enter and succeed in STEM fields like software."
- In 1986, Hamilton received the Augusta Ada Lovelace Award by the Association for Women in Computing. This award is given to individuals who have excelled in either (or both) of two areas: 1. Outstanding scientific and technical achievement and 2. Extraordinary service to the computing community through their accomplishments and contributions on behalf of women in computing.
- In 2003, she was given the NASA Exceptional Space Act Award for scientific and technical contributions. The award included $37,200, the largest amount awarded to any individual in NASA's history.
- In 2009, she received the Outstanding Alumni Award by Earlham College.
- In 2016, she received the Presidential Medal of Freedom from Barack Obama, the highest civilian honor in the United States.
- On April 28, 2017, she received the Computer History Museum Fellow Award, which honors exceptional men and women whose computing ideas have changed the world.
- In 2017, a "Women of NASA" LEGO set went on sale featuring (among other things) mini-figurines of Hamilton, Mae Jemison, Sally Ride, and Nancy Grace Roman.
- In 2018, she was invested honoris causa by the Polytechnic University of Catalonia.
Hamilton met her first husband, James Cox Hamilton, while at Earlham College, where she was the homecoming queen and he was the class president. They married in the late 1950s after Hamilton earned her bachelor's degree. James Hamilton became a lawyer, and also served on the board of the American Civil Liberties Union for many years, taking on pro bono cases.
The couple had a daughter, Lauren. When she was very young, Lauren often accompanied her mother to the lab on weekends, where she napped on the office floor while her mother programmed routines that would ultimately be added to the Apollo's command module computer. The couple eventually divorced.[when?]
- M. Hamilton (1994), "Inside Development Before the Fact," cover story, Special Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 1994.
- M. Hamilton (1994), "001: A Full Life Cycle Systems Engineering and Software Development Environment," cover story, Special Editorial Supplement, 22ES-30ES. Electronic Design, Jun. 1994.
- M. Hamilton, Hackler, W. R.. (2004), "Deeply Integrated Guidance Navigation Unit (DI-GNU) Common Software Architecture Principles", (revised December 29, 2004), DAAAE30-02-D-1020 and DAAB07-98-D-H502/0180, Picatinny Arsenal, NJ, 2003–2004.
- M. Hamilton and W. R. Hackler (2007), "Universal Systems Language for Preventative Systems Engineering", Proc. 5th Ann. Conf. Systems Eng. Res. (CSER), Stevens Institute of Technology, Mar. 2007, paper #36.
- M. Hamilton and W. R. Hackler (2007), "A Formal Universal Systems Semantics for SysML", 17th Annual International Symposium, INCOSE 2007, San Diego, CA, Jun. 2007.
- M. Hamilton and W. R. Hackler (2008), "Universal Systems Language: Lessons Learned from Apollo", IEEE Computer, Dec. 2008.
- "White House honors two of tech's female pioneers". CBS News. Archived from the original on April 27, 2017. Retrieved June 7, 2017.
- Welch, Rosanne; Lamphier, Peg A., eds. (February 28, 2019). Technical Innovation in American History: An Encyclopedia of Science and Technology. 3. ABC-CLIO. p. 62. ISBN 978-1-61069-094-2.
- "Ruth Esther Heafield". Tributes.com. Wujek-Calcaterra & Sons. Archived from the original on December 16, 2014. Retrieved December 15, 2014.
- "2009 Outstanding Alumni and Distinguished Service Awards". Earlham College. Archived from the original on May 18, 2015. Retrieved December 15, 2014.
- "Pioneers in Computer Science". Utah State University. Archived from the original on September 17, 2016. Retrieved May 25, 2019.
- "The Woman Who Taught Me – Margaret Hamilton MAKERS Moment". MAKERS. Archived from the original on May 25, 2019. Retrieved May 6, 2019.
- "Margaret Hamilton: The Untold Story of the Woman Who Took Us to the Moon". Futurism. July 20, 2016. Archived from the original on December 20, 2016. Retrieved December 12, 2016.
- Sokol, Joshua (May 20, 2019). "The Hidden Heroines of Chaos". quantamagazine.org. Retrieved May 25, 2019.
- Lorenz, Edward (March 1962). "The Statistical Prediction of Solutions" (PDF). The Meteorological Society of Japan.
- Wayne, Tiffany K. (2011). American Women of Science Since 1900. ABC-CLIO. pp. 480–82. ISBN 978-1-59884-158-9. Archived from the original on March 17, 2015. Retrieved April 29, 2016.
- Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. pp. Chapter 5:The Midnight Computer Wiring Society. ISBN 0-385-19195-2.
- "About Margaret Hamilton". klabs.org. Archived from the original on December 6, 2010. Retrieved May 25, 2019.
- Spicer, Dan. "2017 CHM Fellow Margaret Hamilton". Computer History Museum. Archived from the original on February 12, 2019. Retrieved February 11, 2019.
- "AGC – Conference 1: Margaret Hamilton's introduction". authors.library.caltech.edu. Archived from the original on January 31, 2016. Retrieved December 9, 2015.
- Weinstock, Maia (August 17, 2016). "Scene at MIT: Margaret Hamilton's Apollo code". MIT News. Archived from the original on August 18, 2016. Retrieved August 17, 2016.
- Rayl, A.J.S (October 16, 2006). "NASA Engineers and Scientists-Transforming Dreams Into Reality". 50th Magazine. NASA.
- "About Margaret Hamilton". NASA Office of Logic Design. Archived from the original on April 27, 2017. Retrieved April 9, 2017.
- "NASA – NASA Engineers and Scientists-Transforming Dreams Into Reality". nasa.gov. Archived from the original on June 29, 2010. Retrieved July 29, 2010.
- Hoag, David (September 1976). "The History of Apollo On-board Guidance, Navigation, and Control" (PDF). Charles Stark Draper Laboratory. Archived (PDF) from the original on November 5, 2016. Retrieved September 10, 2016.
- Michael Braukus NASA News "NASA Honors Apollo Engineer" Archived November 24, 2010, at the Wayback Machine (September 3, 2003)
- Green, Alan (June 1967). "Keyboard and Display Program and Operation" (PDF). Charles Stark Draper Laboratory. p. 29. Archived (PDF) from the original on July 17, 2016. Retrieved September 10, 2016.
- "Margaret Hamilton 2017 Fellow". Computer History Museum. Archived from the original on June 29, 2017. Retrieved June 26, 2017.
- Eyles, Don. "Tales from the Lunar Module Guidance Computer". Archived from the original on July 20, 2016. Retrieved July 22, 2016.
- Blair-Smith, Hugh (November 7, 2011). "System integration issues in Apollo 11". IEEE Aerospace and Electronic Systems Magazine. 26 (11): 16–24. doi:10.1109/MAES.2011.6065654.
- M. Hamilton, W.R. Hackler (December 2008). "Universal Systems Language: Lessons Learned from Apollo". IEEE Computer. 41 (12): 34–43. doi:10.1109/MC.2008.541.
- Collins, Michael; Aldrin, Edwin E., Jr. (1975). "A Yellow Caution Light". In Cortright, Edgar M (ed.). Apollo Expeditions to the Moon. Washington, D.C.: NASA. OCLC 1623434. NASA SP-350. Archived from the original on February 19, 2008. Retrieved June 13, 2013. Chapter 11.4.
- Mindell, David A. (September 30, 2011). Digital Apollo. MIT Press. p. 149.
- Snyder, Lawrence and Henry, Ray Laura, "Fluency7 with Information Technology", Pearson, ISBN 0-13-444872-3
- Hamilton, Margaret (July 17, 2009). "Recalling the 'Giant Leap'". news.mit.edu. Archived from the original on September 15, 2016. Retrieved September 8, 2016.
- Lickly, Dan (July 17, 2009). "Recalling the 'Giant Leap'". news.mit.edu. Archived from the original on September 15, 2016. Retrieved September 8, 2016.
- Hamilton, Margaret H. (March 1, 1971). "Computer Got Loaded". Datamation (Letter). ISSN 0011-6963.
- Rayl, A.J.S. (2008). "NASA Engineers and Scientists-Transforming Dreams Into Reality". 50th Magazine. NASA. Archived from the original on June 26, 2014. Retrieved June 9, 2014.
- "AGC Biography – Margaret Hamilton". authors.library.caltech.edu. Archived from the original on July 25, 2011.
- M. Hamilton, S. Zeldin (1976) "Higher order software—A methodology for defining software" IEEE Transactions on Software Engineering, vol. SE-2, no. 1, Mar. 1976.
- Thompson, Arthur A.; Strickland, A. J., (1996), "Strategic Management: Concepts and Cases", McGraw-Hill Companies, ISBN 0-256-16205-0
- Rowena Barrett (June 1, 2004). Management, Labour Process and Software Development: Reality Bites. Routledge. p. 42. ISBN 978-1-134-36117-5. Archived from the original on March 17, 2015. Retrieved April 29, 2016.
- M. Hamilton; S. Zeldin. Higher order software techniques applied to a space shuttle prototype program in Lecture Notes in Computer Science, vol. 19, G. Goos and J. Hartmanis, Ed. New York: Springer-Verlag, pp. 17–31, presented at Program Symp. Proc., Colloque sur la Programmation, Paris, France, April 9–11, 1974.
- Cohen, B. (1986). The Specification of Complex Systems. Addison-Wesley. ISBN 0-201-14400-X.
- Paul, Lois (October 11, 1982). "Federal User Offers Free CAD/CAM Software". Computerworld. 16 (41): 9 – via Google Books.
- Huber, Hartmut (August 1987). "Higher Order Software – Evaluation and Critique" (PDF). Naval Surface Warfare Center. Archived (PDF) from the original on May 7, 2016. Retrieved July 22, 2016.
- Dijkstra, Edsgar (April 7, 1983). "Judging "HOS" From a Distance". Archived from the original on March 5, 2016. Retrieved July 22, 2016.
- Harel, David (April 1979). "And/Or Programs: A New Approach to Structured Programming". Archived from the original on October 18, 2016. Retrieved October 14, 2016.
- Cushing, Steven. "ABSTRACT CONTROL STRUCTURES. AND THE SEMANTICS OF QUANTIFIERS". Computer Science Department, St. Anselm College. Archived from the original on October 19, 2016. Retrieved October 14, 2016.
- Holland, Michael (June 1997). "A Constrained Interface Refinement Method for Embedded System Design". Department of Computing. MPCE, Macquarie University. CiteSeerX 10.1.1.37.7895.
- Krut, Robert W. (July 1993). "Integrating 001 Tool Support in Feature-Oriented Domian Analysis Methodology (PDF) ((CMU/SEI-93-TR-11, ESC-TR-93-188))". dtic.mil. Archived from the original on June 26, 2013. Retrieved May 26, 2019.
- Ouyang, Meng; Golay, Michael W. "An Integrated Formal Approach for Developing High Quality Software for Safety-Critical Systems Report No. MIT-ANP-TR-035". dspace.mit.edu. Archived from the original on February 19, 2015. Retrieved May 26, 2019.
- Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA. SPC-98022-MC, Version 02.00.02.
- 2018 International Conference on Software Engineering celebrating its 40th anniversary, and 50 years of Software engineering. "ICSE 2018 – Plenary Sessions – Margaret Hamilton". Archived from the original on June 3, 2018. Retrieved June 9, 2018.
- Software Magazine. "What to Know About the Scientist who Invented the Term "Software Engineering"". Archived from the original on November 24, 2018. Retrieved February 12, 2019.
- Rayl, A.J.S. (October 16, 2008). "NASA Engineers and Scientists-Transforming Dreams Into Reality". 50th Magazine. NASA. Archived from the original on December 23, 2014. Retrieved December 27, 2014.
- "Cambridge woman helped put a man on the moon". Archived from the original on August 18, 2016. Retrieved July 13, 2016.
- "The NASA Heritage Of Creativity" (PDF). Archived (PDF) from the original on May 29, 2016. Retrieved July 13, 2016.
- "Makers:Margaret Hamilton Videos". Makers.com. Archived from the original on September 5, 2017. Retrieved September 5, 2017.
- Verne (December 25, 2014). "Margaret Hamilton, the Engineer Who Took the Apollo to the Moon". Medium. Archived from the original on April 13, 2016. Retrieved April 29, 2016.
- IEEE Software. "Software 50th ANNIVERSARY SOFTWARE ENGINEERING". Archived from the original on February 12, 2019. Retrieved February 12, 2019.
- Hamilton, Margaret H. (2018). "What the Errors Tell Us". IEEE Software. 35 (5): 32–37. doi:10.1109/MS.2018.290110447. ISSN 0740-7459.
- McMillan, Robert (October 13, 2015). "Her code got humans on the moon – and invented software itself". Wired. Archived from the original on October 23, 2015. Retrieved October 20, 2015.
- "Software — and a Woman — at the Heart of Lunar Triumph". WIRED. Archived from the original on May 5, 2016. Retrieved April 29, 2016.
- Luke Kingma. "The Women Who Put Men on the Moon". Futurism. Archived from the original on July 23, 2016. Retrieved July 20, 2016.
- "Ada Lovelace Awards". Association for Women in Computing. Archived from the original on April 14, 2016.
- NASA Press Release "NASA Honors Apollo Engineer" Archived December 26, 2017, at the Wayback Machine (September 3, 2003)
- NASA Administrator Sean O'Keefe has commented saying: "The concepts she and her team created became the building blocks for modern software engineering. It's an honor to recognize Ms. Hamilton for her extraordinary contributions to NASA."
- "President Obama Names Recipients of the Presidential Medal of Freedom". whitehouse.gov. November 16, 2016. Archived from the original on November 22, 2016. Retrieved June 7, 2017.
- "Honour for software writer on Apollo moon mission". BBC News. November 23, 2016. Archived from the original on November 24, 2016. Retrieved November 23, 2016.
- "The 2017 Fellow Award Acceptance Speech". Computer History Museum.
- Science (June 22, 2017). "Women of NASA Lego toy set now on sale for $24.99". Business Insider. Archived from the original on November 1, 2017. Retrieved November 1, 2017.
- "Investiture of scientist Margaret Hamilton as an honorary doctor of the UPC". www.upc.edu. Archived from the original on January 26, 2019. Retrieved January 25, 2019.
- Stickgold, Emma (August 31, 2014). "James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment". Boston Globe. Archived from the original on December 16, 2014. Retrieved December 15, 2014.
- MIT News
- Margaret Hamilton Video produced by Makers: Women Who Make America
- Margaret Hamilton ’58 — Presidential Medal of Freedom Recipient: Earlham College profile