 ##  [Test Software-In-The-Loop](/fr/node/48165) 

 Définition

Méthode de vérification où des logiciels applicatifs ou des algorithmes de commande sont exécutés dans un environnement simulé sur un ordinateur hôte (ou une image cible compilée en simulation) pour valider le comportement fonctionnel, la logique et les interactions avant l'intégration avec le matériel réel.

 

 

 

 

 

 





## Principe

Principe

Exécuter l'exécutable de production ou représentatif contre des capteurs, actionneurs et modèles d'environnement simulés pour exercer la logique logicielle, les hypothèses de temporisation (dans la mesure du possible) et les points d'intégration ; utiliser instrumentation, bancs de test et injection de pannes pour identifier tôt erreurs logiques, conditions de concurrence et hypothèses incorrectes.

 

 

 

 

 





## Démonstration

Démonstration

Exécuter des algorithmes de commande de vol dans un environnement de bureau avec modèles aérodynamiques et capteurs haute fidélité ; lancer des suites de régression automatisées qui injectent bruit de capteur, perte de paquets de communication et délais de commande pour vérifier la stabilité du contrôle et les chemins de gestion d'erreur avant le déploiement sur processeurs embarqués ou en configuration HIL.

 

 

 

 

## Mauvaise application

Mauvaise application

Supposer que le SIL garantit la performance temps réel ou que le timing sur hôte équivaut au timing CPU cible, négliger les différences d'endianness, d'optimisations du compilateur ou de pilotes matériels peut entraîner des problèmes d'intégration tardifs ; considérer le SIL comme substitut au HIL ou aux tests d'intégration complets est risqué.

 

 

 

 

 





## Conséquence

Conséquence

Permet la détection précoce des défauts fonctionnels, des itérations logicielles plus rapides et des tests de régression automatisés efficaces ; réduit le coût d'intégration en aval mais doit être complété par des tests au niveau matériel pour détecter les problèmes de temporisation, électriques et environnementaux.

 

 

 

 

## Inversion

Inversion

Le hardware-in-the-loop insère des interfaces matérielles réelles dans la boucle de test pour le réalisme temporel et électrique ; le SIL est complémentaire et précède généralement le HIL dans une pyramide de vérification.

 

 

 

 

 





## Limite

Limite

Concentré sur la correction fonctionnelle du logiciel et les interactions logiques en conditions simulées ; le SIL ne valide pas à lui seul les pilotes matériels, les charges électriques, l'ordonnancement temps réel sur processeurs cibles ou les défaillances induites par le matériel sauf s'il est enrichi par des éléments PIL ou HIL.

 

 

 

 

 





## Tension sémantique

Tension sémantique

Tension entre SIL et processor-in-the-loop (PIL) ou exécution cible complète : le SIL privilégie la validation logicielle rapide dans un environnement flexible, tandis que PIL et les tests sur cible privilégient le timing et la fidélité de la plateforme ; les deux font partie d'une stratégie de vérification progressive.

 

 

 

 

 





## Synthèse

Synthèse

Le test Software-in-the-Loop exécute le logiciel dans un environnement simulé pour valider tôt et efficacement la logique, les interfaces et la gestion des pannes ; combiné avec PIL et HIL, il constitue une approche de vérification en couches qui équilibre rapidité, couverture et fidélité tout en reconnaissant les incertitudes résiduelles dépendant de la plateforme.