Il Vehicle Services Interface Definition Language (VSIDL) è un linguaggio specifico del dominio basato sui buffer di protocollo. VSIDL è progettato per definire le interfacce e le interazioni tra i bundle di servizi in un veicolo definito dal software (SDV). Per informazioni sui bundle di servizi, vedi Unità di servizio e bundle di servizi.
VSIDL fornisce l'interfaccia per interagire con i servizi di livello inferiore nell'ecosistema SDV. Puoi utilizzare VSIDL per specificare le unità di servizio che comunicano utilizzando RPC (inclusi streaming unari, client e server) o un tunnel di dati. Il codice generato da VSIDLC gestisce la registrazione delle unità di servizio con SDV Service Discovery.
Utilizzando file di configurazione aggiuntivi, il codice generato da VSIDLC per i bundle di servizi può essere pacchettizzato come APEX, che può essere controllato da Orchestrator e SDV Lifecycle Manager.
Implementare i servizi SDV
Di seguito sono riportati i passaggi di alto livello per definire le interfacce e le interazioni tra i bundle di servizi in un SDV e per creare pacchetti APEX per il deployment:
- Definisci le strutture di dati nei file protobuf (file con estensione
.proto). Utilizza protobuf per definire le strutture di dati scambiate tra le unità di servizio definite da VSIDL. - Definisci l'architettura dei servizi nei file VSIDL (file con estensione
.vsidl). VSIDL viene utilizzato per definire i bundle di servizi e le unità di servizio. VSIDL fa riferimento ai tipi dichiarati da protobuf (passaggio 1). - Genera middleware. Il middleware fornisce un modo standardizzato per i servizi di comunicare e interagire tra loro.
- Implementa la logica di business personalizzata in Rust.
- Pacchettizza i bundle di servizi, incluso il codice della logica di business generato e personalizzato, in un pacchetto APEX per il deployment.
- Configura il catalogo per gli aggiornamenti automatici e il supporto IDE.
Il sistema di tipi di VSIDLC opera a due livelli: Protobuf e VSIDL. Protobuf viene utilizzato per definire le strutture di dati scambiate tra le unità di servizio definite da VSIDL. Questa sezione spiega come vengono definite le strutture di dati in VSIDL e protobuf.
Passaggi successivi
Di seguito sono riportati i documenti che potresti leggere:
- Per scoprire come definire le strutture di dati in protobuf, vai a Definire le strutture di dati.
- Per comprendere gli elementi principali del linguaggio VSIDL, consulta la specifica del linguaggio.