Margaret Hamilton (scientist)
Margaret Hamilton (1995 photo)
|Occupation||Computer scientist and mathematician|
Margaret Hamilton (born 1938) is an American former NASA scientist, and founder and CEO of software development company Hamilton Technologies, Inc. At NASA she was Director of the Software Engineering Division of the MIT Instrumentation Laboratory, later the Charles Stark Draper Laboratory, which played a key role in the success of the Apollo space program.
Hamilton was born in 1938, and attended Hancock High School, graduating in 1954. She did her undergraduate work at Earlham College, receiving her B.A. in mathematics in 1958.
Moving from Indiana to Massachusetts for graduate studies, she instead was hired at MIT where she started her career as a software developer learning from hands on experience. Hamilton went on to become a Director in the Apollo project from which she won the NASA Exceptional Space Act Award for her scientific and technical contributions, and the Augusta Ada Lovelace Award by the Association of Women in Computing. In 1986 she became the founder and CEO of Hamilton Technologies, Inc in Cambridge, MA.
Margaret's current activities as of February 2010 include fulfilling her role as the founder and CEO of Hamilton Technologies, Inc., a business developed around the Universal Systems Language (USL) which is in turn based upon her Development Before The Fact (DBTF) paradigm for systems and software design.
In 1986 Hamilton was awarded the Augusta Ada Lovelace Award by the Association of Women in Computing. In 2003, she was granted a NASA Exceptional Space Act Award for her scientific and technical contributions and included with the award, Hamilton received a check for $37,200, the largest award to an individual in NASA's history.
At NASA Hamilton was responsible for helping pioneer the Apollo on-board guidance software required to navigate to/from and land on the moon, and its multiple variations used on numerous missions (including the subsequent Skylab). She worked to gain hands-on experience during a time when computer science and software engineering courses or disciplines were non-existent.
In the process, she produced innovations in the fields of system design and software development, enterprise and process modelling, preventative systems design, development paradigm, formal systems (and software) modelling 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 (including systems to software), distributed processing systems, error detection and recovery techniques, man/machine interface systems, operating systems, end-to-end testing techniques, and life-cycle management techniques.
These in turn led her to develop concepts of asynchronous software, priority scheduling, and man-in-the-loop decision capability, which became the foundation for modern, ultra-reliable software design.
Preventing an abort of the Apollo 11 mission has been attributed to her work: Just three minutes before the Lunar lander reached the Moon's surface several computer alarms were triggered. The cause of the alarms was an overload of incoming data, as the rendezvous radar system (not necessary for landing) updated an involuntary counter in the computer, which caused cycle stealing in the multitasking computer. Due to its robust architecture, the computer was able to keep running, as the Apollo onboard flight software was developed using an asynchronous executive so that higher priority jobs (e.g. important for landing) could interrupt lower priority jobs. While a 2005 re-analysis concluded that a hardware design error in the rendezvous radar provided the computer with faulty information even while in standby mode, initially the fault had been attributed to a faulty checklist and the radar being erroneously activated by the crew:
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 [M]oon landing it was.
Hamilton is credited for coining the term “software engineering”. 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.
The surrounding contextual setting for her developments was one in which computer science and software engineering were not yet disciplines; instead learning was done on the job with hands on experience. Margaret rose through the ranks by gaining experience and contributing towards uncharted territory in space science.
Margaret Hamilton has published 130 papers, proceedings and reports concerned with the 60 projects and 6 major programs in which she has been involved. A selection:
- 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.
- M. Hamilton (1994), “Inside Development Before the Fact,” cover story, Editorial Supplement, 8ES-24ES. Electronic Design, Apr. 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. M. 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.
- NASA Office of Logic Design "About Margaret Hamilton" (Last Revised: February 03, 2010)
- Cambridge Women's Heritage Project "Margaret Hamilton"
- M. Hamilton and W.R. Hackler, "Universal Systems Language: Lessons Learned from Apollo", IEEE Computer, Dec. 2008.
- 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.”.
- NASA Press Release "NASA Honors Apollo Engineer" (September 03, 2003)
- Michael Braukus NASA News "NASA Honors Apollo Engineer" (Sept. 3, 2003)
- Eyles, Don (February 6, 2004). "Tales from the Lunar Module Guidance Computer". 27th annual Guidance and Control Conference. Breckenridge, CO: American Astronautical Society. Retrieved June 13, 2013.
- Hamilton, Margaret H. (March 1, 1971). "Computer Got Loaded". Datamation (Letter) (Cahners Publishing Company). ISSN 0011-6963.
- By A.J.S. Rayl "NASA Engineers and Scientists-Transforming Dreams Into Reality"