車輛服務介面定義語言 (VSIDL) 是以通訊協定緩衝區為基礎建構的網域專屬語言,用於定義軟體定義車輛 (SDV) 中服務套件之間的介面和互動。如要瞭解服務套件,請參閱「服務單元和服務套件」。
VSIDL 提供介面,可與 SDV 生態系統中的低階服務互動。您可以使用 VSIDL 指定透過 RPC (包括一元、用戶端串流和伺服器串流) 或資料通道通訊的服務單元。VSIDLC 產生的程式碼會處理向 SDV 服務探索註冊服務單元。
使用額外的設定檔,VSIDLC 為服務套件產生的程式碼可以封裝為 APEX,並由 Orchestrator 和 SDV Lifecycle Manager 控制。
導入 SDV 服務
以下是定義 SDV 中服務套件之間的介面和互動,以及建立 APEX 封裝以進行部署的高階步驟:
- 在 protobuf 檔案 (副檔名為
.proto的檔案) 中定義資料結構。使用 protobuf 定義 VSIDL 定義的服務單元之間交換的資料結構。 - 在 VSIDL 檔案 (副檔名為
.vsidl的檔案) 中定義服務架構。VSIDL 用於定義服務套件和服務單元。VSIDL 會參照由 protobuf 宣告的型別 (步驟 1)。 - 產生中介軟體。中介軟體提供標準化方式,讓服務彼此通訊及互動。
- 在 Rust 中導入自訂商業邏輯。
- 將服務套件 (包括產生的和自訂的商業邏輯程式碼) 封裝至 APEX 套件,以供部署。
- 設定目錄以支援自動更新和 IDE。
VSIDLC 的型別系統有兩個層級:Protobuf 和 VSIDL。Protobuf 用於定義 VSIDL 定義的服務單元之間交換的資料結構。本節說明如何在 VSIDL 和 protobuf 中定義資料結構。
後續步驟
建議您接下來閱讀下列文件: