Vehicle Services Interface Definition Language (VSIDL) ist eine domänenspezifische Sprache, die auf Protokollzwischenspeichern basiert. VSIDL wurde entwickelt, um die Schnittstellen und Interaktionen zwischen Dienstpaketen in einem Software-Defined Vehicle (SDV) zu definieren. Informationen zu Dienstpaketen finden Sie unter Dienstpakete und Dienstpakete.
VSIDL bietet die Schnittstelle für die Interaktion mit Diensten auf niedrigerer Ebene im SDV-Ökosystem. Mit VSIDL können Sie Dienstpakete angeben, die über RPC (einschließlich Unary, Client-Streaming und Server-Streaming) oder einen Datentunnel kommunizieren. Der von VSIDLC generierte Code verarbeitet die Registrierung von Dienstpaketen bei der SDV-Dienstermittlung.
Mit zusätzlichen Konfigurationsdateien kann der von VSIDLC für Dienstpakete generierte Code als APEX-Pakete verpackt werden, die vom Orchestrator und SDV Lifecycle Manager gesteuert werden können.
SDV-Dienste implementieren
Im Folgenden finden Sie die allgemeinen Schritte zum Definieren der Schnittstellen und Interaktionen zwischen Dienstpaketen in einem SDV und zum Erstellen von APEX-Paketen für die Bereitstellung:
- Definieren Sie Datenstrukturen in Protobuf-Dateien (Dateien mit der Erweiterung
.proto). Verwenden Sie Protobuf, um die Datenstrukturen zu definieren, die zwischen den von VSIDL definierten Dienstpaketen ausgetauscht werden. - Definieren Sie die Dienstarchitektur in VSIDL-Dateien (Dateien mit der Erweiterung
.vsidl). VSIDL wird verwendet, um Dienstpakete und Dienstpakete zu definieren. VSIDL verweist auf Typen, die von Protobuf deklariert wurden (Schritt 1). - Generieren Sie Middleware. Die Middleware bietet eine standardisierte Möglichkeit für Dienste, miteinander zu kommunizieren und zu interagieren.
- Implementieren Sie benutzerdefinierte Geschäftslogik in Rust.
- Verpacken Sie Ihre Dienstpakete, einschließlich des generierten und benutzerdefinierten Geschäftslogikcodes, in ein APEX-Paket für die Bereitstellung.
- Konfigurieren Sie Ihren Katalog für automatische Updates und IDE-Unterstützung.
Das Typsystem von VSIDLC arbeitet auf zwei Ebenen: Protobuf und VSIDL. Protobuf wird verwendet, um Datenstrukturen zu definieren, die zwischen den von VSIDL definierten Dienstpaketen 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önnen:
- Informationen zum Definieren von Datenstrukturen in Protobuf finden Sie unter Datenstrukturen definieren.
- Informationen zu den Hauptelementen der VSIDL-Sprache finden Sie in der Sprach spezifikation.