The Heart and Soul of Apollo: Doing It Right the First Time
Overview
Section titled “Overview”“The Heart and Soul of Apollo” is a presentation Hamilton delivered at the 2004 MAPLD International Conference — a venue focused on military and aerospace programmable logic devices. The title itself encapsulates Hamilton’s philosophy: “Doing It Right the First Time” is her shorthand for the Development Before the Fact (DBTF) approach that grew out of her Apollo experience.
This presentation predates the USL: Lessons Learned from Apollo (2008) IEEE Computer paper by four years, and is cited there as reference [4]. It likely represents an earlier, more visual articulation of the same ideas Hamilton and Hackler later formalized in the IEEE paper.
Significance
Section titled “Significance”The choice of venue is telling. MAPLD’s audience — engineers working on programmable logic for military and aerospace applications — face some of the same constraints Hamilton’s team faced on Apollo:
- Permanence after deployment. Programmable logic synthesized into an ASIC, like software woven into core rope memory, cannot easily be patched in the field. The DBTF philosophy of preventing errors at definition time applies directly.
- Safety-critical operation. Both domains involve systems where failure can endanger lives, and where traditional “test and fix” approaches are insufficient.
- Hardware-software integration. Hamilton’s conviction that software engineering and hardware engineering are fundamentally the same discipline at the systems level is precisely the message this audience needs.
Expected Content
Section titled “Expected Content”Based on the title, venue, cross-references, and Hamilton’s other publications, the presentation likely covers:
Apollo Software Architecture
Section titled “Apollo Software Architecture”The core narrative of how the onboard flight software was developed, with emphasis on the design philosophy of prevention over correction. This includes:
- The transition from synchronous to asynchronous execution for manned missions
- Priority scheduling and the assignment of unique priorities to every function
- Error detection and recovery mechanisms — Priority Displays, restarts, “kill and recompute”
- The Apollo 11 incident and how the software’s architecture saved the landing
From Apollo to USL
Section titled “From Apollo to USL”How lessons learned from Apollo errors led to formal methods for system definition:
- The discovery that 75% of all errors were interface errors
- The development of axioms and primitive structures
- The DBTF methodology as a direct response to Apollo’s error patterns
Visual Materials
Section titled “Visual Materials”As a PowerPoint presentation, this document likely contains diagrams, flowcharts, and possibly photographs not available in Hamilton’s text-based publications:
- Architecture diagrams of the Apollo software structure
- Visual representations of FMaps and TMaps
- Timeline or incident diagrams for Apollo missions
- Photographs from the Apollo era
Related Documents
Section titled “Related Documents”- USL: Lessons Learned from Apollo (2008) — The IEEE Computer paper that cites this presentation as reference [4] and likely expands on its content with formal mathematical detail.
- The Apollo On-Board Flight Software (2019) — Hamilton’s retrospective covers similar Apollo narrative territory in a shorter, purely textual format.
- Colossus Erasable Memory (1972) — The COLOSSUS GSOP documents represent the actual “heart and soul” software artifacts Hamilton discusses.