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. A VSIDL foi projetada 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 mais informações sobre pacotes de serviços, consulte Unidades e pacotes de serviços.
A VSIDL fornece a interface para interagir com serviços de nível inferior no ecossistema SDV. É possível usar a VSIDL para especificar unidades de serviço que se comunicam usando RPC (incluindo streaming unário, de cliente e de servidor) ou um túnel de dados. O código gerado pela VSIDLC processa o registro da unidade de serviço com a descoberta de serviços SDV.
Usando arquivos de configuração adicionais, o código que a VSIDLC gera para pacotes de serviços pode ser empacotado como APEXs, que podem ser controlados pelo orquestrador e pelo gerenciador de ciclo de vida do SDV.
Implementar serviços SDV
Confira abaixo as etapas de alto nível para definir as interfaces e interações entre pacotes de serviços em um 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 pela VSIDL. - Defina a arquitetura de serviço em arquivos VSIDL (arquivos com as extensões
.vsidl). A VSIDL é usada para definir pacotes e unidades de serviço. A 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 a lógica de negócios personalizada em Rust.
- Empacote seus pacotes de serviços, incluindo o 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 ao ambiente de desenvolvimento integrado.
O sistema de tipos da 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 pela VSIDL. Esta seção explica como as estruturas de dados são definidas na VSIDL e no Protobuf.
A seguir
Confira abaixo os documentos que você pode ler em seguida:
- Para saber como definir estruturas de dados no Protobuf, acesse Definir estruturas de dados.
- Para entender os principais elementos da linguagem VSIDL, consulte a Especificação da linguagem.