Margaret Hamilton (scientist)

From Infogalactic: the planetary knowledge core
Jump to: navigation, search
Margaret Hamilton
Margaret Hamilton 1995.jpg
Hamilton in 1995
Born (1936-08-17) August 17, 1936 (age 83)
Paoli, Indiana
Education Earlham College
Occupation CEO of Hamilton Technologies, Inc.
Computer scientist
Spouse(s) James Cox Hamilton
Relatives James Cox Chambers (son-in-law)

Margaret Heafield Hamilton (born August 17, 1936)[1] is a 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.[2] In 1986, she became the founder and CEO of Hamilton Technologies, Inc. in Cambridge, Massachusetts. The company was developed around the Universal Systems Language based on her paradigm of Development Before the Fact (DBTF) for systems and software design.[3]

Hamilton has published over 130 papers, proceedings, and reports concerned with the 60 projects and six major programs in which she has been involved.

Early life

Margaret Heafield was born to Kenneth Heafield and Ruth Esther Heafield (née Partington).[4] She graduated from Hancock High School in 1954, and earned a B.A. in mathematics with a minor in philosophy from Earlham College in 1958.[5] After graduation, she briefly taught high school mathematics and French in order to support her husband while he worked on his undergraduate degree at Harvard, but with the ultimate goal of pursuing a graduate degree at a later time. She moved to Boston, Massachusetts, with the intention of doing graduate study in abstract mathematics at Brandeis University. In 1960 she took an interim position at MIT to develop software for predicting weather on the LGP-30 and the PDP-1 computers (at Marvin Minsky's Project MAC) for professor Edward Norton Lorenz in the meteorology department.[1][6] At that time, computer science and software engineering were not yet disciplines; instead, programmers learned on the job with hands-on experience.[2]

From 1961 to 1963, she worked on the SAGE Project at Lincoln Labs, where she was one of the programmers who wrote software for the first AN/FSQ-7 computer (the XD-1), to search for "unfriendly" aircraft; she also wrote software for the Air Force Cambridge Research Laboratories.

SAGE Project

The SAGE Project was an extension of Project Whirlwind, started by M.I.T., to create a computer system that could predict weather systems and track their movements through simulators; SAGE was soon developed for military use in anti-aircraft air defense from potential Soviet attacks during the Cold War. For her part, Hamilton described her duties as such,

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[7]

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 during her time as lead Apollo flight software designer.

Hamilton then joined the Charles Stark Draper Laboratory at MIT, which at the time was working on the Apollo space mission. She eventually became the director and supervisor of software programming for Apollo and Skylab.[8]

At NASA, Hamilton's team was responsible for helping pioneer the Apollo on-board guidance software required to navigate and land on the Moon, and its multiple variations used on numerous missions (including the subsequent Skylab).[2] She worked to gain hands-on experience during a time when computer science and software engineering courses or disciplines were non-existent.

Her areas of expertise include systems design and software development, enterprise and process modelling, development paradigm, formal systems modeling languages, system-oriented objects for systems modelling 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.[2]

She was one of those who developed concepts of asynchronous software, priority scheduling, and Human-in-the-loop decision capability, which became the foundation for modern, ultra-reliable software design.

Apollo 11

Margaret Hamilton during the Apollo program.[9]

In one of the critical moments of the Apollo 11 mission, Hamilton's team's work and J. Halcombe Laning's operating system design,[10] in the Apollo Guidance Computer software prevented an abort of landing on the moon.[11] Three minutes before the Lunar lander reached the Moon's surface, several computer alarms were triggered. The computer was overloaded with incoming data, because the rendezvous radar system (not necessary for landing) updated an involuntary counter in the computer, which stole cycles from the computer. Due to its robust architecture, the computer was able to keep running; the Apollo onboard flight software was developed using an asynchronous executive so that higher priority jobs (important for landing) could interrupt lower priority jobs.[11] The fault was attributed to a faulty checklist.

Due to an error in the checklist manual, the rendezvous radar switch was placed in the wrong position. This caused it to send erroneous signals to the computer. The result was that the computer was being asked to perform all of its normal functions for landing while receiving an extra load of spurious data which used up 15% of its time. 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.

— Margaret Hamilton, Director of Apollo Flight Computer Programming MIT Draper Laboratory, Cambridge, Massachusetts, "Computer Got Loaded", Letter to Datamation, March 1, 1971[12]


From 1976 through 1984, Hamilton was the CEO of a company she co-founded called Higher Order Software (HOS) to further develop ideas about error prevention and fault tolerance emerging from her experience at MIT.[13] They created a product called USE.IT, based on the HOS methodology.[14][15][16]

In 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 (DBTF) for systems design and software development.[3][17][18][19]


Official photo for NASA, 1989.

Hamilton popularized the term "software engineering",[20] coined first by Anthony Oettinger.[21][22] Software engineering, at the time, was not taken as seriously compared to other engineering, it was not regarded as a science. She used the term "software engineering" to distinguish the difference between hardware engineering. Over time the term "software engineering" has gained the respect as any other discipline.[23] "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".[24] In this field she pioneered the concepts of asynchronous software, priority scheduling, end-to-end testing, and man-in-the-loop decision capability, such as priority displays which then became the foundation for ultra reliable software design.[citation needed] Margaret's innovations go beyond the feats of playing an important role in getting man to the moon. Margret, along with many other female engineers alike, challenged the male dominated tech field of their time, to allow for women to enter in these STEM fields for many years to come.[25]


  • In 1986, she received the Augusta Ada Lovelace Award by the Association for Women in Computing.[5] 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.[26]
  • 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.[11][27][28]
  • In 2009, she received the Outstanding Alumni Award by Earlham College.[5]

Personal life

She met her husband James Cox Hamilton while at Earlham College. They married in the late 1950s after Heafield earned her bachelor's degree. They had a daughter together named Lauren, who, later in her life, married the billionaire heir, actor, dancer, and choreographer James Cox Chambers. Hamilton had no issues in maintaining both her career at NASA, and as a mother. During the weekends she would often take Lauren to the lab and spend time with her daughter while simultaneously "code away creating routines that would later be added to Apollo's command module computer".[24] Lauren Hamilton and James Cox Chambers eventually divorced.[29]


  • 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 dec-29-04), 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.


  1. 1.0 1.1 Tiffany K. Wayne (2011). American Women of Science Since 1900. ABC-CLIO. pp. 480–1. ISBN 978-1-59884-158-9.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  2. 2.0 2.1 2.2 2.3 NASA Office of Logic Design "About Margaret Hamilton" (Last Revised: February 03, 2010)
  3. 3.0 3.1 Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
  4. "Ruth Esther Heafield". Wujek-Calcaterra & Sons. Retrieved December 15, 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  5. 5.0 5.1 5.2 "2009 Outstanding Alumni and Distinguished Service Awards". Earlham College. Retrieved December 15, 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  6. Steven Levy (1984), Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2
  7. "AGC - Conference 1: Margaret Hamilton's introduction". Retrieved 2015-12-09.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  8. "Margaret Hamilton". Cambridge Women's Heritage Project. Retrieved 23 December 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  9. Dylan, Matthews (May 30, 2015). "Meet Margaret Hamilton, the badass '60s programmer who saved the moon landing". Vox.
  10. Tales From The Lunar Module Guidance Computer. Retrieved January 29, 2016
  11. 11.0 11.1 11.2 Michael Braukus NASA News "NASA Honors Apollo Engineer" (Sept. 3, 2003)
  12. Lua error in Module:Citation/CS1/Identifiers at line 47: attempt to index field 'wikibase' (a nil value).
  13. "AGC Biography - Margaret Hamilton".<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  14. 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.
  15. Thompson, Arthur A.; Strickland, A. J., (1996), "Strategic Management: Concepts and Cases", McGraw-Hill Companies, ISBN 0-256-16205-0
  16. Rowena Barrett (1 June 2004). Management, Labour Process and Software Development: Reality Bites. Routledge. p. 42. ISBN 978-1-134-36117-5.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  17. Krut, Jr., B., (1993) “Integrating 001 Tool Support in the Feature-Oriented Domain Analysis Methodology” (CMU/SEI-93-TR-11, ESC-TR-93-188), Pittsburgh, SEI, Carnegie Mellon University.
  18. Ouyang, M., Golay, M.W. (1995), An Integrated Formal Approach for Developing High Quality Software of Safety-Critical Systems, Massachusetts Institute of Technology, Cambridge, MA, Report No. MIT-ANP-TR-035.
  19. Software Productivity Consortium, (SPC) (December 1998), Object-Oriented Methods and Tools Survey, Herndon, VA.SPC-98022-MC, Version 02.00.02.
  20. Rayl, A.J.S. (October 16, 2008). "NASA Engineers and Scientists-Transforming Dreams Into Reality". 50th Magazine. NASA. Retrieved December 27, 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  21. ACM Digital Library accessed January 24, 2016
  22. The origin of "software engineering" accessed January 24, 2016
  23. Verne (2014-12-25). "Margaret Hamilton, the Engineer Who Took the Apollo to the Moon". Medium. Retrieved 2016-04-29.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  24. 24.0 24.1 "Her Code Got Humans on the Moon—And Invented Software Itself". WIRED. Retrieved 2016-04-29.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  25. "Software — and a Woman — at the Heart of Lunar Triumph". WIRED. Retrieved 2016-04-29.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  26. Missing or empty |title= (help)<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>
  27. NASA Press Release "NASA Honors Apollo Engineer" (September 03, 2003)
  28. 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.".
  29. Stickgold, Emma (August 31, 2014). "James Cox Hamilton, at 77; lawyer was quiet warrior for First Amendment". Boston Globe. Retrieved December 15, 2014.<templatestyles src="Module:Citation/CS1/styles.css"></templatestyles>