Apollo Computer Science
At the start of the Apollo program, the onboard flight software needed to land on the moon didn’t exist. Computer science wasn’t in any college curriculum. NASA turned to mathematician Margaret Hamilton, of the Massachusetts Institute of Technology, to pioneer and direct the effort. With her colleagues, she developed the building blocks for modern "software engineering," a term Hamilton coined. What later became the foundations for her Universal Systems Language (001AXES) and Development Before the Fact (DBTF) formal systems theory, allowed the team to create what she called ultra-reliable software for the moon trip. In addition to creating the concept of priority displays, where the software in an emergency could interrupt the astronauts so they could reconfigure in realtime, Hamilton established hard requirements on the engineering of all components and subsystems, insisted on debugging all component and testing everything before assembly, then simulated every conceivable situation at the systems level to identify potential problems before releasing the code.
"There was no second chance. We all knew that," Hamilton said. "We took our work very seriously, but we were young, many of us in our 20s. Coming up with new ideas was an adventure. Dedication and commitment were a given. Mutual respect was across the board. Because software was a mystery, a black box, upper management gave us total freedom and trust. We had to find a way and we did. Looking back, we were the luckiest people in the world; there was no choice but to be pioneers; no time to be beginners." Hamilton’s integrity and ability to balance fearlessness with attention to detail may have ensured Apollo 11’s success.
comments powered by Disqus