A Linguagem de definição de interface de serviços de veículos (VSIDL, na sigla em inglês) é uma linguagem específica do domínio criada com base em buffers de protocolo. O VSIDL foi projetado para definir as interfaces e interações entre pacotes de serviços em um veículo definido por software (SDV, na sigla em inglês). Para informações sobre pacotes de serviços, consulte Unidades e pacotes de serviços.
O VSIDL fornece a interface para interagir com serviços de nível inferior no ecossistema de SDV. É possível usar o VSIDL para especificar unidades de serviço que se comunicam usando
chamadas de procedimento remoto (RPCs), incluindo streaming unário, do cliente e do servidor
, um túnel de dados ou mapeamentos de serviço SOME/IP para interoperar com
unidades de controle eletrônico (ECUs) AUTOSAR e stacks SOME/IP (como COVESA
vsomeip). O código gerado pelo VSIDLC processa o registro da unidade de serviço com a
descoberta de serviços SDV.
Usando outros arquivos de configuração, o código que o VSIDLC gera para pacotes de serviço pode ser empacotado como APEXes, que podem ser controlados pelo Orchestrator e pelo SDV Lifecycle Manager.
Implementar serviços de SDV
Confira as etapas gerais para definir as interfaces e interações entre pacotes de serviços em uma SDV e criar pacotes APEX para implantação:
- Defina estruturas de dados em arquivos protobuf (arquivos com a extensão
.proto). Use o protobuf para definir as estruturas de dados trocadas entre as unidades de serviço definidas pelo VSIDL. - Defina a arquitetura de serviço em arquivos VSIDL (arquivos com as extensões
.vsidl). O VSIDL é usado para definir pacotes e unidades de serviço. O VSIDL faz referência a tipos declarados pelo protobuf (etapa 1). - Gere o middleware. O middleware oferece uma maneira padronizada para que os serviços se comuniquem e interajam entre si.
- Implemente uma lógica de negócios personalizada em Rust.
- Empacote seus pacotes de serviços, incluindo código de lógica de negócios gerado e personalizado, em um pacote APEX para implantação.
- Configure seu catálogo para atualizações automáticas e suporte do ambiente de desenvolvimento integrado.
O sistema de tipos do VSIDLC opera em dois níveis: Protobuf e VSIDL. O Protobuf é usado para definir estruturas de dados trocadas entre as unidades de serviço definidas pelo VSIDL. Nesta seção, explicamos como as estruturas de dados são definidas em VSIDL e protobuf.
A seguir
Leia os seguintes documentos:
- Para saber como definir estruturas de dados em protobuf, acesse Definir estruturas de dados.
- Para entender os principais elementos da linguagem VSIDL, consulte a Especificação da linguagem.
- Para mapear serviços VSIDL para ECUs SOME/IP e AUTOSAR externas, consulte a visão geral da integração do SOME/IP.