Alors que l'industrie automobile se dirige inéluctablement vers le concept de “véhicule défini par logiciel”, le besoin de solutions logicielles robustes et fiables est de plus en plus prégnant. C’est dans ce cadre que la société allemande Etas (filiale du groupe Bosch), fournisseur de briques logicielles et d'outils de développement sur le marché automobile, a décidé d’adopter le langage de programmation Rust pour ses futurs logiciels embarqués.
Selon Etas, les langages de programmation traditionnels, bien que puissants, présentent souvent des faiblesses pour répondre aux exigences strictes de sécurité et de sûreté des véhicules modernes, en particulier au niveau de la gestion mémoire et de la notion de concurrence.
Ainsi, pour ce qui a trait à la sécurité mémoire, contrairement à certains langages traditionnels, Rust garantit cette notion au moment de la compilation, évitant ainsi les erreurs de programmation courantes telles que les dépassements de tampon, le déréférencement de pointeur nul et les "courses de données" (data races), situations qui se produisent lorsque plusieurs tâches ou threads accèdent à une ressource partagée sans protections suffisantes, conduisant à un comportement indéfini ou imprévisible.
Pour ce qui concerne la concurrence, Etas note que les véhicules modernes nécessitent des logiciels concurrents pour gérer plusieurs tâches simultanément. Or le modèle de gestion de la concurrence apportée par la sémantique du langage Rust simplifie le développement de telles architectures logicielles, facilitant l'écriture d’un code correct par construction.
Enfin, Etas indique que le langage Rust est soutenu par une communauté large et active, bénéficiant de ce fait d'un développement rapide, d'accès libre à des bibliothèques et à des outils de programmation, contribuant ainsi à l’écriture d’une meilleure qualité de code.
Concrètement, Etas indique ainsi qu’il va ouvrir son portefeuille de produits et ses flux de travail de développement de l'ingénierie logicielle automobile au langage Rust à travers le soutien de plusieurs initiatives. La société a joué par exemple un rôle clé dans la création du groupe d'intérêt spécial Rust Eclipse SDV (Software Defined Vehicle) qui vise à favoriser la collaboration et le partage des connaissances entre les entreprises automobiles, les fournisseurs de cloud et la communauté Rust au sens large du terme.
Parallèlement, Etas a mis en place en interne les projets CARS et Mage qui abordent la problématique de la redéfinition et de la modernisation par le biais du langage Rust du développement de logiciels embarqués automobiles fondés sur les spécifications Autosar Classic (AUTomotive Open System ARchitecture).
L’idée pour Etas avec CARS (Crate for AUTOSAR development in Rust) est de créer une chaîne d'outils complète fondée sur Rust en vue de favoriser l’émergence d’un processus de développement logiciel rationalisé, plus efficace et plus sécurisé pour l'architecture Autosar, un standard de l'industrie. Avec le projet Mage, Etas travaille en parallèle sur l'intégration de composants logiciels écrits en Rust dans des systèmes fondés sur la norme Autosar Classic. L’idée ici est de permettre aux développeurs de bénéficier des fonctionnalités de sécurité de Rust tout en maintenant la compatibilité avec les architectures automobiles existantes.
Enfin Etas indique vouloir s’appuyer sur le langage Rust pour créer une solution middleware déterministe spécialement conçue pour les applications de véhicules autonomes (systèmes d’aide à la conduite véhicules ADAS ou de conduite autonome AD). Le middleware et son SDK (kit de développement logiciel) associé permettront un développement rapide de ces fonctions pour les véhicules avec un niveau de sûreté élevé.
Vous pouvez aussi suivre nos actualités sur la vitrine LinkedIN de L'Embarqué consacrée au marché automobile : Embedded-Automotive