VSIDL 和中介軟體總覽

車輛服務介面定義語言 (VSIDL) 是以通訊協定緩衝區為基礎建構的網域專屬語言,用於定義軟體定義車輛 (SDV) 中服務套件之間的介面和互動。如要瞭解服務套件,請參閱「服務單元和服務套件」。

VSIDL 提供介面,可與 SDV 生態系統中的低階服務互動。您可以使用 VSIDL 指定透過 RPC (包括一元、用戶端串流和伺服器串流) 或資料通道通訊的服務單元。VSIDLC 產生的程式碼會處理向 SDV 服務探索註冊服務單元。

使用額外的設定檔,VSIDLC 為服務套件產生的程式碼可以封裝為 APEX,並由 Orchestrator 和 SDV Lifecycle Manager 控制。

導入 SDV 服務

以下是定義 SDV 中服務套件之間的介面和互動,以及建立 APEX 封裝以進行部署的高階步驟:

  1. 在 protobuf 檔案 (副檔名為 .proto 的檔案) 中定義資料結構。使用 protobuf 定義 VSIDL 定義的服務單元之間交換的資料結構。
  2. 在 VSIDL 檔案 (副檔名為 .vsidl 的檔案) 中定義服務架構。VSIDL 用於定義服務套件和服務單元。VSIDL 會參照由 protobuf 宣告的型別 (步驟 1)。
  3. 產生中介軟體。中介軟體提供標準化方式,讓服務彼此通訊及互動。
  4. 在 Rust 中導入自訂商業邏輯。
  5. 將服務套件 (包括產生的和自訂的商業邏輯程式碼) 封裝至 APEX 套件,以供部署。
  6. 設定目錄以支援自動更新和 IDE。

VSIDLC 的型別系統有兩個層級:Protobuf 和 VSIDL。Protobuf 用於定義 VSIDL 定義的服務單元之間交換的資料結構。本節說明如何在 VSIDL 和 protobuf 中定義資料結構。

後續步驟

建議您接下來閱讀下列文件:

  • 如要瞭解如何在 protobuf 中定義資料結構,請參閱「定義資料結構」。
  • 如要瞭解 VSIDL 語言的主要元素,請參閱語言規格