Le langage de définition d'interface des services de véhicules (VSIDL) est un langage spécifique à un domaine, basé sur les tampons de protocole. VSIDL est conçu pour définir les interfaces et les interactions entre les packs de services dans un véhicule défini par logiciel (SDV). Pour en savoir plus sur les packs de services, consultez Unités et packs de services.
VSIDL fournit l'interface permettant d'interagir avec les services de niveau inférieur de l'écosystème SDV. Vous pouvez utiliser VSIDL pour spécifier des unités de service qui communiquent à l'aide d'appels de procédure à distance (RPC), y compris les appels de streaming unaires, côté client et côté serveur, d'un tunnel de données ou de mappages de services SOME/IP pour l'interopérabilité avec les unités de contrôle électronique (ECU) AUTOSAR et les piles SOME/IP (telles que COVESA vsomeip). Le code généré par VSIDLC gère l'enregistrement des unités de service avec la découverte de services SDV.
À l'aide de fichiers de configuration supplémentaires, le code VSIDLC généré pour les bundles de services peut être empaqueté en tant qu'APEX, qui peuvent être contrôlés par l'Orchestrator et le gestionnaire du cycle de vie SDV.
Implémenter les services SDV
Voici les principales étapes à suivre pour définir les interfaces et les interactions entre les groupes de services dans un véhicule défini par logiciel, et pour créer des packages APEX à déployer :
- 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. - Définissez l'architecture de service dans les fichiers VSIDL (fichiers avec les extensions
.vsidl). VSIDL permet de définir des bundles et des unités de service. VSIDL référence les types déclarés par protobuf (étape 1). - Générez le middleware. Le middleware fournit une méthode standardisée permettant aux services de communiquer et d'interagir entre eux.
- Implémentez une logique métier personnalisée en Rust.
- Empaquetez vos bundles de services, y compris le code de logique métier généré et personnalisé, dans un package APEX pour le déploiement.
- Configurez votre catalogue pour les mises à jour automatiques et la compatibilité avec l'IDE.
Le système de typographie de VSIDLC fonctionne à deux niveaux : Protobuf et VSIDL. Protobuf est utilisé pour 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 :
- Pour savoir comment définir des structures de données dans protobuf, consultez Définir des structures de données.
- Pour comprendre les principaux éléments du langage VSIDL, consultez les spécifications du langage.
- Pour mapper les services VSIDL aux ECU SOME/IP et AUTOSAR externes, consultez la présentation de l'intégration SOME/IP.