ABSTRACT

The most straightforward definition of 'flight software' is the complete set of computer instructions running on every processor on the spacecraft. Armed with a better understanding of the logical functions covered by flight software, the definition of flight software is concluded by discussing the engineering artifacts produced by a flight software effort. The Data Race principle provides an exceptional filter when making architectural decisions on where to place complexity and processing in a space system. Spacecraft processors need to boot, or initiate software functionality, and will reboot for several reasons during a mission. Command and data handling (C&DH) software represents the core functionality of a spacecraft system as it handles all commanding into the spacecraft and all data broadcast by the spacecraft as telemetry. Guidance, Navigation, and Control (GNC) software governs the self-guided motion of a spacecraft. Testbeds, autonomy, and acceptance testing are three main supporting features kept within the flight software work breakdown structure (WBS).