|
Test Software
|
|
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 | 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 |
Data De-compression |
Quasi-log, SQRT (bit compression), JPEG, Wavelet (hcompress), Linear |
|
|