Vehicle Services Interface Definition Language (VSIDL) to język specyficzny dla domeny oparty na buforach protokołu. VSIDL służy do definiowania interfejsów i interakcji między pakietami usług w pojeździe definiowanym przez oprogramowanie (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ślać jednostki usług, które komunikują się za pomocą zdalnych wywołań procedur (RPC) (w tym wywołań binarnych, przesyłania strumieniowego po stronie klienta i przesyłania strumieniowego po stronie serwera), tunelu danych lub mapowań usług SOME/IP w celu współpracy z elektronicznymi jednostkami sterującymi (ECU) AUTOSAR i stosami SOME/IP (takimi jak COVESAvsomeip). Kod wygenerowany przez VSIDLC obsługuje rejestrację jednostki usług w SDV Service Discovery.
Za pomocą dodatkowych plików konfiguracyjnych kod generowany przez VSIDLC dla pakietów usług można spakować jako APEX-y, którymi zarządzają agenci Orchestrator, Update Manager oraz Vehicle Mode and Power Management (VPM).
Wdrażanie usług SDV
Poniżej znajdziesz ogólne kroki definiowania interfejsów i interakcji między pakietami usług w SDV oraz tworzenia pakietów APEX do wdrożenia:
- Zdefiniuj struktury danych w plikach protobuf (plikach z rozszerzeniem
.proto). Użyj protokołu protobuf, aby zdefiniować struktury danych wymieniane między jednostkami usługi zdefiniowanymi przez VSIDL. - Zdefiniuj architekturę usługi w plikach VSIDL (plikach z rozszerzeniami
.vsidl). VSIDL służy do definiowania pakietów usług i jednostek usług. VSIDL odwołuje się do typów zadeklarowanych przez protokół buforów (krok 1). - Generowanie oprogramowania pośredniczącego. Oprogramowanie pośredniczące zapewnia standardowy sposób komunikacji i interakcji między usługami.
- wdrażać 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 w Android Studio for Platform (ASfP).
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ługi zdefiniowanymi przez VSIDL. Z tej sekcji dowiesz się, jak struktury danych są definiowane w VSIDL i protobuf.
Co dalej?
Oto dokumenty, które możesz przeczytać w następnej kolejności:
- Aby dowiedzieć się, jak definiować struktury danych w protokole protobuf, przejdź do sekcji Definiowanie struktur danych.
- Aby poznać główne elementy języka VSIDL, zapoznaj się ze specyfikacją języka.
- Aby mapować usługi VSIDL na zewnętrzne jednostki ECU SOME/IP i AUTOSAR, zapoznaj się z omówieniem integracji SOME/IP.