R&D Spacecraft Multicore Emulator
Konstantinos Monachopoulos
Senior Manager - Applied Machine Learning at Arm
In European Space Agency (ESA), spacecraft simulations are systematically used targeting the education of the personnel that is responsible not only for monitoring the spacecraft during the flight; but also for studying and verificating specific telecommands packet that intended in maneuvers of the spacecraft. Operational simulation is also used for controlling the software that implemented on the central computer of the spacecraft and in general for deeply knowledge of the behavior in different specific conditions and situations. Particularly important requirement represents simulation’s high fidelity; which is achieved by including an emulator component; responsible for the execution of the actual program (OBSW: On Board Software); identical to that performed in the spacecraft model during the flight.
Thesis goal is to investigate the construction of a latest technology emulator aiming the replacement of this; which is applied at the present time in space ESA missions. At the beginning of the construction of the emulator called “Sparcv8_Emulator”; always based in Official Sparc Architecture Version 8 Manual; and using techniques like Direct Interpretation; we accomplished to construct a machine that manages to emulate the functionality and processing the major component of the spacecraft. Considerable target of this code deals with the use of multi-processing techniques and parallel execution; so that the system can possible take advantage of multicore computers using the host operating system and therefore be able to achieve the best overall performance in terms of execution speed. In starter level; avoiding complexity; it has chosen to implement the emulator using two parallel procedures based on threads of the native operating system.
The programming language which was used for the structure of the emulator was ANSI C; due to the primary requirement which is the speed of calculations. The specific language being low level in general, presents more benefits for the specific purpose. As a result; we succeeded to fabricate the first version of this emulator with encouraging results. The construction of emulator’s base version that we describe in the present paper, consists of about 10.000 lines of C-code developed using CodeBlocks IDE.
https://github.com/kmonachopoulos/Spacecraft-Multicore-Emulator