Survey of Verification and Validation Techniques for Small Satellite Software Development

The purpose of this paper is to provide an overview of the current trends and practices in small-satellite software verification and validation. This document is not intended to promote a specific software assurance method. Rather, it seeks to present an unbiased survey of software assurance methods used to verify and validate small satellite software and to make mention of the benefits and value of each approach. These methods include simulation and testing, verification and validation with model-based design, formal methods, and fault-tolerant software design with run-time monitoring. Although the literature reveals that simulation and testing has by far the longest legacy, model-based design methods are proving to be useful for software verification and validation. Some work in formal methods, though not widely used for any satellites, may offer new ways to improve small satellite software verification and validation. These methods need to be further advanced to deal with the state explosion problem and to make them more usable by small-satellite software engineers to be regularly applied to software verification. Last, it is explained how run-time monitoring, combined with fault-tolerant software design methods, provides an important means to detect and correct software errors that escape the verification process or those errors that are produced after launch through the effects of ionizing radiation.

[1]  Karen Gundy-Burlet Validation and Verification of LADEE Models and Software , 2013 .

[2]  George Ritter,et al.  Software Development and Test Methodology for a Distributed Ground System , 2013 .

[3]  Joost-Pieter Katoen,et al.  Formal correctness, safety, dependability, and performance analysis of a satellite , 2012, 2012 34th International Conference on Software Engineering (ICSE).

[4]  Eliane Martins,et al.  An Independent Software Verification and Validation Process for Space Applications , 2008 .

[5]  M. Swartwout Cheaper by the dozen: The avalanche of rideshares in the 21st century , 2013, 2013 IEEE Aerospace Conference.

[6]  Jeremie Pouly,et al.  Model-based specification of the flight software of an autonomous satellite , 2011 .

[7]  Siegfried Janson 25 Years of Small Satellites , 2011 .

[8]  Keijo Heljanko,et al.  Electronic Communications of the EASST Volume 46 ( 2011 ) Proceedings of the 11 th International Workshop on Automated Verification of Critical Systems ( AVoCS 2011 ) A Symbolic Model Checking Approach to Verifying Satellite Onboard Software , 2011 .

[9]  Neil C. Rowe,et al.  Software Design For a Fault-Tolerant Communications Satellite , 2000 .

[10]  A Sanchez,et al.  EDROOM: a free tool for the UML2 component based design and automatic code generation of tiny embedded real time system , 2006 .

[12]  James Chartres,et al.  EDSN Development Lessons Learned , 2014 .

[13]  Hoyt Lougee,et al.  SOFTWARE CONSIDERATIONS IN AIRBORNE SYSTEMS AND EQUIPMENT CERTIFICATION , 2001 .

[14]  Mengu Cho,et al.  Mission Results and Anomaly Investigation of HORYU-II , 2013 .

[15]  Florian Leitner-Fischer,et al.  Evaluation of the Matlab Simulink Design Verifier versus the model checker SPIN , 2008 .

[16]  R. D. Coblin Fault management on communications satellites , 1999, MILCOM 1999. IEEE Military Communications. Conference Proceedings (Cat. No.99CH36341).