Title: Verification and Validation of Spacecraft Embedded Software
1- Verification and Validation of Spacecraft
Embedded Software
Presented by Mike Rennie Director of Real-Time
Systems DEIMOS Space S.L. (Madrid, Spain)
2VV of Spacecraft Embedded SW
Contents
- Parent-Child Object Integration Tests
- Single Thread Integration Tests
- Multiple Thread Integration Tests
- Software Validation on a Real-Time Test Bench
3VV of Spacecraft Embedded SW
Parent-Child Object Integration Tests
- Incremental, bottom-up integration of
parent-child object hierarchy - Test cases described using UML sequence diagrams,
showing the call from test driver to parent to
child operations
4VV of Spacecraft Embedded SW
Single Thread Integration Tests
- Execution invoked at threads root, verifying
that it follows the expected path and that all
objects and operations along that path
collaborated correctly - Each thread tested in isolation of all the other
concurrent threads - Compile modules that are within the call tree of
the thread - Stub out all synchronization calls and rendezvous
with other threads - Test driver calls visible operations to control
the execution - Other objects needed only to compile and link the
main programme are also stubbed - Stubs write trace messages to standard output
- First and last statement of every operation in
the SW-under-test is a call to a marker
function, that gives a trace of the call sequence
5VV of Spacecraft Embedded SW
Structure of a Test Programme for Single-Thread
Integration
6VV of Spacecraft Embedded SW
- Call Tree Coverage Analysis for Single-Thread
Integration - Intended code coverage depicted by displaying the
threads call tree with the operations that were
intended to be exercised in green, stubs in grey,
and untested calls in white
7VV of Spacecraft Embedded SW
Multiple Thread Integration Tests
- Objective to verify real-time behaviour of
concurrent tasks co-operating together to
implement a major functionality. In particular,
exchange of data between control flows. Thus,
selection of test cases relies on identifying
communication paths between threads.
8VV of Spacecraft Embedded SW
Communication Path via a Protected Object in
HRT-HOOD
9VV of Spacecraft Embedded SW
- Software Validation on a Real-Time Test Bench
- A real-time test bench typically consists of
- Onboard computer (or emulation)
- Emulation of the communications
(telecommand/telemetry) link between Ground and
Spacecraft - Simulation of the environment surrounding the
onboard computer (actuators, sensors, space
environment) - Hardware-in-the-loop, i.e. real sensors and/or
actuators - Example (PACS)