Migration von Automotive-Middleware von C++ nach Rust
Wie wir das Protokollierungsmodul von vSomeIP hinsichtlich Leistung und Speichersicherheit optimiert haben
Moderne Automobilsoftware muss schnell und sicher sein. Softwaredefinierte Fahrzeuge werden immer komplexer. Middleware-Komponenten müssen deshalb steigende Lasten bewältigen und zugleich strenge Anforderungen an die Speichersicherheit erfüllen.
Die Herausforderung? Rust in produktive C++-Codebasen einführen – ohne bestehende Systeme oder Arbeitsabläufe zu stören.
Die Lösung: Ein pragmatisches, praxiserprobtes Framework für den Einsatz von Rust in der Automobil-Middleware.
Ein bewährter Ansatz von Critical Software
Dieses Whitepaper dokumentiert, wie wir das Logging-Modul von vSomeIP im Produktivbetrieb refaktorisiert haben. vSomeIP ist eine weit verbreitete Open-Source-Middleware für SOME/IP und wurde gemeinsam mit der BMW Group entwickelt. Sie erfahren im Detail, wie wir Folgendes erreicht haben:
Thread-Konflikte beseitigt, die die C++-Implementierung ausgebremst haben
Die Leistung durch Rusts „Zero-Cost“-Abstraktionen gesteigert
Die Speichersicherheit verbessert, ohne Geschwindigkeit einzubüßen
Nahtlose C++-Interoperabilität mit produktionsreifen Werkzeugen hergestellt
Inhalt dieses Whitepapers
Ursachenanalyse: Leistungsengpässe und Threading-Probleme in C++
Wie das Eigentumsmodell von Rust typische Parallelitätsprobleme der Protokollierung im Fahrzeug löst
Schrittweise Integration mit cxx und corrosion für die Interoperabilität von Rust und C++
Umfassende Benchmarks: Original-C++, refaktorisiertes C++ und Rust-Implementierung im Vergleich
Praxisnahes Implementierungs-Framework
Warum die DLT-Protokollierung (Diagnostic Log and Trace) in Steuergeräten besondere Leistungsanforderungen stellt
Bewährte Strategien für die schrittweise Einführung von Rust in sicherheitskritischen Systemen
Ein wiederverwendbarer Leitfaden für die Modernisierung veralteter Software-Stacks in der Automobilindustrie
Für wen dieses Whitepaper gedacht ist
Softwarearchitekten, die eine Rust-Strategie planen
Automobilingenieure, die mit SOME/IP oder vergleichbarer Middleware arbeiten
Technische Leiter, die speichersichere Sprachen für ADAS- und SDV-Projekte bewerten
Verantwortliche für leistungskritische Embedded-Systems