Accélérer le développement de SDV (Software-Defined Vehicle)

Architectures E/E, virtualisation et simulation, usine logicielle

L'importance des logiciels dans la définition des fonctionnalités des véhicules a conduit à l'essor des SDV (Software-Defined Vehicles). Cette évolution offre l'opportunité d'ajouter des fonctionnalités tout au long de la vie d'un véhicule. Pour permettre des mises à jour logicielles fréquentes, les véhicules évoluent vers une nouvelle architecture électrique/électronique (E/E) avec des plateformes centralisées de calcul haute performance (HPC), une architecture orientée services (SOA) et des approches de type « usine logicielle » avec intégration et livraison continues (CI/CD). La complexité croissante des logiciels automobiles exige également de nouvelles compétences en matière d'architecture, de réutilisation et d'intégration des logiciels.

L'approche Model-Based Design aide les équipes d'ingénieurs à relever ces défis en :

  • Réutilisant le software dans le calculateur HPC, les contrôleurs de zone et les ECU
  • Respectant les exigences de sécurité et de qualité grâce à l'automatisation
  • Permettant une approche shift-left via la validation précoce et l'intégration du software dans les simulations
  • Donnant aux experts domaine les moyens de créer des solutions de haute qualité pour l'automobile

Concevoir, simuler et déployer des applications basées sur les signaux et orientées services

Le passage aux calculateurs HPC et aux ordinateurs de zone est supporté par une nouvelle architecture E/E du véhicule qui dissocie le software d'application du hardware. Une partie du software d'application existant migrera des ECU vers les calculateurs HPC et les ordinateurs de zone. Pour ce faire, ces composants logiciels doivent être réarchitecturés et refactorisés afin de passer de composants monolithiques basés sur les signaux à des composants non monolithiques orientés services, à intégrer dans des SOA. Des outils de développement d'architecture logicielle sont nécessaires pour supporter cette migration, ainsi que pour intégrer et valider les nouveaux composants logiciels d'application.

Simulink et System Composer vous permettent de :

  • Créer des architectures logicielles et effectuer des analyses de compromis en matière d’allocation logicielle
  • Intégrer l’ingénierie système et des outils de développement logiciel pour garantir que le produit logiciel reste aligné avec les exigences et le design
  • Réutiliser les logiciels dans les calculateurs HPC, les ordinateurs de zone et les ECU grâce à la génération automatique de code

Intégration shift left de logiciel avec la simulation de véhicule virtuel

La fréquence élevée des mises à jour OTA (over-the-air) des logiciels ne permet plus de tester de nouvelles configurations logicielles avec un hardware de prototypage. Les tests d'intégration doivent également être automatisés afin de réduire le délai de mise à disposition du logiciel. Le passage de l'intégration logicielle à des tests Model-In-the-Loop et Software in the Loop avec une simulation de véhicules virtuels intégrée à un pipeline d'intégration continue permet de résoudre ces deux problèmes. Avec Simulink, Virtual Vehicle Composer et Simulink Compiler, vous pouvez :

  • Automatiser l'assemblage des modèles de véhicules virtuels 
  • Créer des simulations virtuelles d'ECU (Electronic Control Unit) avec une combinaison de composants basés sur des modèles et basés sur du code importé dans Simulink, puis les intégrer à des outils tiers pour la production de BSW (Basic Software) et la simulation de processeurs
  • Déployer des modèles de véhicules et d’ECU virtuels dans des processus d'intégration continue

Automatisation des processus et passage du desktop au cloud pour les usines logicielles

L’implémentation de l'automatisation à grande échelle est essentielle pour réduire l'effort de développement du logiciel. Les technologies de développement telles que CI/CD mettent l'automatisation au service des développeurs tout en garantissant la fiabilité grâce à des processus reproductibles. En outre, la technologie cloud permet une mise à l'échelle en accélérant la compilation et la simulation du logiciel, en permettant de traiter de grands jeux de données et en facilitant la collaboration des équipes logicielles distribuées. Avec MATLAB et Simulink, vous pouvez :

  • Effectuer une intégration avec les systèmes CI/CD comme Jenkins®, GitLab® CI/CD, GitHub Actions et Azure® Pipelines
  • Traiter des données du cloud dans des systèmes tels qu'AWS® S3 et Azure Blob, et passer à l'échelle selon les besoins 
  • Étendre la simulation aux clusters et au cloud avec MATLAB Parallel Server
  • Accélérer l’apprentissage des réseaux de neurones sur les GPU
  • Développer en mode collaboratif avec les solutions de gestion de version Git et SVN  

Produits

En savoir plus sur les produits utilisés pour développer des applications SDV.