Omówienie VSIDL i oprogramowania pośredniczącego

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:

  1. 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.
  2. 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).
  3. Wygeneruj oprogramowanie pośredniczące. Oprogramowanie pośredniczące zapewnia standardowy sposób komunikowania się usług i interakcji między nimi.
  4. Zaimplementuj niestandardową logikę biznesową w języku Rust.
  5. Spakuj pakiety usług, w tym wygenerowany i niestandardowy kod logiki biznesowej, w pakiet APEX do wdrożenia.
  6. 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ć: