Vehicle Services Interface Definition Language (VSIDL) es un lenguaje específico del dominio basado en 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 de servicio 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 comuniquen mediante RPC (incluida la transmisión unidireccional, la transmisión del cliente y la transmisión del servidor) o un túnel de datos. El código generado por VSIDLC controla el registro de la unidad de servicio con el descubrimiento de servicios de SDV.
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 servicios de SDV
A continuación, se indican los pasos de alto nivel para definir las interfaces y las interacciones entre los paquetes de servicios en un SDV y crear paquetes APEX para la implementación:
- Define las estructuras de datos en archivos protobuf (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. - Define la arquitectura de servicio en archivos VSIDL (archivos con las extensiones
.vsidl). VSIDL se usa para definir paquetes de servicios y unidades de servicio. VSIDL hace referencia a los tipos declarados por protobuf (paso 1). - Genera middleware. El middleware proporciona una forma estandarizada para que los servicios se comuniquen y se relacionen entre sí.
- Implementa la lógica empresarial personalizada en Rust.
- Empaqueta tus paquetes de servicios, incluido el código de lógica empresarial generado y personalizado, en un paquete APEX para la implementación.
- Configura tu catálogo para actualizaciones automáticas y compatibilidad con 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:
- Para obtener información sobre cómo definir estructuras de datos en protobuf, continúa con Define data structures.
- Para comprender los elementos principales del lenguaje VSIDL, consulta la Especificación del lenguaje.