La société allemande HighTec EDV System, fournisseur de compilateurs open source commerciaux, et Intellias, société d'ingénierie logicielle et de conseil en transformation numérique d’origine Ukrainienne, indiquent avoir réussi l'intégration du langage Rust dans des applications automobiles au sein d'un environnement Autosar Classic.
Cette intégration a été réalisée grâce à l'utilisation conjointe du kit de développement d’ECU (Electronic Control Union) embarqués dans les automobiles d’Intellias et de la chaîne d'outils de compilation de HighTec, ainsi que du système d'exploitation temps réel et des composants logiciels de Vector Informatik.
En collaborant étroitement et en tirant parti des microcontrôleurs Aurix d’Infineon, les partenaires de cet écosystème ont réussi une migration fluide du C/C++ traditionnel vers un environnement hybride C/C++ et Rust, établissant ainsi un processus de développement jugé moderne pour favoriser l'innovation dans le domaine des logiciels automobiles.
Ce projet commun démontre, selon les trois sociétés, que le langage Rust peut accélérer le développement logiciel, renforcer la sûreté et la sécurité, et réduire les coûts de développement globaux d’un processus de conception de véhicules définis par logiciel (SDV, Software Defined Véhicule).
Selon les partenaires de cette intégration C/C++ avec Rust, l’adoption de Rust répond à quatre défis auxquels sont confrontés les constructeurs automobiles et leurs équipementiers de rang 1 : la sûreté, la cybersécurité, les coûts et les délais de mise sur le marché.
Côté sûreté et sécurité des systèmes automobiles, les trois sociétés estiment ces aspects peuvent être durablement améliorées grâce aux fonctionnalités de sécurité mémoire intégrées au langage Rust.
Parallèlement, cette approche serait à même de réduire et maîtriser les coûts de développement car Rust permet de détecter les problèmes de sécurité mémoire dès la compilation, à un stade précoce du développement. Ce qui évite des erreurs dont la correction ultérieure est coûteuse et chronophage, voire impossible une fois le véhicule en production.
Grâce à une approche de développement hybride, les constructeurs et leurs équipementiers peuvent aussi conserver leurs technologies Autosar Classic éprouvées et leurs investissements en C/C++ tout en enrichissant leur base de code avec des fonctionnalités innovantes et différenciantes en Rust.
Les trois sociétés indiquent dans le même temps que les équipementiers et fournisseurs de rang 1 hésitent souvent à adopter Rust en raison des incertitudes liées à son intégration dans les architectures automobiles existantes.
Dans ce cadre, grâce notamment à l’apport d’un compilateur Rust certifié pour la sécurité, HighTec et Intellias en combinant leurs expertises, outils et expériences de l'écosystème ouvrent la voie à une migration depuis le code C/C++ existant et autorisent des pratiques de développement logiciel sûres.
Pour rappel, HighTec est une des premières sociétés du marché à avoir proposer un compilateur Rust certifié pour la sécurité selon les normes ISO 26262 jusqu’au niveau ASIL D, complétant ainsi ses outils de compilation C/C++ éprouvés pour l'automobile et destinés aux microcontrôleurs Aurix d’Infineon. Fondé sur une technologie open source LLVM (Low Level Virtual Machine) ce compilateur permet de générer un code rapide et fiable et d'exploiter au mieux les performances élevées du microcontrôleur.
De son côté Vector apporte ici son expertise avec Microsar Classic, un logiciel embarqué complet avec les outils DaVinci associés pour l'intégration de logiciels applicatifs écrits en Rust. Avec son kit ECU, Intellias quant à lui montre qu’une migration réussie de composants logiciels écrits en Rust vers l'environnement Autosar est possible sans modifier l'infrastructure système.
Le démonstrateur pratique utilisé pour cette démonstration, architecturé autour du processeur Aurix TriCore TC375 d’Infineon et connecté à la plateforme technologique automobile d’Intellias IntelliKit, simule des signaux réels du véhicule, tels que la vitesse, le niveau de charge de la batterie ou les capteurs à ultrasons.
En conservant le code applicatif Autosar et C et en ajoutant des composants Rust à travers un chemin d'intégration défini, le démonstrateur propose ainis une stratégie de migration progressive et réaliste pour les constructeurs et les équipementiers.
« Rust recèle un potentiel immense pour le développement de logiciels automobiles, un potentiel qui reste encore à exploiter, explique Adam Konopa, directeur technique chez Intellias. Grâce à nos partenaires de l'écosystème, tels que HighTec, Infineon et Vector, nous aidons les utilisateurs à migrer rapidement et efficacement vers Rust dans un environnement Autosar Classic tout en réalisant des économies immédiates. »
On notera à propos de cette collaboration que les firmes allemandes Vector et HighTec EDV-Systeme ont déjà annoncé en 2024 une intégration entre le monde des logiciels écrits avec le langage Rust et le logiciel de base Autosar Classic fondé sur le langage C. Une première sur le marché selon les deux sociétés qui estiment que cette initiative élimine ainsi les derniers obstacles à l'utilisation de Rust dans le secteur automobile.
Concrètement, avec le logiciel de base Microsar Classic Safe de Vector combiné aux outils de compilation open source pour les langages Rust et C/C++ de HighTec, optimisés pour les processeurs Aurix TC3x et TC4x d’Infineon, les développeurs peuvent mettre à profit le langage de programmation Rust et ses caractéristiques de gestion sécurisée de la mémoire pour des applications à fortes contraintes en matière de sécurité fonctionnelle installées au cœur des calculateurs automobiles.
