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.


-