Avec Vector, le test des briques logicielles d'un système cyberphysique se déroule très en amontVector, fournisseur d’outils matériels et logiciels pour systèmes embarqués, en particulier automobiles, propose avec l’environnement CANoe4SW un outil pour le développement, le test et l'analyse de logiciels pour systèmes cyberphysiques, systèmes distribués et autres appareils IoT (dans le médical, le ferroviaire, l’automobile...) et ce très en amont d’un cycle de développement. ...Notamment au sein d'environnements d'exécution virtuels sur PC, dans des machines virtuelles voire dans le cloud, là où l'utilisateur peut élaborer des logiciels de haute qualité à un stade précoce de développement pour tout système d'exploitation cible, comme Windows ou Linux. Dans cette approche, il importe peu que le logiciel à tester soit un composant logiciel unique, un sous-système ou l'ensemble du système distribué, le logiciel CANoe4SW fournissant un accès au système sous test grâce à ses interfaces système fonctionnelles, à un niveau purement logiciel. Les testeurs peuvent donc effectuer les premiers tests SIL (Software-In-the-Loop) en mode “boîte noire” indépendamment de la disponibilité du matériel. En outre, CANoe4SW prend en charge des protocoles de connectivité tels que MQTT pour accéder aux appareils IoT et aux logiciels de back-end qui s'exécutent dans le cloud. CANoe4SW réalise ces tests à un stade précoce du processus de développement en utilisant des environnements d'exécution virtuels, et en isolant des composants logiciels individuels, issus de systèmes complexes, à l'aide de modèles pour les environnements physiques et logiciels. Les développeurs peuvent aussi utiliser CANoe4SW pour stimuler et surveiller les valeurs au fil du temps, abordant de ce fait les aspects dynamiques du logiciel testé. Avec l’avantage de pouvoir simuler des scénarios d'erreur qu’ils serait difficile à mettre en œuvre dans des environnements réels, comme par exemple les temps d'arrêt des services cloud. Contrairement au débogage sur cible, les environnements d'exécution virtuels procurent ici à l'utilisateur plus d'options pour la détection des erreurs dans son environnement de développement.
|