VSIDL 및 미들웨어 개요

차량 서비스 인터페이스 정의 언어 (VSIDL)은 프로토콜 버퍼를 기반으로 구축된 도메인별 언어입니다. VSIDL은 소프트웨어 정의 차량 (SDV)의 서비스 번들 간 인터페이스와 상호작용을 정의하도록 설계되었습니다. 서비스 번들에 대한 자세한 내용은 서비스 단위 및 서비스 번들을 참고하세요.

VSIDL은 SDV 생태계에서 하위 수준 서비스와 상호작용하는 인터페이스를 제공합니다. VSIDL을 사용하여 RPC(단항, 클라이언트 스트리밍, 서버 스트리밍 포함) 또는 데이터 터널을 사용하여 통신하는 서비스 단위를 지정할 수 있습니다. VSIDLC의 생성된 코드는 SDV 서비스 검색을 사용한 서비스 단위 등록을 처리합니다.

추가 구성 파일을 사용하면 서비스 번들에 대해 VSIDLC가 생성하는 코드를 오케스트레이터와 SDV 수명 주기 관리자가 제어할 수 있는 APEX로 패키징할 수 있습니다.

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 언어의 주요 요소를 이해하려면 언어 사양을 참고하세요.