An Architecture-Tracking Approach to Evaluate a Modular and Extensible Flight Software for CubeSat Nanosatellites

Delivering better flight software is an important concern to improve CubeSat missions success. It has been identified as a key element to enhance team collaboration, increase reusability, reduce the mission risk, and facilitate the development and operation of new mission concepts, such as satellite...

Full description

Saved in:
Bibliographic Details
Main Authors: Carlos E. Gonzalez, Camilo J. Rojas, Alexandre Bergel, Marcos A. Diaz
Format: Article
Language:English
Published: IEEE 2019-01-01
Series:IEEE Access
Subjects:
Online Access:https://ieeexplore.ieee.org/document/8758807/
Tags: Add Tag
No Tags, Be the first to tag this record!
Description
Summary:Delivering better flight software is an important concern to improve CubeSat missions success. It has been identified as a key element to enhance team collaboration, increase reusability, reduce the mission risk, and facilitate the development and operation of new mission concepts, such as satellite mega-constellations. An appropriated fight software architecture represents the functional and non-functional requirements and guides the development. Therefore, to achieve the expected software quality, the architecture should be closely monitored during the entire software life cycle. However, ensuring that a flight software for a spacecraft embedded system closely follows the proposed architecture and addresses the set of non-functional requirements is a difficult and nontrivial problem. Motivated by requirements commonly described in previous CubeSat missions, in this work, we present the design and implementation of a <italic>flight software architecture</italic> based on the <italic>command design pattern</italic>. We also present an <italic>architecture tracking methodology</italic> to verify and control the flight software quality criteria during the development process through the use of <italic>graphical software analysis tools</italic> and agile programming techniques. This automatic software analysis tool was developed using Git, Jenkins, Moose, and Roassal, and has been applied in the SUCHAI series of nanosatellites to evaluate the impact of the architecture verification during the development history. The implemented flight software and the verification tools have been released as <italic>open source</italic> platforms and are available for the CubeSat community.
ISSN:2169-3536