Software Verification Environment for Cubesats
Designing and implementing software for space is challenging. Not only does the software has to be able to cater for various scenarios, but the software also has to undergo an enormous amount of software verification before it can be allowed to be used in space.
Based on ACSER’s existing Cubesat mission experience (refer to UNSW-EC0), the project involves research on the current state of end-to-end (onboard-computer to ground station) software of a cubesat mission and the comparison against that of the traditional large scale mission software that has been made available opens source to draw the best verification platforms from both types of systems to create a highly agile and automated software base operating system and verification platform for future cubesat missions.
The software needs to be verified against crashes due to consistent concurrency issues, data corruption, and human errors in commands and schedules. It also needs to be able to successfully reboot from Single Electron Upset (SEU) faults.
The study aims to implement the software validation on a PC emulation model and deploy it on an embedded system (Cubesat onboard-computer). There are two types of verifications to be employed. First is where a built-in list of stimuli in randomised sequence and occasionally concurrent routine executions will be triggered on the on-board computer to check for crashes. Second, the computer emulation model for a ground station control software will be implemented to send and receive commands, data and files. The PC emulator will be used to check for anomalies occurring at the onboard-computer. The commands and schedules may contain human error.