Vehicle Services Interface Definition Language (VSIDL) ist eine domänenspezifische Sprache, die auf Protokollzwischenspeichern basiert. VSIDL wurde entwickelt, um die Schnittstellen und Interaktionen zwischen Service-Bundles in einem Software Defined Vehicle (SDV) zu definieren. Informationen zu Servicepaketen finden Sie unter Serviceeinheiten und Servicepakete.
VSIDL bietet die Schnittstelle für die Interaktion mit Diensten auf niedrigerer Ebene im SDV-Ökosystem. Mit VSIDL können Sie Serviceeinheiten angeben, die über Remote Procedure Calls (RPCs) kommunizieren, einschließlich Unary-, Client-Streaming- und Server-Streaming-RPCs, einem Datentunnel oder SOME/IP-Dienstzuordnungen für die Interoperabilität mit AUTOSAR-Steuergeräten und SOME/IP-Stacks (z. B. COVESA vsomeip). Der von VSIDLC generierte Code übernimmt die Registrierung von Serviceeinheiten bei SDV Service Discovery.
Mithilfe zusätzlicher Konfigurationsdateien kann der von VSIDLC für Service-Bundles generierte Code als APEX-Dateien verpackt werden, die vom Orchestrator und vom SDV Lifecycle Manager gesteuert werden können.
SDV-Dienste implementieren
Im Folgenden finden Sie die allgemeinen Schritte zum Definieren der Schnittstellen und Interaktionen zwischen Service-Bundles in einem SDV und zum Erstellen von APEX-Paketen für die Bereitstellung:
- Definieren Sie Datenstrukturen in Protobuf-Dateien (Dateien mit der Erweiterung
.proto). Mit Protobuf werden die Datenstrukturen definiert, die zwischen den von VSIDL definierten Serviceeinheiten ausgetauscht werden. - Definieren Sie die Dienstarchitektur in VSIDL-Dateien (Dateien mit der Erweiterung
.vsidl). VSIDL wird verwendet, um Dienstpakete und Diensteinheiten zu definieren. VSIDL verweist auf Typen, die von Protobuf deklariert werden (Schritt 1). - Middleware generieren Die Middleware bietet eine standardisierte Möglichkeit für Dienste, miteinander zu kommunizieren und zu interagieren.
- Benutzerdefinierte Geschäftslogik in Rust implementieren
- Verpacken Sie Ihre Service-Bundles, einschließlich des generierten und benutzerdefinierten Geschäftscode, in ein APEX-Paket für die Bereitstellung.
- Katalog für automatische Updates und IDE-Unterstützung konfigurieren
Das Typsystem von VSIDLC arbeitet auf zwei Ebenen: Protobuf und VSIDL. Protobuf wird verwendet, um Datenstrukturen zu definieren, die zwischen den von VSIDL definierten Serviceeinheiten ausgetauscht werden. In diesem Abschnitt wird erläutert, wie Datenstrukturen in VSIDL und Protobuf definiert werden.
Nächste Schritte
Im Folgenden finden Sie Dokumente, die Sie als Nächstes lesen könnten:
- Informationen zum Definieren von Datenstrukturen in Protobuf finden Sie unter Datenstrukturen definieren.
- Informationen zu den Hauptelementen der VSIDL-Sprache finden Sie in der Sprachspezifikation.
- Informationen zum Zuordnen von VSIDL-Diensten zu externen SOME/IP- und AUTOSAR-Steuergeräten finden Sie unter SOME/IP-Integration – Übersicht.