The Shuttle primary onboard software and associated computer hardware comprise a data processing complex responsible for virtually all inters}stem data flow and vehicle external interfaces. Onboard functions related to guidance, navigation, flight control, systems monitoring, and management, as well as vehicle/crew/ ground interfaces, are handled by this primary system. The organization that prepared the software for the Shuttle orbital flight tests emphasized a disciplined design and development phase coupled with a thorough independent verification activity. Current focus is centered on tailoring the software organization, test philosophy, and maintenance and test facilities to the high flight frequencies and diverse missions expected during the Shuttle operational era. Shuttle Software Overview T HE successful completion of the first orbital flight of the Shuttle (STS-1) in April of 1981 marked the culmination of one of the most complex software development and integration activities ever undertaken. The evolution of the Shuttle's data processing system (DPS) has spanned more than eight years. Along with the orbital flight tests, the development program also included the approach and landing test (ALT) project during which a Shuttle vehicle was launched from a Boeing 747 aircraft and performed the terminal approach and landing portions of the Shuttle mission. Five such ALT flights were performed during August through October of 1977 providing an early test bed for both the DPS hardware and basic software architecture that would eventually be used for the orbital test missions. With respect to size and complexity, the software for the first orbital flight test of the Shuttle involved eight separately executable programs or memory configurations sharing a common operating system (see Fig. 1). These programs were stored on a mass memory tape device and were loaded into the onboard computers on crew request. One of the eight performed all functions necessary to the launch, ascent, and orbit insertion phases of the mission. Two others provided software to be used during on-orbit operations and included both navigation and control functions as well as system monitoring and management functions. Another memory configuration performed all functions necessary to the de-orbit, entry, and landing mission phases. The remaining four were designed to perform critical prelaunch and on-orbit vehicle checkout procedures. In all, these eight programs, including the software operating system, comprised approximately one-half million 32-bit words of data and executable instructions. All Shuttle applications software modules and a large part of the operating system included in these memory configurations were implemented in the HAL/S high-order language. The language and associated compiler, specifically developed for aerospace applications, are scientifically oriented and especially suited to real-time systems. The criticality of the software to the Shuttle is emphasized by its numerous interfaces with other vehicle subsystems. There are few functions integral to the Shuttle operation for