• 8 heures
  • Moyenne

Ce cours est visible gratuitement en ligne.

course.header.alt.is_video

course.header.alt.is_certifying

J'ai tout compris !

Mis à jour le 05/12/2019

Vérifiez votre système embarqué

Connectez-vous ou inscrivez-vous gratuitement pour bénéficier de toutes les fonctionnalités de ce cours !

Nous allons aborder dans cette dernière partie les aspects spécifiques de la vérification et de la validation d'un système embarqué critique.

Ici de nouveau, c'est la démarche générale qui vous est présentée, afin de comprendre l'évolution de la demande relativement aux développements précédents.

Les impacts d'une défaillance

Nous l'avons vu en début de cas, les impacts d'une défaillance unique peuvent devenir catastrophiques au niveau du système global, avec des répercutions potentiellement graves pour la santé des hommes et pour l'environnement. Le risque zéro n'existant pas, c'est donc bien les preuves de la faible probabilité d'occurrence de l'apparition de telles défaillances que nous recherchons. C'est la minimisation de la gravité des impacts des erreurs résiduelles sur le système complet que nous devons garantir.

Les activités de vérification et de validation s'organisent alors comme une pêche aux lacunes, aux manques, aux failles ou aux erreurs de toute nature, avec des filets dont les mailles se réduisent en fonction de l'accroissement du niveau de criticité du produit développé.

Les activités de vérification et de validation s'organisent alors comme une pêche !
Les activités de vérification et de validation s'organisent alors comme une pêche !

La référence à des standards

Les standards tels que l'ISO/IEC 15288 et l'ISO/IEC 1508 dans l'industrie, les standards ARP4761, DO-178 et DO-254 pour les systèmes embarqués aéronautiques, sont là pour créer le cadre de vérification et de validation minimum, définir les attentes concernant les preuves de conformité à fournir sur les aspects matériels comme logiciels lors du développement du produit.

Illustration

Standards

N.B. : un cadre spécifique est proposé pour traiter des contrôles à réaliser en production série. Chaque équipe de développement définit alors, en fonction de sa propre stratégie, le processus et les activités de vérification et de validation à engager pour garantir la conformité du produit aux exigences requises.

Approvisionnement d'une carte électronique :

  • Conformité de la commande

  • Validité du certificat de conformité

  • Rapport de test automatique (TAKAYA)

  • Rapport de cyclage thermique (VRT)

  • Contrôle qualité

  • Rapport de test fonctionnel

La démarche à suivre

Il convient de décrire ce que l'on fait, sur quoi on le fait, comment on le fait, qui le fait, dans quel ordre on le fait. Une traçabilité explicite est imposée sur tous les éléments du développement. Des analyses supplémentaires et des tests d'un niveau de granularité plus fin sont réalisés sur les composants de la conception.

Les questions à nous poser
Démarche à suivre et questions à nous poser

Une règle d'or : la règle d'indépendance

Une règle d'indépendance impose que la personne qui conçoit un élément du système n'est pas celle qui le vérifie ou le valide. Il est tout à fait accepté de mixer les rôles des individus si on ne souhaite pas avoir une équipe dédiée à la conception et une autre équipe dédiée aux aspects V&V. Chacun peut ainsi être tour à tour concepteur d'une fonction puis vérificateur d'une autre ou concepteur d'une chaîne de traitement et vérificateur de la chaîne redondée.

Exemple
Indépendance

Les rôles doivent être clairement identifiés pour chaque composant, pour le produit intégré, pour chaque phase du développement.

La preuve de la couverture totale de vérification et de validation du produit et de qui fait quoi doit être apportée. En fonction de la criticité, l'indépendance de la personne s'étend à l'indépendance du département ou de l'organisation elle-même en charge de ces activités.

Description de la stratégie de V&V dans des plans

La stratégie de V&V est décrite dans le plan de vérification et de validation du produit. Si du logiciel enfoui (embedded software) ou si des composants matériels complexes sont mis en œuvre, elle est déclinée spécifiquement pour ces développements.

Plans de V&V
Plans de V&V

N.B. : en cas de développement agile appliqué à un système embarqué critique, le plan précise comment ces activités sont organisées et réalisés, dans chaque sprint, à chaque release du système. 

Seront détaillés notamment comment la somme de ces activités garantit la conformité du produit à la fin de chaque release, et comment la non-régression est gérée à chaque sprint, lorsqu'on accumule de la valeur dans le produit.

Inspection de la complétude d'une "release" :

  • Tests d'acceptation passés sur calculateur intégré complet

  • Gestion configuration à jour

  • Changements tracés

  • Référentiel technique avec ses plans à jour

  • Retour d'expérience partagé

Parce que les activités de V&V nécessitent l'utilisation de moyens matériels, l'environnement de simulation et les outils de développement doivent être identifiés et leur périmètre d'utilisation décrit.

Schéma
Moyens matériels pour la V&V

Les activités visant à prouver la conformité relative à la 'sécurité' sont parmi les plus importantes des systèmes embarqués critiques. Les analyses de sécurité, les règles de conception, les choix de partitionnement, les redondances donnent la matière aux activités de V&V.

Schéma
Données pour la V&V

Il s'agit alors de vérifier la véracité des données fournies, leur cohérence et leur complétude.

Vérifications à faire sur les données
Vérifications à faire sur les données

Les causes racines de défaillances et leur probabilité d'occurrence doivent être identifiées et conformes aux attentes.

La fiabilité du produit doit être supérieure ou égale à son exigence

Schéma
Évaluation de la fiabilité effective par rapport à l'exigence

Attention aux pannes dormantes...

Les pannes matérielles dormantes doivent être identifiées et gérées. Ce phénomène se présente lorsqu'une première panne, résultat d'une première perturbation, est présente dans le produit mais n'est pas détectée et n'altère pas son comportement opérationnel.

Dans ce cas, cet étage fonctionne tel un barrage filtrant la tension d'entrée en écrêtant les valeurs de tension au-dessus d'un seuil prédéfini.

L'étage n'étant pas en série sur la ligne du signal, la panne en circuit ouvert n'affecte pas l'entrée du signal et n'est donc pas détectée par le système qui continue à fonctionner normalement. Cependant, toute nouvelle surtension sera non écrêtée. Les pics de tension vont alors pénétrer dans la carte électronique et circuler librement sur les pistes, passer d'une piste à l'autre par rayonnement électromagnétique et pourront, en fonction de leur amplitude, provoquer des pannes irrémédiables au niveau des composants électroniques ou provoquer des échauffements des pistes traversées, impactant ainsi la performance instantanée, voire le fonctionnement permanent du système embarqué.

... et aux pannes parasites !

Les pannes « parasites » sont également à analyser et à corriger. Elles sont susceptibles de provoquer des comportements inattendus et non maîtrisés du système embarqué en cas d'apparition d'une première panne.

Nous pouvons signaler par exemple, comme on peut le voir sur le schéma, le câblage particulier d'une redondance d'un signal de commande d'un équipement, dont le déclenchement en mode secours alimenterait inopinément un second équipement.

Schéma
Exemple de panne parasite

En récapitulatif, au niveau électronique, tous les étages dans leur fonctionnement normal, anormal, unitaire et intégré sont ainsi vérifiés :

  • l'ensemble du routage des cartes électroniques, seules et reliées les unes aux autres, l'implémentation des composants, la conformité aux schémas, les éléments de fixation mécanique sont revus par les pairs ;

  • les critères de vérification sont formalisés relativement aux normes, aux standards et aux plans du projet relatifs au domaine métier ;

  • les activités de vérification sont systématiquement tracées et toute valeur observée, calculée ou mesurée, archivée avec son contexte ;

  • les comportements fonctionnels, électriques, mécaniques, thermiques et électromagnétiques des circuits électroniques sont analysés et simulés, car il est inapproprié voire impossible de pouvoir tester complètement un système critique dans son environnement opérationnel ;

  • les états opérationnels et limites représentatifs du système sont identifiés ;

  • l'environnement et les temps de fonctionnement sont pris en compte, les paramètres de modélisation, les approximations sont également pris en compte ;

  • les critères et seuils de validation relativement aux exigences sont intégrés aux activités de simulation ;

  • les résultats sont analysés et un degré de confiance dans la performance est prononcé par les pairs ;

Récapitulatif
Récapitulatif
  • des tests réels complètent, lorsque requis, les analyses, pour à la fois vérifier la pertinence des résultats (en particulier en simulation), recaler les modèles mais aussi affiner les résultats aux limites des analyses.

Récapitulatif

Les activités de V&V peuvent être importantes, complexes à mettre en œuvre, longues et coûteuses.

Le plan de V&V doit donc, outre la complétude des activités à mener et le respect des standards et normes à appliquer, tenter de minimiser l'impact économique de ces activités, sans toutefois déroger à la qualité résultante du produit.

Une matrice de contrôle est donc proposée afin d'identifier l'ensemble des exigences à couvrir et la façon dont les preuves de conformité vont être fournies (par analyse, revue, inspection, simulation, test). L'enjeu est de minimiser la redondance de test sur un élément du produit sans déroger à la couverture globale.

Matrice de contrôle :

Exemple d'exigence

Exigence n°

Conformité par analyse

Conformité par revue

Conformité par inspection

Conformité par tests

Traçabilité & conformité aux standard

Extinction

 

X

 

 

 

X

Initialisation

 

X

 

 

 

X

Diagnotic

 

X

 

 

 

X

Mode 'normal'

 

 

X

 

X

X

Mode 'alternate'

 

 

X

 

X

X

Mode 'direct'

 

 

X

 

X

X

PBIT

 

 

 

 

X

X

Carte alimentation

 

 

X

X

 

X

Inhibition signal commande

 

X

 

 

X

X

Messages alerte

 

 

 

 

 

X

Format des mots ARINC664

 

X

 

 

 

X

Exemple d'application de la démarche

Par exemple, un multiplexeur est testé voie par voie afin de vérifier sa fonction aiguillage.

Exemple de multiplexeur
Exemple de multiplexeur

Par contre, la vérification du comportement d'un même étage dont la sortie serait aiguillée sur plusieurs voies n'est pas forcément testée sur toutes les voies (l'étage lui-même fonctionnant de la même manière quelle que soit la voie sur laquelle le signal de sortie sera aiguillé).

Un test peut toutefois être réservé pour étudier le comportement du signal lui-même lorsqu'il transite sur chaque voie multiplexée.

Un nouveau test doit être créé en conséquence. Il doit préciser son lien avec une exigence (le test réalisé répond à quelle exigence du système car sinon, il ne sert à rien ou il est redondant).

Corrélation test-exigence :

Exigence

Test unitaire

Test intégration

Test robustesse

Test endurance

Inhibition du signal de commande servo

X

 

X

 

Activation signal commande servo

 

X

 

X

Maintien signal commande servo

X

 

X

X

Il doit également préciser son lien avec les éléments de conception (on teste quoi ?) les moyens matériels et logiciels nécessaires au test, les préconditions liées au contexte du test, l'événement déclencheur du test, la séquence de test elle-même incluant les aspects temporels, le résultat de bon fonctionnement attendu avec une plage de tolérance ou un seuil (si une mesure est requise), le résultat observé avec de quoi le commenter si besoin.

Schéma
Description du test

Toute la panoplie des techniques déjà présentées sera appliquée pour rechercher les bugs, failles ou manques par des approches statiques, dynamiques (intégrant les aspects temps réel), dans des conditions normales, exceptionnelles et dans des temps de fonctionnement étendus.

Les vérifications sont réalisées sur le code lui-même, unitairement ou intégré, mais aussi à chaque étape du développement de la fonction, de l'objet, du bloc, du service considérés.

Synthèse sur les activités de V&V

Automatiser les tests, mettre en place des pratiques d'intégration continue pour garantir l'exhaustivité des contrôles, les rendre indépendants des opérateurs, limiter les régressions entre les versions, etc.  sont des pratiques récentes qui améliorent les performances des activités de V&V.

Les activités de V&V en développement permettent de prouver la conformité du produit pour l'usage et l'environnement opérationnels prévus dans son cycle de vie. Elles visent à localiser et à éliminer les erreurs dans le système en croisant les techniques de recherche présentées. Elles requièrent rigueur, réactivité, de bonnes capacités de compréhension et des capacités rédactionnelles. 

Positionnement des tests

Les tests en production vérifient pour leur part que :

  • la refabrication individuelle d'un produit conforme reste conforme ;

  • et l'utilisation de composants physiquement différents du prototype, ainsi que l'exécution d'opérations de fabrication manuelles ou automatiques, n'introduisent pas de comportements défectueux, de limitations de performances ou de pannes cachées.

N.B. : les tests des parties programmables sont dans ce cas relativement simples. Ils consistent à vérifier par exemple que le code exécutable implanté dans le nouveau produit est intègre. Un simple contrôle du checksum de la version exécutable peut généralement être proposé pour cela.

Les tests sont du coup plutôt concentrés au niveau matériel et répartis tout au long du processus de fabrication.

Nous ne détaillerons pas plus avant ici la stratégie et la batterie de tests à réaliser dans ce cas. Nous dirons simplement que dans le cas des systèmes embarqués critiques, les tests de production ne sont pas réalisés par échantillonnage ou par lot mais sur chaque unité fabriquée. Les techniques de tests sont similaires à celles réalisées en développement, seuls les objectifs diffèrent.

En résumé

Trop souvent dévalorisée car considérée moins noble que la conception elle-même, l'activité de V&V et le rôle des acteurs impliqués dans ces activités sont cependant cruciaux dans le développement des systèmes embarqués critiques.

En effet, situés au cœur des développements, ces acteurs doivent en toute indépendance comprendre le fonctionnement d'éléments qu'ils doivent vérifier et valider bien qu'ils ne les aient pas conçus. Ils doivent définir la politique de couverture et d'optimisation de V&V, écrire les procédures de test, s'assurer de la conformité du produit et tracer toutes leurs opérations.

Exemple
Compétences et rôles des acteurs de V&V

Leur rôle est ingrat. Si tout va bien, c'est normal. S'ils laissent passer une erreur, c'est inacceptable et leur responsabilité est engagée.

L'impact d'une vérification optimisée et automatisée peut amener un gain de 20 à 30 % sur les temps de développement du projet.

Gain potentiel grâce à la V&V sur un projet
Gain potentiel grâce à la V&V sur un projet

Couplée à une démarche agile adaptée au développement des systèmes embarqués critiques, la V&V peut diviser par 100 les erreurs résiduelles et limiter considérablement la gravité de leur impact.

Cependant, ne nous y trompons pas, la maturité de ces processus demande de l'expertise et du temps. La maîtrise de la qualité produite, des coûts et des délais de développement des systèmes embarqués critiques, passe par un déploiement adapté de ces activités avec des ressources compétentes.

Ce cours est à présent terminé. Nous espérons qu'il vous a donné l'occasion de découvrir ou d'approfondir de nombreux points, méthodologique, techniques, sociétaux...  Faisons ensemble un bilan.

Exemple de certificat de réussite
Exemple de certificat de réussite