On-Board Software requirements
The general technical requirements for on-board software, specific to space
projects, are:
- Very high level of dependability. Software implements mission
critical functions, and needs to be produced and tested following
rigorous software engineering methods and software product
assurance requirements.
- The software runs on specialised microprocessors, with limitations on
memory and computational resources. The software is stored on-board
using specialised read-only memories, that need to be frozen
long before launch.
- The software provides specialised services to electrical interfaces and
buses, with strict real-time requirements. (e.g. OBDH,
MIL1553, CAN buses, Spacewire, etc
- Long term maintenance of in flight software required for the life-time
of the spacecraft. In-flight maintenance and 'repair' of software,
while it is running and performing critical functions, is technically
very challenging. Both incremental code changes (patches) and
complete new up-loads required. A supported lifetime of 10 years or
more is not unusual.
- The software is required to work the very first time flown. Unlike
e.g. aircraft systems, there is no opportunity to make prototype
flights, where deficiencies can be found and corrected. This leads to
strong requirements for software validation, including Independent
Software Verification and Validation (ISVV) and software validation
facilities that allow ISVV to be performed before and after software
is integrated at system level.
Last update: 2 August 2006
|