Wednesday, 15 April 2015

Woman put man on the Moon

Who? Margaret Hamilton
When? July 20th, 1969
What? Apollo 11 moon landing
How? Some expertise in software and a creative team of engineers

Margaret's official photo for NASA

Lets start from the beginning. Margaret Heafield Hamilton is a computer scientist, systems engineer, and business owner from Paoli, Indiana. She was the director of the Software Engineering Division of the MIT Instrumentation Lab which was responsible for developing on-board flight software for the Apollo space program or Project Apollo. The work carried out by Hamilton's team of engineers subsequently prevented the abort of the Apollo 11 moon landing.  [1]

The following quote is an answer to the question in an interview with Medium; 
"I read that the Apollo would not have been able to land without your software. What did your software do?"

"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."
An image of Hamilton during her time as the lead Apollo flight software designer
At this time, software engineering was considered as a "stepchild" and not taken as seriously as other aspects of engineering such as hardware. It was considered an art, not science. Hamilton fought to use the term software engineering to distinguish it from hardware engineering. The term "software engineering" was actually laughed at in the beginning until it eventually gained the same respect as any other discipline of engineering like it is today. [2]

The code that got the first man on the moon was written in low level, assembly language. The priority coding and interrupt handling, which are common mechanisms when programming today, saved the moon landing. Her code recognized three minutes before the moon landing that an error occurred, so it diagnosed this as an issue and proceeded to filter out any unwanted messages. This resulted in a safe moon landing which made history for getting the first person to walk on the moon.

Hamilton with a printed copy of the code she wrote and oversaw on the Apollo 11 mission 
Margaret Hamilton is a giant in engineering. The world would not be in the place it is today without her innovative skills in engineering. A true inspiration.

By Sophie Wicks

References 
[1] http://en.wikipedia.org/wiki/Margaret_Hamilton_(scientist)

[2] https://medium.com/@verne/margaret-hamilton-the-engineer-who-took-the-apollo-to-the-moon-7d550c73d3fa

No comments:

Post a Comment