NASA Office of Logic Design

NASA Office of Logic Design

A scientific study of the problems of digital engineering for space flight systems,
with a view to their practical solution.


4.3 Simulation

Verification of the spaceborne computer by simulation on a general-purpose ground-based host computer is highly recommended. Simulation techniques should be considered before the computer characteristics are frozen. Since simulation is the only way to evaluate the computer before hardware has been fabricated, it is recommended that the effects of any proposed modification or expansion of the computer be examined by the simulation before a final decision is made. Simulation is most expeditious if the spaceborne computer is program-compatible with the host computer.

The host computer should be programmed to duplicate the results of each executed instruction of the spaceborne computer. It should maintain a measure of the real time that would be required to execute the program undergoing checkout on the spaceborne computer. The simulation should also include either static or dynamic external inputs, such as from gyroscopes and accelerometers, and manual data insertion and display devices. Since the I/O equipment on the host computer is usually not the same as on the spaceborne computer, the simulation should at least duplicate the data transfer portion of the I/O operation and allow interruption of the simulated machine. The simulation should allow detailed snapshots of the memory, core dumps, and branch traces.

Sample problems containing typical calculations for the expected mission are recommended for use in the simulation to compare organization, memory size, word length, functions, etc., of competing designs. The sample problems should be as representative as possible of the functions to be performed on the class of missions under consideration, such as boost guidance and vehicle control. These problems should consist of frequently used subroutines for each function. Executive control functions should also be included among the sample problems as well as problems requiring significant I/O operations. Estimates for computational speed, memory capacity, throughput, etc. should be made from the same sample problem to achieve a fair overall evaluation. In defining the sample problems the following information should be provided: 1) equations, flow, and decision logic for the problem, 2) I/O parameters alone, with the required precision, 3) iteration rate, and 4) percentage of total function represented by sample problem.

As a first step in developing the programs for the spaceborne computer, an assembler and/or compiler for the system should be prepared for the ground-based host computer. The compiler should execute on the ground-based computer to generate the object codes for the spaceborne computer and for checkout with the simulator. For cases where direct execution on a ground-based computer is desired, FORTRAN or PL/1 is usually sufficient to check out mathematical procedures, etc. Floating-point arithmetic on the ground computer is suggested to assist in developing a scaling strategy by indicating the expected ranges of the variables. The effort required to analyze and program mathematical procedures will be minimized if the same compiler-generated code used in developing the procedures on the ground-based computer is executed by the spaceborne computer. The simulator should be used to debug and test programs since the host computer can be provided with extensive tracing routines and diagnostics which are not practical for the smaller aerospace computer.

As the development of the space vehicle computer progresses, the simulation should include an accurate representation of the vehicle dynamics, sensors, and environment for the entire mission using the actual flight program (ref. 81). Simulation at this level provides a detailed picture of the dynamic interaction and the response of the programmed equations as they have been implemented on the spaceborne computer. Long-term effects of error propagation should be evaluated and subtle error sensitivities may often be uncovered.

Finally, a real-time simulation, using the computer itself and as much of the actual flight hardware as is feasible, should be conducted in order to validate the all-digital simulation. This may involve a hybrid analog-digital (A/D) computing system to represent the remainder of the vehicle and its environment.


Home - NASA Office of Logic Design
Last Revised: February 03, 2010
Digital Engineering Institute
Web Grunt: Richard Katz
NACA Seal