Óscar Rodríguez Polo
Alcalá University, Spain
Application of modeling techniques for on-board satellite applications: Requirements management, design, validation and verification activities
The development of on-board satellite software often faces very demanding deadlines due to the internal and external characteristics of the targeted space missions. The use of component-based software engineering for on-board satellite systems greatly facilitates the development of application software. The UML version 2 modeling language includes artifacts for modeling both the application structure and the components' reactive behavior. The level of expressiveness of these models makes it possible to automatically generate substantial parts of the final application code, allowing software development times to be significantly reduced. These times, however, constitute only a part of the total system development times. In these systems, validation and requirements verification activities consume significant time and personnel resources. Validation and verification procedures, whose depth will depend on the degree of criticality of the system, must be performed according to previously established quality standards such as, for example, the European Space Agency's ECSS-E-40 standard.
This presentation details the approach to flight software design using component models and requirements management, and validation and verification activities compliant with the ECSS-E-40 standard. Specifically, concerning the design, we will detail the subset of UML version 2 used in the development of the flight software for the Nanosat-01 and Nanosat-1B missions, led by the Instituto Nacional de Técnica Aeroespacial (INTA) and the development of the software for the instrument control unit of the Energetic Particle Detector of the Solar Orbiter mission. In addition, the extensions that have been added to deal with the management of external events (interrupts and timers) and the management of dynamic memory will be described, and the most relevant aspects of the automatic code generation from the models will be explained. Concerning requirements management and validation and verification activities, the workflow will be explained, with the products obtained, and how a model-based approach has allowed the integration of a low-code tool for the automatic execution of validation tests.