Panoramica di VSIDL e middleware

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:

  1. 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.
  2. 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).
  3. Genera middleware. Il middleware fornisce un modo standardizzato per i servizi di comunicare e interagire tra loro.
  4. Implementa la logica di business personalizzata in Rust.
  5. Pacchettizza i bundle di servizi, incluso il codice della logica di business generato e personalizzato, in un pacchetto APEX per il deployment.
  6. 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: