Computers in Spaceflight: The NASA Experience

Epilogue: Themes in NASA's Computing Experience
[299] Running throughout the individual histories of American space flight computer systems are five themes that encapsulate NASA's intentions and experiences. Developing and evolving over the last quarter century, they promise to dominate NASA's use of computers for space flight well into the future. The themes are: the need for real time systems, the use of redundancy to maintain reliability and safety, the choice of off-the-shelf equipment wherever possible, the adoption of distributed processing, and adherence to the principles of software engineering in system development.
Real-Time Systems
NASA had no choice but to become a leader in the development of real-time systems, beginning with the decision to use computers to support manned and unmanned flights. Including a computer on-board spacecraft further sealed NASA's fate as a developer and user of embedded computer systems-computers within larger systems replacing or enhancing existing hardware. Therefore, it is in this field of computing that NASA has had its greatest impact.
Contractors working on NASA's real-time systems have been able to benefit from what they learned in the process of completing their contract obligations. For example, an immediate application of techniques used in the Mercury Monitor was IBM's System 360 operating system. Later, experience with fly-by-wire systems quickly spread to civilian and military applications. Within 10 years of the first digital fly-by-wire aircraft flight, airliners using the technology were in prototype. As computers continue to shrink in size and increase in power, the applications of real-time computing will grow enormously.
Reliability and Safety Through Redundancy
NASA has achieved increasing levels of reliability through a concurrent increase in the levels of redundancy. Ground systems always had an active backup. On-board systems acquired them as size and performance improvements made it possible. The use of computers running in parallel, working on the same calculations, made necessary the development of redundancy management techniques. Thus, again, NASA pioneered an area which was as yet poorly developed.
Proven Equipment
[300] Even though NASA led the way in the development and use of some aspects of modern computing, one area in which innovation was purposely avoided was hardware. Acting in the belief that existing equipment is inherently more reliable and less risky than new, custom-designed computers, NASA sought to acquire proven processors wherever possible. As a result, flight systems are often years behind the current state-of-the-art. Nevertheless, they can complete the missions for which they were purchased. In long-term programs, such as the Shuttle, processors are being replaced by newer (but not the newest) equipment where possible.
Distributed Processing
Partly as a result of safety considerations, partly for convenience, and partly because different organizations often contribute subsystems to the same spacecraft, there is a continuing trend toward the use of distributed computing both in flight and on the ground. Most new NASA computer systems are functionally distributed. On an unmanned spacecraft, for instance, separate computers handle command interpretation, data acquisition and attitude control. Other examples include the Shuttle Launch Processing System and the Shuttle itself, which has computers on the main engines as well as other components. Again, improved processors will make it cheaper and easier to continue this trend in the future.
Software Engineering
Software engineering has always been a big part of NASA's business, even in the era before 1968 when the term did not yet exist. In recent years, it has become a central focus of activity. NASA has developed an Agency-wide software development standard and made it available to the various Centers. Short courses on software engineering topics are being taught routinely. The Jet Propulsion Laboratory has established a software resource center. Goddard Space Flight Center regularly sponsors a software engineering conference. Conferences have been held to get an early start on the use of the the Ada programming language in the Space Station project. Obviously, NASA is committed to improvement and high quality in this field, as more and more functions on space flights are taken over by computers.
[301] In all, NASA has very effectively adapted its operations to the Computer Age. Computers, frankly, make useful spaceflight possible. Even though a spacecraft could theoretically be placed in orbit using a World War II tilt-table missile guidance system and mechanical clocks, landing safely on the moon, flying within kilometers of the outer planets, and landing on runways after descending from space would all be unlikely happenings with the old technology. As Man begins the era of permanent presence in space, his partner will be millions of bits flashing in a sea of transistors, a helpmate in the discovery of the universe.

link to previous pagelink to indexlink to next page