Margaret Hamilton published over 130 papers, proceedings and reports about the 60 projects and six major programs in which she has been involved.
In 1965 she became Director of Software Programming at MIT's Charles Stark Draper Laboratory and Director of the Software Engineering Division of the MIT Instrumentation Laboratory, which developed on-board flight software for the Apollo space program.
At NASA, Hamilton pioneered the Apollo on-board guidance software that navigated to and landed on the Moon and formed the basis for software used in later missions. At the time, programming was a hands-on, engineering descipline; computer science and software engineering barely existed.
Hamilton produced innovations in system design and software development, enterprise and process modelling, development paradigms, formal systems modelling languages, system-oriented objects for systems modelling and development, automated life-cycle environments, software reliability, software 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, man-machine interface systems, operating systems, end-to-end testing and life-cycle management.
She developed concepts of asynchronous software, priority scheduling and Human-in-the-loop decision capability, which became the foundation for modern, ultra-reliable software design. The Apollo 11 moon landing would have aborted when spurious data threatened to overload the computer, but thanks to the innovative asynchronous, priority based scheduling, it eliminated the unnecessary processing and completed the landing successfully.
In 1986, she founded Hamilton Technologies, Inc., developed around the Universal Systems Language and her systems and software design paradigm of Development Before the Fact (DBTF).