Ferrocene pour du Rust embarqué critique
Laurent Wouters
2023-12-01
Rust pour l’embarqué
Écrire du code Rust pour des applications embarquées est depuis longtemps un objectif de la communauté. Il existe même un livre spécifique traitant de ce sujet, en plus de nombreux crates disponibles sur crates.io pour faciliter le travail d’abstraction du hardware, ou encore écrire du code asynchrone. Jusqu’à maintenant, il n’était en revanche pas évident de l’utiliser dans un contexte industriel pour des applications critiques qui doivent être certifiées.
Arrivée de Ferrocene
C’est maintenant de l’ordre du possible avec Ferrocene, comme annoncé le 8 novembre 2023 par Ferrous Systems, l’organisation derrière cette initiative. Ferrocene présente des arguments convainquant pour ce type d’applications avec le support des standards ISO 26262 (ASIL D) et IEC 61508 (SIL 4). Ferrous Systems laisse également entendre le support futur d’autres standards : DO-178C, ISO 21434 et IEC 62278.
Ferrocene présente de nombreux avantages pour ceux déjà habitués à Rust. En effet, le compilateur qualifié n’est autre que la version 1.68 sans modifications supplémentaires. L’approche choisie par Ferrous Systems a été de faire remonter les patchs nécessaires au projet Rust lui-même, s’assurant ainsi que le compilateur qualifié ne diffère par de l’habituel, ne faisant que fixer une version particulière. Cette approche est bénéfique pour la communauté puisque le compilateur habituel bénéficie des améliorations fournies par Ferrous Systems. De l’autre côté, il n’y a pas de changements particuliers à prendre en compte pour commencer à utiliser Ferrocene lorsque l’on a déjà une expérience avec Rust.
Finalement, un aspect rassurant est que cette qualification du compilateur Rust a été obtenue par l’association de Ferrous Systems avec AdaCore, habitué des exigences liés aux processus de qualification et certification.