Descripción general de VSIDL y el middleware

El lenguaje de definición de interfaz de servicios para vehículos (VSIDL) es un lenguaje específico del dominio creado sobre búferes de protocolo. VSIDL está diseñado para definir las interfaces y las interacciones entre los paquetes de servicios en un vehículo definido por software (SDV). Para obtener información sobre los paquetes de servicios, consulta Unidades y paquetes de servicios.

VSIDL proporciona la interfaz para interactuar con los servicios de nivel inferior en el ecosistema de SDV. Puedes usar VSIDL para especificar unidades de servicio que se comunican a través de llamadas a procedimientos remotos (RPC), (incluidas las transmisiones de cliente y servidor unidarias), un túnel de datos o asignaciones de servicios SOME/IP para interoperar con unidades de control electrónico (ECU) de AUTOSAR y pilas de SOME/IP (como COVESA vsomeip). El código que genera VSIDLC controla el registro de la unidad de servicio con SDV Service Discovery.

Con archivos de configuración adicionales, el código que VSIDLC genera para los paquetes de servicios se puede empaquetar como APEX, que pueden controlar el Orchestrator y el SDV Lifecycle Manager.

Implementa los servicios de SDV

A continuación, se indican los pasos generales para definir las interfaces y las interacciones entre los paquetes de servicios en un SDV, y para crear paquetes de APEX para la implementación:

  1. Define estructuras de datos en archivos .proto (archivos con la extensión .proto). Usa protobuf para definir las estructuras de datos que se intercambian entre las unidades de servicio definidas por VSIDL.
  2. Define la arquitectura de servicio en archivos VSIDL (archivos con las extensiones .vsidl). El VSIDL se usa para definir paquetes y unidades de servicio. VSIDL hace referencia a los tipos declarados por protobuf (paso 1).
  3. Genera el middleware. El middleware proporciona una forma estandarizada para que los servicios se comuniquen e interactúen entre sí.
  4. Implementa lógica empresarial personalizada en Rust.
  5. Empaqueta tus paquetes de servicios, incluido el código de lógica empresarial personalizado y generado, en un paquete APEX para la implementación.
  6. Configura tu catálogo para las actualizaciones automáticas y la compatibilidad con el IDE.

El sistema de tipos de VSIDLC opera en dos niveles: Protobuf y VSIDL. Protobuf se usa para definir las estructuras de datos que se intercambian entre las unidades de servicio definidas por VSIDL. En esta sección, se explica cómo se definen las estructuras de datos en VSIDL y Protobuf.

¿Qué sigue?

A continuación, se incluyen documentos que puedes leer a continuación: