Vehicle Services Interface Definition Language (VSIDL) to język specyficzny dla domeny, który jest oparty na buforach protokołu. VSIDL służy do definiowania interfejsów i interakcji między pakietami usług w pojeździe zdefiniowanym programowo (SDV). Więcej informacji o pakietach usług znajdziesz w artykule Jednostki i pakiety usług.
VSIDL udostępnia interfejs do interakcji z usługami niższego poziomu w ekosystemie SDV. Za pomocą VSIDL możesz określić jednostki usług, które komunikują się za pomocą RPC (w tym RPC typu unary, client streaming i server streaming) lub tunelu danych. Wygenerowany przez VSIDLC kod obsługuje rejestrację jednostki usługi w SDV Service Discovery.
Za pomocą dodatkowych plików konfiguracyjnych kod generowany przez VSIDLC na potrzeby pakietów usług można spakować jako APEX, którymi mogą sterować Orchestrator i SDV Lifecycle Manager.
Implementowanie usług SDV
Oto ogólne kroki, które należy wykonać, aby zdefiniować interfejsy i interakcje między pakietami usług w SDV oraz utworzyć pakiety APEX do wdrożenia:
- Zdefiniuj struktury danych w plikach protobuf (pliki z rozszerzeniem
.proto). Użyj protobuf, aby zdefiniować struktury danych, które są wymieniane między jednostkami usług zdefiniowanymi przez VSIDL. - Zdefiniuj architekturę usług w plikach VSIDL (pliki z rozszerzeniem
.vsidl). VSIDL służy do definiowania pakietów i jednostek usług. VSIDL odwołuje się do typów zadeklarowanych przez protobuf (krok 1). - Wygeneruj oprogramowanie pośredniczące. Oprogramowanie pośredniczące zapewnia standardowy sposób komunikowania się usług i interakcji między nimi.
- Zaimplementuj niestandardową logikę biznesową w języku Rust.
- Spakuj pakiety usług, w tym wygenerowany i niestandardowy kod logiki biznesowej, w pakiet APEX do wdrożenia.
- Skonfiguruj katalog pod kątem automatycznych aktualizacji i obsługi IDE.
System typów VSIDLC działa na 2 poziomach: Protobuf i VSIDL. Protobuf służy do definiowania struktur danych, które są wymieniane między jednostkami usług zdefiniowanymi przez VSIDL. W tej sekcji wyjaśniamy, jak definiować struktury danych w VSIDL i protobuf.
Co dalej?
Poniżej znajdziesz dokumenty, które możesz przeczytać:
- Aby dowiedzieć się, jak definiować struktury danych w protobuf, przejdź do sekcji Definiowanie struktur danych.
- Aby poznać główne elementy języka VSIDL, zapoznaj się ze specyfikacją języka.