A A A

Test Software

Cassini spacecraft : courtesy of ESA

Test software has a vital role in helping to ensure scientific instruments work properly when in space. However, its role is often broader than this, and encompasses: 

  • Supporting pre-launch phase testing of the instrument at both instrument and spacecraft levels, and provision of simulation facilities for both subsytems and environment.
  • Supporting instrument calibration.
  • Supporting post launch mission operations, including commissioning and special operations, problem diagnosis and verification of software prior to uplink to the spacecraft.

This test software is hosted within the Electrical Ground Support Equipment (EGSE), and hence is often called "EGSE Software". Usually, the bulk of the EGSE test software is hosted on the 'EGSE computers'. Similarly to flight software, test software is developed in a research environment whereby the requirements evolve during development, and must be completed to strict deadlines demanded by the space agency. Although not requiring the same levels of documentation, robustness, fault tolerance and build quality as flight software, it is generally far more complex. Not only does it have to support testing all the flight software functionality, but also the instrument hardware, and frequently has to simulate the spacecraft data handling system and other instrument and environmental components; as well as provide graphical display, networking, archiving, and reporting facilities. Test software functionality commonly includes:

  • Allow control of instrument (support commanding)
  • Instrument health data collection, decoding and display, and active monitoring by parameter checking and display warnings
  • Instrument science data collection, decoding and display (alphanumeric/graphical)
  • Provide sophisticated data analysis and displays
  • Simulation of missing instrument hardware, software and environmental elements
  • Interface to instrument directly, via spacecraft EGSE, or spacecraft directly
  • Archiving of commands and data
  • Log test activities
  • Allow test play back
  • Operate automated test (scripts) and verification
  • Provide support for command and telemetry databases (externally defined)
  • Support for multiple test processors/monitors and remote network links

Similarly to flight software, a large degree of this test software functionality is required to be real-time, involving a multi-tasking implementation. Specific technologies employed in developing ground test software include:

Technology  MSSL Experience
Computer Systems PC (Window's, real-time Linux), Sun Solaris, Mac OSX, Transputers
Languages Java, C/C++, Perl, IDL, occam, assemblers, Fortran, Basic, Pascal
Development Systems Virtuoso (for ADSP21020), Tartan Ada, TDS (Transputer Development System)
Data De-compression Quasi-log, SQRT (bit compression), JPEG, Wavelet (hcompress), Linear

Page last modified on 09 sep 11 14:51