In the modern era, access to space is more important than ever. Space missions deliver satellites that we use for telecommunications, Earth observation and other purposes every day, and support manned and unmanned space exploration, which helps us answer life’s most meaningful questions and inspires the development of technologies that improve the way we live. Launchers support the delivery of mission-critical payloads.
Software is essential to the success of space missions. Key areas of functionality on launchers and spacecraft including telecommand/telemetry, navigation and positioning, AOCS and energy management require the use of software, without which we would never have explored beyond the Earth’s atmosphere. As hardware technologies develop, onboard software is evolving to include more functionality and complexity.
As failure of space software components could mean mission failure, flight software is tested to standards such as NASA NPR 7150.2d or ECSS-E-ST-40C to ensure that it operates correctly on mission. Efficient and robust testing and verification is needed to ensure project and mission success.
Verification requirements for flight software
Software verification is crucial to demonstrate that safety-critical and mission-critical flight software meets its functional and nonfunctional requirements. A range of activities support meeting verification requirements for flight software, including the following.
Flight software code needs to be tested to verify the software functionality and identify and/or remove defects in the code. This testing should be against software requirements developed during the product development life cycle and is required to meet NASA NPR 7150.2d (§4.5) and ECSS-E-ST-40C (§5.5.3.2.a-c, §5.5.4.2, §5.8.3.5.a) requirements.
Structural coverage analysis (code coverage analysis) for flight software ensures that the software has been tested by requirements-based testing. Code coverage analysis is required to meet NASA NPR 7150.2D (§3.7.4, §4.5.9, §4.5.10) and ECSS-E-ST-40C (§5.8.3.4.b-e) requirements.
The ECSS-E-ST-40C standard further requires object code coverage analysis for criticality category A software where traceability between source code and object code cannot be determined (§5.8.3.5.b).
Safety-critical flight software must operate within timing deadlines. Timing and response time analysis is required to meet NASA NPR 7150.2d (§5.4.5) and ECSS-E-ST-40C (§5.8.3.5.5a.5.) requirements to demonstrate that the code meets performance requirements including satisfaction of timing budgets.
To support this process, schedulability analysis is typically undertaken. This ensures that task scheduling meets temporal deadlines.
Data coupling and control coupling analysis can demonstrate that code implements correct data and control flow, as required by ECSS-E-ST-40C §5.8.3.5.5.
Cyclomatic complexity analysis determines the complexity of code included in mission or safety-critical programs. This analysis is required to meet NASA NPR 7150.2d requirement §3.7.5.
“The AMASS project aims to reduce the cost of certifying systems such as the ones we develop, which is critical for the continued production of safe systems and the growth of our industry. Along with other efficiency improvements, Rapita’s structural coverage analysis solution increased our end-to-end test speed by ~40% when compared with our previous approach, which will let us produce verification evidence faster and reduce downstream certification costs. It was a delight working with Rapita. Their expert engineers quickly adapted to our build system and the integration went far more smoothly than we could have expected.”
Anders Edfors
Attitude and Orbit Control Systems Specialist
OHB Sweden
Benefits of working with Rapita
Efficient testing & verification
Meeting project budgets is a top priority, which is why we focus heavily on making software testing and verification efficient.
We provide training and consultancy on making your testing and verification process more efficient, and our software includes key effort-saving features such as merging of results from different test runs and migration of coverage justifications.
On-target expertise
At Rapita, we know that on-target testing is the gold standard, and our verification solutions are designed with this in mind.
With flexible integration strategies, RVS can integrate with almost any embedded target or simulator, regardless of available memory, bandwidth, or code size, and has been used for on-target verification of LEON and ARM processors.
RVS’s instrumentation is the lowest on the market, meaning fewer test runs are needed to collect results to verify your system.
Verification, your way
Every project and organization is different, and an efficient verification approach must align with your processes and development environment.
RVS integrates into your existing development environment, including build system, requirements management and application life cycle management tooling.
One-stop solution
Using too many independent pieces of software slows projects down and causes a management headache.
Rapita and RVS provide solutions for all of the key verification activities you’ll need to perform that require dynamic analysis, meaning you can simplify both your verification strategy and your procurement.
A trusted partner
When you work with us, we do our best to support your needs, every time.
We regularly develop custom tools and solutions to meet specific verification needs.
Support is a cornerstone of our business, and our support team regularly exceeds our high service objectives. Check out some of our support testimonials to see we aren’t exaggerating.