Standard Handbook for Aeronautical and Astronautical Engineers

Philippe Guyot
In-space computing really started in the 1970s with the availability of the very first processors able to survive the space environment.
The need for on-board intelligence comes from the specificity of space systems, for which commandability, operability, and observability are major design drivers.
The increase of on-board capability demand has followed a quasi-Moore's law. In fact, predefined state machine hardwired systems would have become a major show stopper in the early days of space adventure had in-space computing capabilities not effectively started.
As we observe today, on-board processing is a key issue in space system design to such an extent that coming requirements specify flexibility to cope with new mission requirements not defined at the time of the overall software design and lately introduced in the system through the telecommanding path after the launch.
We can find software everywhere and at very different stages of the system. It can be divided into two categories:
Ground software:
Software which is required to design and manufacture the system (satellite and environment models, design tools, manufacturing tools, etc.)
Software used to operate the satellite (system database processes, telecommand and telemetry handling, data archiving and retrieving processes)
On-board software:
Software embedded in dedicated units to produce specific functions for which hard/soft trade-off has concluded that software introduction would ease design and production and decrease nonrecurring and recurring costs.
Software embedded in main computers in charge of operating a large part...