From predicting the weather to communications, satellites are present in our everyday life. Satellites circle around the Earth in a specific orbit but, how do they know their way to reach it? Before sending a spacecraft to the outer space, scientists need to make sure that they have the right instructions to get to their destination. For this purpose, satellites have a specific software called Attitude and Orbit Control System. The code behind this software is generated by model-based engineering, that produces different models by simulating different conditions and possible errors. The next phase is to translate the models into a custom-code, specific for every satellite, to create the navigation software. Although this step is automatic it needs deep verification and must pass multiple manual tests to make sure there will be no errors in the flight. This raises the cost of the process significantly.
With space agencies seeing an increase in interest and funding, a sudden demand has also surfaced concerning the use of auto-coding. Unfortunately, little has been done so far to satisfy this demand. That is what the project AURORA wants to change. AURORA will use the models created for the ESA’s Euclid Mission to validate a novel auto-coding process. Then, the team will test this code in a hardware environment that simulates possible failures the satellite might encounter while it is getting into its orbit.
The objective is to develop a set of tools that will automatize the validation process and will reduce the cost of satellite production.
The AURORA solution connects the QGen product to transform the Simulink models into source code. QGen (www.adacore.com/QGen) is a code generation and model verification toolset that grew out of European projects.
The Technology demonstration is carried-out by exercising the QGen automated code with the already validated and verified results of the Euclid AOCS auto-generated code. The demonstration process makes use of the test cases designed for Euclid AOCS formal verification and testing is performed in the actual Euclid Test environment. This approach facilitates the assessment of a higher Technology Readiness Level for QGen.
AURORA also provides the definition of an Autocoded Flight Software Life-cycle process and methodology for the Specification, Development and Validation of SW based on QGen. This activity supports an early verification of the models, an Auto-generated source code software production following an iterative process, Mission requirements Verification at model level and component level and an alignment with Space standards, enabling as much as possible the automation of the process.
The code generation tool-chain is integrated into the TASTE framework (https://taste.tools/), the ESA development environment dedicated to embedded real-time software. This task has a double goal, take advantage of this framework for the Technology demonstration process, and in the other hand, to give visibility to AURORA tool suite in the Space SW community through the TASTE open-access (Open-Source License). The Interoperability capability of the solution is ensured through a standard specification of component interfaces both for manual and auto-generated code as a basis to develop the critical SW product in TASTE.
The detailed lifecycle process, the methodology and set of tools, procedures that optimises the development of model-based spacecraft subsystems with auto-code, and the expected direct integration in on-board mission critical flight Software will have a direct impact for a better competition in the European and non-European space market.
Firstly, the consolidation of an Autocoding facility by integrating the AURORA tool-suite with a completed SW verification toolchain will be applied to design, model, simulate and verify the AOCS/ GNC software for several potential missions, using the Matlab/Simulink framework uniquely for modelling.
A reduction of AOCS/GNC SW delivery time is expected as the auto-coding guidelines and methodology will ensure the conformance of the proposed process through all the stages of the project. Moreover, the Interoperability capability will reduce the integration phase in time and cost and in a long-term approach (as reusability consolidates).
In general, the Society will benefit from the satellite applications enabled or facilitated by the AURORA technology. In addition to this, AURORA has strengthened the cooperation between the Academia and Space industry generating new, qualified job positions and research opportunities.