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 pacchetti di servizi, vedi Unità di servizio e pacchetti 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
chiamate di procedure remote (RPC), (inclusi streaming unari, client e server),
un tunnel di dati o mappature di servizi SOME/IP per l'interoperabilità con
le centraline elettroniche (ECU) AUTOSAR e gli stack SOME/IP (come COVESA
vsomeip). Il codice generato da VSIDLC gestisce la registrazione delle unità di servizio con
SDV Service Discovery.
Utilizzando file di configurazione aggiuntivi, il codice VSIDLC generato per i bundle di servizi può essere pacchettizzato come APEX, che possono essere controllati 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 del servizio nei file VSIDL (file con estensioni
.vsidl). VSIDL viene utilizzato per definire i pacchetti 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 dell'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 alcuni 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 le specifiche del linguaggio.
- Per mappare i servizi VSIDL a ECU SOME/IP ed AUTOSAR esterne, consulta la panoramica dell'integrazione di SOME/IP.