PRE-QUALIFICATION OF A MATHEMATICAL LIBRARY FOR FLIGHT SOFTWARE – EXPRO PLUS
3, May 2016

ESA Open Invitation To Tender AO8569
Open Date: 15/03/2016
Closing Date: 09/05/2016 13:00:00

Status: ISSUED
Reference Nr.: 16.132.01
Prog. Ref.: GSTP Period 6 E1 PRJ
Budget Ref.: E/0904-611 – GSTP Period 6 E1 PRJ
Special Prov.: DE+FI+CZ+RO
Tender Type: C
Price Range: 200-500 KEURO
Establishment: ESTEC
Directorate: Directorate of Technical & Quality Manag
Department: System, Software & Technology Department
Division: Software Systems Division
Contract Officer: Erkelens-Sickinger, Franziska
Last Update Date: 28/04/2016
Update Reason: Modified a Clarification (English version) 3

The common practice to manage the above functions in a Flight Software project is to isolate well known and stabilised functions like libm, and to characterise these functions with respect to input ranges, errors and performance. The mathematical library from new lib is widely used as a basis for flight software in the European space industry, but it is developed in the open source community where most of the mathematical functions are based on implementations from Sun from the 1990s. Note also that the mathematical library used in Matworks products Matlab and Simulink is the Intel Kernel Math library which is proprietary and can not directly be used in flight software. This approach doesn’t cover corner cases where some of these functions might reveal an unexpected behaviour, and it is normally not consistently applied across different environments (e.g. Matlab/Simulink, Software Validation Facility, target Flight Software). The mathematic functions included in the libm for SPARC rely on an old implementation and doesn’t take full advantage of the FPU present in all the flight processors currently in use. The usage of different mathematical libraries indifferent environments (i.e. Functional Electrical Simulator, Software Verification Facility, target Flight Software) leads to inefficiencies when validating the AOCS/GNC and scientific algorithms, because different precision and errors in the results need to be taken into consideration, and generally require to re-run the validation and characterisation tests in every environment. To overcome the above mentioned potential problems the activity includes: – To analyse existing state-of-the-art mathematical libraries and to identify the best practises in the use of a mathematical library in FSW in order to take full advantage of the FPU, minimise impacts caused by variability in the input arguments, and enforce control on the deployed FSW.- – To identify and characterise the optimal mathematical functions with respect to predictability, numeric precision and performance. – To identify the best practices in the use of mathematical libraries on Funcional Engineering Simulator (FES) (e.g. Mathlab/Simulink), SVF (e.g. processor emulator) and target environment, in order to maximise consistency in the AOCS/GNC and scientific algorithms results and to minimise the validation effort. – Foreach of the selected library/functions: – apply the reuse process of ECSS-Q80 to understand what level of reengineering is needed for a Cat B level – perform this re-engineering (spec, design, all tests, etc) – develop a reusable test suite that will be used in projects to delta qualify the library in the scope of the project. – prepare a pre-qualification data package with all the documents requested by the software standards. The test suite must also cover the numerical aspect of the work to be performed, by including some characterisation tests which are more related to the numerical behaviour of the library depending on the nature of the operation, nature of the input (small numbers versus large numbers), etc.
If you wish to access the documents related to the Invitation to Tender, you have to log in to the ESA Portal.