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