Margaret Hamilton - Apollo and Beyond
Written by Sue Gee   
Monday, 05 September 2016
Article Index
Margaret Hamilton - Apollo and Beyond
Engineering Mission Critical Software
Hamilton Technologies



The Gender Issue?

A question that Margaret Hamilton is regularly asked was posed by Jolene Creighton for an interview that appeared on Futurism in July 2016.

What was the relationship between women and men and programming like when you started working? 

Her response suggests that gender really wasn't an issue: 

There were many more men than women in our profession, and this is still the case. Regarding my own experiences, women were always in the minority and men were always in the majority. Before and during Apollo, my colleagues, including those on the software engineering team, for which I was responsible, were mostly male.

But more than anything, we were dedicated to the missions and worked side by side to solve the challenging problems and to meet the critical deadlines. I was so involved in what we were doing, technically, that I was oblivious to the fact that I was outnumbered by men.  We concentrated on our work much more than whether one was male or female. We were more likely to notice if someone was a first floor or second floor person, a hardware or software guy, or what area someone was specializing in, e.g., man-machine interface, operating system, error detection and recovery, or in an application specific area.

Higher Order Software

After Apollo, Hamilton worked on Skylab, the United States’ first space station, and some of the preliminary system software requirements for the Space Shuttle’s flight software. This was a logical continuation of the path she had been following and her area of specialization, which she explained in 2001: 

As time went on, I got very interested, even more and more interested in error detection and recovery, because of the errors that took place and how we could avoid them in the first place. We were doing simulation, much simulation, but of course we couldn't test the flight in real time. We had to simulate it, and I got very interested in static analysis. 

We began to analyze all of the errors that had taken place on the flight software when we were in actually Validation & Verification mode. When each of many of the error reports came in asking for "reason for error," the engineers would fill in a response and they would just say "bug" and that wasn't enough.

So we got very interested in how we wrote errors up, so that if we understood the error, then we could maybe prevent it on the next mission. We did a thorough analysis of the on board flight software, including the errors themselves, and began to categorized those errors.

By the time Hamilton left NASA in 1976 she had evolved a theory with with six axioms, that have to do with defining software in such a way as to avoid interface errors. This was initially called Higher Order Software and she co-founded a company named to devise  a complete tool suite environment that could eliminate such errors.

Development Before the Fact

After her first company was bought out by venture capitalists, she started a second one, Hamilton Technologies, of which she is still CEO at the age of 80. The theory evolved into one now called Development Before the Fact, which is defined by Hamilton Technologies as:

a system planning, design and software development paradigm where each system is defined with properties that control its own design and development, in essence "performing" its own development. Such a system can be thought of as having built-in quality and built-in productivity. With this paradigm, an emphasis is placed on defining things right the first time. Problems are prevented before they happen. Each system definition not only models its application but it also models its own life cycle.

Margaret Hamilton's informal description in 2001 of DBTF is that it has:

system-oriented objects each of which integrates the functional, the timing and the data side of a system

The DBTF concept is the basis for Universal Systems Language (USL) described by Wikipedia as: 

is a modeling language and formal method for the specification and design of software and other complex systems. It was designed by Margaret Hamilton based on her experiences writing flight software for theApollo program.

USL isn't just theoretical, it is implemented as the 001 Tool Suite. The product overview states:

001 (pronounced "double oh one") is a fully integrated systems engineering and software development environment. It can be used to define, analyze and automatically generate complete, integrated, and fully production-ready code for any kind or size of software application with significantly lower error rate and significantly higher reusability than with traditional approaches. Since 001 has an open architecture it can be configured to generate (or interface to) systems at all levels including for hardware platforms, software platforms, programming languages, databases, operating systems, internet systems, embedded systems, communication protocols, GUI's and legacy code of choice.

This screen is from a demo created in 2015:



Margaret Hamilton deserves to be a role model as a woman whose lifelong achievments and accomplishments have brought professionalism to the role of the programmer. However although she could be called the "first software engineer" for having introduced the term her name is hardly well known.  In fact she has had some recognition. In 1986 she was an early recipient of the Ada Lovelace Award established by the Association for Women in Computing. 


hamilton nasa


In 2003 she was granted a  NASA Exceptional Space Act Award for her scientific and technical contributions. In nominating her, Dr. Paul Curto, senior technologist for NASA's Inventions and Contributions Board commented ,

"I was surprised to discover she was never formally recognized for her groundbreaking work. Her concepts of asynchronous software, priority scheduling, end-to-end testing, and man-in-the-loop decision capability, such as priority displays, became the foundation for ultra-reliable software design." 

Presenting her with a check for $37,200, the largest  award to an individual in NASA's history, NASA Administrator Sean O'Keefe said:

"The Apollo flight software Ms. Hamilton and her team developed was truly a pioneering effort. 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." 


Grace Hopper - The Mother of Cobol

Rear Admiral Grace Brewster Murray Hopper was responsible not only for the development of the Cobol language but also for the continuous pressure within the industry to make computers and computing mo [ ... ]

William Shockley and Solid State Electronics

Computers need suitable components to be developed before they can be built. It was the invention of the transistor that led to California's Silicon Valley became a hotbed of electronics innovati [ ... ]

Other Articles






or email your comment to:

Last Updated ( Saturday, 20 July 2019 )