Présentation de VSIDL et du middleware

Le langage de définition d'interface des services de véhicule (VSIDL, Vehicle Services Interface Definition Language) est un langage spécifique à un domaine basé sur des tampons de protocole. Il est conçu pour définir les interfaces et les interactions entre les ensembles de services dans un véhicule défini par logiciel (SDV, Software Defined Vehicle). Pour en savoir plus sur les ensembles de services, consultez Unités de service et ensembles de services.

Le VSIDL fournit l'interface permettant d'interagir avec les services de niveau inférieur dans l'écosystème SDV. Vous pouvez l'utiliser pour spécifier des unités de service qui communiquent à l'aide d'un RPC (y compris un RPC unaire, un streaming client et un streaming serveur) ou d'un tunnel de données. Le code généré par VSIDLC gère l'enregistrement des unités de service auprès de la découverte de services SDV.

À l'aide de fichiers de configuration supplémentaires, le code généré par VSIDLC pour les ensembles de services peut être empaqueté en tant qu'APEX, qui peuvent être contrôlés par l'orchestrateur et le gestionnaire de cycle de vie SDV.

Implémenter des services SDV

Voici les principales étapes à suivre pour définir les interfaces et les interactions entre les ensembles de services dans un SDV, et pour créer des packages APEX à déployer :

  1. Définissez des structures de données dans des fichiers protobuf (fichiers portant l'extension .proto). Utilisez protobuf pour définir les structures de données échangées entre les unités de service définies par VSIDL.
  2. Définissez l'architecture de service dans des fichiers VSIDL (fichiers portant l'extension .vsidl). Le VSIDL permet de définir des ensembles de services et des unités de service. Il fait référence aux types déclarés par protobuf (étape 1).
  3. Générez un middleware. Le middleware fournit un moyen standardisé pour les services de communiquer et d'interagir entre eux.
  4. Implémentez une logique métier personnalisée dans Rust.
  5. Empaquetez vos ensembles de services, y compris le code de logique métier généré et personnalisé, dans un package APEX à déployer.
  6. Configurez votre catalogue pour les mises à jour automatiques et la compatibilité avec l'IDE.

Le système de types de VSIDLC fonctionne à deux niveaux : Protobuf et VSIDL. Protobuf permet de définir les structures de données échangées entre les unités de service définies par VSIDL. Cette section explique comment les structures de données sont définies dans VSIDL et protobuf.

Étape suivante

Voici quelques documents que vous pouvez consulter ensuite :