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.