Skip to main content

Using game-engine techniques and RUST to modernise on-board software

Closed

Closed

Organisational Unit
Activity Type
Implementation progress
0%
08 December 2022

Duration: 12 months

Objective

Airbus Defense & Space considers multi-core hardware payloads with more and more software defined data processing functions to handle its customers growing expectations in performance and features. A new generation of PayLoad SoftWare (PLSW), built in Rust and using field-proven techniques used in the game industry , would help the Space Industry to tackle these challenges. The Rust programming language leverages decades of experience from system programming languages and integrates novel static memory analysis tools down to its syntax (lifetimes, borrow checker) to eliminate whole class of memory and concurrency bugs at compile time. It offers a modern development experience integrated out-of-the-box: built-in cross-compiling build and package manager, document generators... Modern language features (such as sum types, pattern matching and hygienic macros) will offer a strong productivity boost compared to the current C-centric tools and workflows of the company. Game engines routinely handle thousands of entities interacting through very diverse systems (physic simulation, graphic rendering, AI). Yet, they execute successfully on multiple hardware targets from resource-constrained handheld console to power gamer desktops. PLSW could take inspiration from some core design principles such as the Entity-Component-System architecture design pattern that simply decouples design concepts in the code but allows for efficient and deterministic usage of computing resources at runtime. Other techniques of game engines might be studied, in particular, asset building pipelines and scripting engines as they support interactions with non SW stakeholders (game designers and artists). Finally Rust and game technologies could help the Space Industry to attract and train new SW talents: For example, Rust explicit handling of memory related concerns for safety and performance will help newcomers to build the mental memory model required for embedded critical software development.

Contract number
4000140066
Programme
OSIP Idea Id
I-2022-01161
Related OSIP Campaign
New concepts for onboard software development
Main application area
Generic for multiple space applications
Budget
100000€
USING GAME ENGINE TECHNIQUES AND RUST TO MODERNIZE ON BOARD SOFTWARE