advanced-manufacturing-techniques
Conception de systèmes numériques fiables : normes, techniques et exemples
Table of Contents
La conception de systèmes numériques fiables est essentielle pour assurer une performance, une sécurité et une intégrité opérationnelle uniformes dans un large éventail d'applications critiques. Des systèmes de sécurité automobile aux dispositifs médicaux, aux systèmes de contrôle industriels aux applications aérospatiales, l'ingénierie de la fiabilité constitue l'épine dorsale d'une infrastructure numérique moderne.
Comprendre la fiabilité du système numérique
La fiabilité du système numérique se réfère à la probabilité qu'un système puisse remplir sa fonction prévue sans défaillance dans des conditions déterminées pendant une période donnée. À une époque où les systèmes numériques contrôlent tout, des systèmes de freinage du véhicule aux transactions financières, la fiabilité n'est pas seulement une considération technique, c'est une exigence fondamentale qui peut signifier la différence entre un fonctionnement sûr et une défaillance catastrophique.
L'ingénierie de la fiabilité englobe de multiples disciplines, dont la conception du matériel, le développement de logiciels, les méthodes d'essai et les stratégies de maintenance. Le domaine a évolué de façon significative au cours des dernières décennies, en raison de la complexité croissante des systèmes, des exigences de sécurité plus élevées et de la prolifération des systèmes électroniques dans les applications critiques en matière de sécurité.
Principaux critères de fiabilité
Les ingénieurs de fiabilité utilisent plusieurs mesures quantitatives pour mesurer et prédire le rendement du système. Temps moyen entre les défaillances (MTBF) représente le temps moyen écoulé entre les défaillances du système pendant le fonctionnement normal. Temps moyen à la défaillance (MTTF) mesure le temps moyen jusqu'à ce que la première défaillance se produise dans des systèmes non réparables.
La défaillance dans le temps (FIT) est une autre mesure critique, qui représente le nombre de défaillances attendues en un milliard d'heures de fonctionnement de l'appareil. Cette mesure est particulièrement importante dans les normes de sécurité fonctionnelle où des cibles spécifiques de FIT doivent être atteintes pour différents niveaux d'intégrité de la sécurité.
Normes internationales de fiabilité des systèmes numériques
Les normes fournissent des cadres essentiels pour la conception, l'essai et le maintien de systèmes numériques fiables.Ces lignes directrices internationalement reconnues garantissent que les systèmes répondent à des exigences rigoureuses en matière de sécurité, de qualité et de rendement dans différentes industries et applications.
IEC 61508: La Fondation de la sécurité fonctionnelle
IEC 61508 est la norme principale pour la sécurité fonctionnelle des systèmes électroniques E/E/PE (électriques, électroniques et programmables). IEC 61508 est une norme plus générale applicable à un large éventail d'industries, y compris l'automobile, les procédés et les machines.
La norme IEC 61508 précise les techniques à utiliser pour chaque phase du cycle de vie. La norme porte sur l'ensemble du cycle de vie de sécurité, depuis le concept initial jusqu'à la conception, la mise en œuvre, l'exploitation et le déclassement éventuel. La norme exige que l'évaluation des risques et des risques soit effectuée pour des systèmes sur mesure: «Le risque de CUE (équipement sous contrôle) doit être évalué ou estimé pour chaque événement dangereux déterminé». La norme recommande que «Des techniques d'analyse des risques et des risques soient utilisées, tant qualitatives que quantitatives, et qu'elles fournissent des orientations sur un certain nombre d'approches.
La norme CEI 61508 définit les niveaux d'intégrité de la sécurité (SIL) allant de SIL 1 (le plus bas) à SIL 4 (le plus élevé), chaque niveau précisant des exigences de plus en plus strictes pour les fonctions de sécurité.Ces niveaux sont déterminés par l'évaluation des risques et définissent la probabilité que les systèmes de sécurité atteignent des objectifs de défaillance.
ISO 26262: Sécurité fonctionnelle de l'automobile
Il est issu de la norme CEI 61508 développée par la Commission électrotechnique internationale. ISO 26262 est spécialement conçu pour l'industrie automobile, traitant de la sécurité fonctionnelle des systèmes électroniques dans les véhicules de production. Il couvre l'ensemble du cycle de vie de développement, du concept à la production et au service.
La première édition de la norme ISO 26262 a été publiée en 2011 (ISO 26262:2011), traitant de la sécurité fonctionnelle des systèmes E/E installés dans les « voitures particulières de production de série » d'un poids brut maximal de 3 500 kg. La version révisée a été publiée en 2018 (ISO 26262:2018) pour couvrir tous les véhicules routiers, à l'exception des cyclomoteurs. La norme est devenue l'exigence de facto pour le développement des systèmes électriques et électroniques automobiles dans le monde entier.
La norme utilise une approche fondée sur le risque en déterminant les classes de risque connues sous le nom de niveaux d'intégrité de sécurité automobile (NIV) qui aident à préciser les exigences de sécurité pour atteindre un niveau acceptable de risque résiduel. Les NIVQ vont de la gestion de la qualité (gestion de la qualité, qui ne représente pas de exigences de sécurité particulières) à l'ASIL A, B, C, à l'ASIL D, l'ASIL D représentant les exigences de sécurité les plus strictes pour les systèmes où des défaillances pourraient entraîner des blessures graves ou la mort.
La dernière version, ISO 26262:2018 est subdivisée en 12 parties. Ces parties couvrent le vocabulaire, la gestion de la sécurité fonctionnelle, la phase de concept, le développement de produits au niveau du système, le développement matériel, le développement logiciel, la production et l'exploitation, les processus de support, les analyses orientées ASIL et orientées sécurité, les lignes directrices sur ISO 26262, l'application aux semi-conducteurs et l'application aux motocycles.
Autres normes de sécurité spécifiques à l'industrie
Au fil des ans, plusieurs normes de sécurité fonctionnelles pour les industries qui manipulent des systèmes électriques, électroniques et électromécaniques de sécurité ont été élaborées à partir de la norme CEI 61508 (générique), notamment la norme ISO 26262 (automobile), la norme CEI 61511 (procédé), la norme EN 50129 (rail), la norme CEI 620621 (machines), la norme CEI 61513 (nucléaire), etc.
Le document DO-178C régit les aspects logiciels des systèmes aéroportés et de la certification des équipements, en fournissant des conseils pour le développement de logiciels aéronautiques. Le document CEI 62304 traite des processus du cycle de vie des logiciels pour les dispositifs médicaux, en veillant à ce que les dispositifs médicaux répondent aux exigences de sécurité et d'efficacité appropriées.
Chacune de ces normes partage des principes communs dérivés de la CEI 61508 tout en intégrant des exigences spécifiques à un domaine qui tiennent compte des environnements opérationnels uniques, des modes de défaillance et des profils de risque de leurs industries respectives.
Techniques fondamentales pour améliorer la fiabilité
L'ingénierie de fiabilité utilise de nombreuses techniques pour prévenir, détecter et atténuer les défaillances des systèmes numériques. Ces approches fonctionnent en combinaison pour créer des systèmes robustes capables de maintenir le fonctionnement même lorsque des composants individuels échouent ou des erreurs se produisent.
Stratégies de redondance
La redondance consiste à incorporer des composants, sous-systèmes ou informations alternatifs ou en double dans une conception de système pour éviter des points de défaillance uniques.
Hardware Redundancy comprend plusieurs implémentations de composants critiques. Dual Modular Redundancy (DMR) utilise deux modules identiques avec une logique de comparaison pour détecter les écarts. Triple Modular Redundancy (TMR) emploie trois modules parallèles avec une logique de vote majoritaire, permettant au système de continuer à fonctionner correctement même en cas de défaillance d'un module. N-Modular Redundancy étend ce concept à n'importe quel nombre de modules, offrant une tolérance de plus en plus robuste aux erreurs au prix d'une complexité matérielle supplémentaire et d'une consommation d'énergie.
Informations La redondance ajoute des bits de données supplémentaires pour permettre la détection et la correction d'erreurs. Les bits de parité, les comptes de contrôle et les codes de correction d'erreurs plus sophistiqués protègent l'intégrité des données pendant la transmission et le stockage.Ces techniques sont essentielles dans les systèmes de communication, les dispositifs de mémoire et les applications de stockage de données où les erreurs de bits peuvent survenir en raison du bruit, de l'interférence ou de la dégradation physique des médias.
Time Redundancy effectue des opérations à plusieurs reprises et compare les résultats pour détecter des défauts transitoires. Cette approche est particulièrement efficace contre les erreurs temporaires causées par l'interférence électromagnétique, les fluctuations de tension ou les effets de rayonnement. Time redondance trade la vitesse d'exécution pour une meilleure fiabilité, ce qui la rend adaptée aux applications où les contraintes de temps permettent des opérations répétées.
Redondance logiciel met en œuvre divers algorithmes ou approches de programmation pour atteindre la même fonctionnalité. La programmation N-version développe plusieurs implémentations indépendantes de fonctions logicielles critiques, réduisant la probabilité que les défauts de conception communs affecteront toutes les versions simultanément.
Méthodes de détection et de correction des erreurs
En théorie de l'information et en théorie du codage avec des applications en informatique et télécommunications, la détection et la correction d'erreurs (EDAC) ou le contrôle des erreurs sont des techniques qui permettent la livraison fiable de données numériques sur des canaux de communication peu fiables. De nombreux canaux de communication sont sujets au bruit des canaux, et donc des erreurs peuvent être introduites pendant la transmission de la source à un récepteur.
Tous les schémas de détection et de correction d'erreurs ajoutent une redondance (c'est-à-dire des données supplémentaires) à un message, que les récepteurs peuvent utiliser pour vérifier la cohérence du message livré et récupérer les données qui ont été jugées corrompues. Le choix entre détection-seulement et détection-plus-correction dépend de facteurs, y compris la capacité de retransmettre les données, les exigences de latence, et le taux d'erreur attendu du canal de communication.
Contrôle de la parité
Le contrôle de parité représente la forme la plus simple de détection d'erreur. Un seul bit de parité est ajouté à chaque mot de données, défini pour rendre le nombre total de ceux-ci soit même (même parité) ou impair (parité impair). Le récepteur recalcule la parité et la compare avec le bit de parité reçu. Tout décalage indique qu'une erreur s'est produite pendant la transmission.
Vérification de la redondance cyclique
Le CRC est une technique largement utilisée pour détecter les erreurs dans les données numériques. Particulièrement utile dans les contextes de transmission et de stockage des données, le CRC contribue à assurer l'intégrité des données en décelant les changements accidentels de données brutes résultant du bruit ou d'autres perturbations.
Les codes CRC génèrent des bits de contrôle en traitant les données comme des coefficients polynômes et en effectuant la division par un polynôme de générateur prédéterminé. Le reste devient la valeur CRC annexée aux données. Les récepteurs effectuent la même opération de division; si le reste est zéro, les données sont supposées correctes. CRC fournit de fortes capacités de détection d'erreurs avec des frais généraux de calcul relativement faibles, ce qui rend omniprésent dans les protocoles réseau, les systèmes de stockage et les communications numériques.
Codes de l'hameçonnage
Code de réglage ou code de réglage de distance est le meilleur code de correction d'erreur que nous utilisons dans la plupart des systèmes numériques et réseau de communication. Cette technique de détection et de correction d'erreur est développée par R.W.Hamming. Les codes de réglage peuvent détecter jusqu'à deux bits et corriger des erreurs en un seul bits en plaçant stratégiquement des bits de parité à la puissance de deux positions dans le mot de données.
Le nombre de bits de parité requis dépend de la longueur des mots de données, suivant la relation que 2^p doit être supérieur ou égal à p + d + 1, où p est le nombre de bits de parité et d est le nombre de bits de données. Chaque bits de parité vérifie des positions de bits spécifiques, permettant au récepteur d'identifier l'emplacement exact d'une erreur de unbit et de le corriger sans retransmission.
Codes Reed-Solomon
Les codes Reed-Solomon sont utilisés dans les disques compacts pour corriger les erreurs causées par les rayures. Les disques durs modernes utilisent les codes Reed-Solomon pour détecter et corriger les erreurs mineures dans les lectures sectorielles, et pour récupérer les données corrompues des secteurs défaillants et stocker ces données dans les secteurs de rechange. Ces codes puissants corrigent les erreurs fonctionnent sur des symboles multi bits plutôt que sur des bits individuels, les rendant particulièrement efficaces contre les erreurs d'éclatement où plusieurs bits consécutifs sont corrompus.
Les codes Reed-Solomon sont largement déployés dans les supports de stockage, y compris les CD, DVD, disques Blu-ray, QR codes, et communications par satellite. Leur capacité à corriger plusieurs erreurs de symboles les rend inestimables dans les applications où les dommages physiques ou l'interférence peuvent affecter les régions de données contiguës.
Correction d'erreur de renvoi
Dans le domaine de l'informatique, des télécommunications, de la théorie de l'information et de la théorie du codage, la correction d'erreurs par l'avant (FEC) ou le codage par canal est une technique utilisée pour contrôler les erreurs de transmission de données sur des canaux de communication peu fiables ou bruyants. L'idée centrale est que l'expéditeur code le message de manière redondante, le plus souvent en utilisant un code de correction d'erreurs ou un code de correction d'erreurs (ECC).
Les applications nécessitant une faible latence (comme les conversations téléphoniques) ne peuvent pas utiliser la requête de réacheminement automatique (ARQ); elles doivent utiliser la correction d'erreur de l'avant (FEC). Au moment où un système ARQ découvre une erreur et la retransmet, les données de réenvoi arriveront trop tard pour être utilisables.
Architectures de tolérance aux défauts
La tolérance aux défauts va au-delà de la simple redondance pour englober des architectures système complètes conçues pour maintenir le fonctionnement malgré les défaillances des composants.
La conception en cas de panne garantit que les défaillances du système se traduisent par des états sûrs plutôt que par des conditions dangereuses. Les signaux ferroviaires sont par défaut rouges en cas de panne d'alimentation, les systèmes automobiles désactivent le régulateur de vitesse lorsque des défauts de capteur sont détectés et les machines industrielles s'arrêtent lorsque les verrouillages de sécurité sont déclenchés.
La conception opérationnelle des aéronefs maintient une fonctionnalité critique même après que des défaillances se produisent.Les systèmes de commande de vol des aéronefs, les systèmes de direction automobile et les équipements médicaux de survie utilisent souvent des architectures opérationnelles qui continuent de fournir des services essentiels malgré les défaillances des composants.
La dégradation progressive permet aux systèmes de continuer à fonctionner avec une fonctionnalité réduite en cas de défaillance. Plutôt que d'arrêter complètement, le système identifie les composants défaillants, les isole et continue à fonctionner en utilisant les ressources restantes.Cette approche est courante dans les systèmes distribués, les réseaux de communication et les architectures multiprocesseurs où la fonctionnalité partielle est préférable à la défaillance totale.
Conception pour l'essai
La testabilité désigne la facilité avec laquelle un système peut être testé pour vérifier le fonctionnement correct et détecter les défauts. Les techniques de conception de testabilité (DFT) intègrent des caractéristiques qui facilitent les essais pendant les phases de fabrication, d'installation, de fonctionnement et de maintenance.
Les mécanismes d'auto-essai de construction (BIST) permettent aux systèmes de se tester sans équipement externe. Mémoire BIST vérifie la fonctionnalité de RAM, la logique BIST vérifie les circuits combinés et séquentiels, et les composants de signal mixte analogiques. BIST réduit les coûts de l'équipement d'essai, permet des essais sur le terrain et supporte la surveillance continue de la santé pendant le fonctionnement.
Les techniques de balayage de frontières permettent d'accéder aux nœuds de circuits internes par des interfaces de test normalisées. La norme IEEE 1149.1 (JTAG) définit l'architecture de balayage de frontières qui permet de tester les interconnexions entre circuits intégrés sans probation physique.
[la couverture diagnostique] mesure l'efficacité des mécanismes de détection des défauts.Une couverture diagnostique élevée garantit que les défauts sont détectés rapidement, minimisant le temps dans les systèmes de gestion des défauts ou dans des conditions dangereuses.
Logiciels Logiciels Ingénierie de fiabilité
Contrairement au matériel, les logiciels ne s'épuisent pas ou ne subissent pas de défaillances aléatoires, mais ils peuvent contenir des défauts de conception qui se manifestent dans des conditions spécifiques. L'ingénierie de la fiabilité des logiciels applique des approches systématiques pour prévenir, détecter et éliminer les défauts logiciels.
Processus de développement de logiciels
Le modèle V, largement adopté dans les industries critiques pour la sécurité, associe chaque phase de développement à des activités de vérification correspondantes. La spécification des exigences est vérifiée par l'examen des exigences, la conception architecturale par l'examen de la conception, la conception détaillée par l'inspection de code, et la mise en oeuvre par l'essai d'unité, l'essai d'intégration et l'essai du système.
Les méthodes agiles adaptent ces principes aux cycles de développement itératif, intégrant l'intégration continue, les essais automatisés et les rejets fréquents. Les applications critiques pour la sécurité combinent souvent des aspects des deux approches, en utilisant le développement itératif dans un cadre structuré qui assure la traçabilité et la vérification à chaque étape.
Analyse statique et qualité du code
L'analyse statique examine le code source sans l'exécuter, en identifiant les défauts potentiels, les vulnérabilités de sécurité et les écarts par rapport aux normes de codage.
Les normes de codage telles que MISRA C, MISRA C++ et CERT prévoient des règles qui empêchent les erreurs de programmation communes et améliorent la maintenance du code. Ces normes interdisent les caractéristiques linguistiques dangereuses, précisent les pratiques de programmation défensive et établissent des conventions qui améliorent la clarté du code.
Stratégies d'essais dynamiques
Les tests dynamiques exécutent des logiciels pour vérifier le comportement correct et détecter les défauts. Les tests unitaires valident des fonctions ou des modules individuels en isolation, les tests d'intégration vérifient les interactions entre les composants, les tests système évaluent le comportement complet du système et les tests d'acceptation confirment que les exigences sont satisfaites.
La couverture de l'énoncé mesure le pourcentage d'énoncés de code exécutés pendant les essais, la couverture de la direction générale suit les résultats des décisions et la couverture modifiée de l'état/de la décision (MC/DC) veille à ce que chaque condition influe de façon indépendante sur les résultats des décisions.
Méthodes formelles
Les méthodes formelles appliquent des techniques mathématiques pour spécifier, développer et vérifier les logiciels. La vérification du modèle explore exhaustivement les espaces d'état du système pour vérifier les propriétés telles que l'absence d'impasses, le séquençage correct des opérations et la satisfaction des spécifications logiques temporelles.
Bien que les méthodes formelles offrent la plus haute assurance de l'exactitude, leur application nécessite une expertise spécialisée et des efforts importants. Elles sont généralement réservées aux composants logiciels les plus critiques où le coût de la défaillance justifie l'investissement dans la vérification formelle.
Considérations relatives à la fiabilité du matériel
La fiabilité du matériel englobe les composants physiques qui mettent en oeuvre des systèmes numériques, y compris les circuits intégrés, les cartes de circuits imprimés, les connecteurs et les alimentations électriques.
Défaillances matérielles aléatoires
Les défaillances matérielles aléatoires sont imprévisibles en raison de mécanismes physiques tels que l'électromigration, la dégradation de l'oxyde, l'injection de porteurs chauds et le cycle thermique. Ces défaillances suivent les distributions statistiques caractérisées par la courbe de la baignoire : taux de défaillance élevés au cours de la vie précoce (mortalité infantile), faibles taux de défaillance constante au cours de la vie utile et taux de défaillance croissants au cours de l'usure.
La vitesse ou la probabilité de défaillance matérielle dans le champ en raison d'une défaillance aléatoire, appelée Métrique de probabilité de défaillance matérielle (PMHF) selon la définition ISO 26262, ou la probabilité de défaillance dangereuse par heure (PFH) selon la définition CEI 61508. Ces paramètres quantifient la probabilité de défaillance matérielle qui pourrait conduire à un comportement dangereux du système.
La norme ISO 26262 définit cette métrique comme étant la valeur métrique de la défaillance monopoint (SPFM), tandis que la norme CEI 61508 la définit comme la fraction de défaillance sécurisée (SFF). Par exemple, SPFM = 90 % signifie que si une défaillance survient, il y a 90% de chances que la défaillance soit sûre ou soit détectée et atténuée par le système lui-même.
Défaillances systématiques du matériel
Les défaillances systématiques résultent d'erreurs de conception, de défauts de fabrication ou de spécifications inadéquates plutôt que de dégradations physiques aléatoires.Ces défaillances sont déterministes, étant donné les mêmes conditions, elles se produiront toujours.
L'analyse du mode et des effets de défaillance (FMEA) examine systématiquement les modes de défaillance potentiels des composants et leurs effets sur le comportement du système. Chaque composant est analysé pour identifier les défaillances possibles, leurs causes, leurs effets, les méthodes de détection et les stratégies d'atténuation.
L'analyse des arbres de défaillance (ALF) fonctionne en amont des événements dangereux au niveau du système pour identifier les combinaisons de défaillances de composants qui pourraient les causer. L'ALF utilise des portes logiques booléennes pour modéliser la propagation des défaillances de niveau inférieur par le système, permettant des prévisions quantitatives de fiabilité et l'identification des chemins critiques de défaillance.
Essais de stress environnemental
Les essais environnementaux soumettent le matériel à des conditions qui accélèrent les mécanismes de défaillance, révèlent des faiblesses de conception et de fabrication. Le cycle de température stresse les joints de soudure et les interfaces de matériaux, les essais de vibration évaluent la robustesse mécanique, les essais d'humidité évaluent la résistance à l'humidité et les essais de compatibilité électromagnétique vérifient l'immunité aux interférences.
Les tests de vie hautement accélérés (HALT) poussent le matériel au-delà des limites normales d'exploitation pour découvrir les modes de défaillance et les marges de conception.
Ingénierie de fiabilité de niveau système
La fiabilité du système intègre des considérations matérielles, logicielles et opérationnelles dans des solutions complètes qui répondent aux exigences de l'application.Cette approche holistique traite des interactions entre les composants, les facteurs environnementaux, les opérateurs humains et les stratégies de maintenance.
Modélisation et prévision de fiabilité
Les systèmes de série échouent quand un composant échoue, de sorte que la fiabilité du système est égale au produit de la fiabilité des composants. Les systèmes redondants parallèles échouent seulement lorsque tous les chemins redondants échouent, améliorant considérablement la fiabilité par rapport aux conceptions non redondantes.
Les modèles Markov représentent des systèmes comme machines d'état avec des transitions probabilistes entre états. Ces modèles capturent des comportements complexes, y compris la redondance, la réparation, les modes de fonctionnement dégradés, et les défaillances de cause commune.
L'analyse RBD calcule la fiabilité du système à partir des fiabilités des composants et de la topologie architecturale, en soutenant les compromis de conception et l'optimisation.
Défauts de cause courante
Les défaillances de cause courante affectent simultanément plusieurs composants redondants, en défaveur des stratégies de redondance. Les sources comprennent les erreurs de conception reproduites sur les canaux redondants, les contraintes environnementales affectant tous les composants et les défauts de fabrication systématiques.
La diversité des matériels utilise des composants de différents fabricants, la diversité des logiciels utilise des implémentations développées de façon indépendante, et la diversité fonctionnelle répond aux exigences par des principes physiques différents.
Mécanismes de sécurité et couverture diagnostique
Les mécanismes de sécurité détectent les défauts et préviennent ou atténuent leurs effets.Les minuteurs de surveillance détectent les défaillances d'exécution du logiciel, les contrôles de portée valident les lectures des capteurs, les contrôles de plausibilité comparent les mesures redondantes et la protection de la mémoire empêche l'accès non autorisé.
Les normes de sécurité fonctionnelles précisent les exigences minimales de couverture diagnostique pour différents niveaux d'intégrité de sécurité. Pour atteindre une couverture diagnostique élevée, il faut effectuer des tests complets d'injection de défauts, où les défauts sont délibérément introduits et les mécanismes de détection sont vérifiés.
Maintenance et fiabilité opérationnelle
La fiabilité va au-delà de la conception initiale et de la fabrication pour englober l'ensemble du cycle de vie opérationnel. Les stratégies d'entretien, les procédures opérationnelles et la surveillance continue garantissent que les systèmes maintiennent leur fiabilité prévue tout au long de leur durée de vie.
Entretien préventif
L'entretien préventif effectue des inspections, des ajustements et des remplacements de composants prévus pour prévenir les défaillances avant qu'elles ne surviennent.
L'analyse des vibrations détecte l'usure des roulements, l'imagerie thermique identifie les composants de surchauffe et l'analyse de l'huile révèle une dégradation mécanique. L'entretien prédictif optimise le calendrier de maintenance, réduisant les défaillances inattendues et les remplacements préventifs inutiles.
Surveillance continue de la santé
Les systèmes numériques modernes intègrent des capacités de surveillance de la santé qui évaluent continuellement l'état du système pendant le fonctionnement. Les diagnostics intégrés effectuent des auto-essais périodiques, le suivi des performances suit les paramètres clés par rapport aux valeurs attendues, et la détection d'anomalies identifie des comportements inhabituels qui peuvent indiquer des défauts de développement.
Les données de surveillance de la santé appuient de multiples objectifs, notamment la détection précoce des défauts, l'estimation de la durée de vie utile, l'optimisation de l'entretien et l'assurance de la sécurité.
Gestion de la configuration
La gestion de la configuration maintient le contrôle de la composition du système tout au long du cycle de vie. La gestion de la version suit les changements apportés aux conceptions du matériel, au code logiciel et à la documentation.
La traçabilité complète permet d'analyser les impacts lorsque des changements sont proposés, appuie l'analyse des causes profondes lorsque des défaillances se produisent et fournit des preuves de conformité aux normes et aux règlements.
Exemples de systèmes numériques fiables dans le monde réel
L'examen d'applications spécifiques illustre comment les principes de fiabilité sont appliqués dans la pratique, et ces exemples démontrent les techniques, les normes et les décisions de conception qui permettent un fonctionnement fiable dans des environnements exigeants.
Systèmes de contrôle de vol des aéronefs
Les avions modernes comptent sur des systèmes numériques de transmission par fil qui remplacent les liaisons mécaniques par des commandes électroniques. Ces systèmes doivent atteindre une fiabilité extrêmement élevée car les défaillances peuvent entraîner une perte de contrôle de l'aéronef.
Le développement de logiciels suit les directives du DO-178C, les fonctions les plus critiques atteignant le niveau d'assurance de la conception A, le niveau le plus élevé nécessitant une vérification approfondie, y compris la couverture de codes MC/DC. Le développement de matériel suit les normes du DO-254, assurant que le matériel électronique complexe respecte les niveaux d'assurance de la conception appropriés.
Systèmes de sécurité automobile
Les véhicules modernes comprennent de nombreux systèmes électroniques critiques pour la sécurité, dont le freinage antiblocage, le contrôle électronique de la stabilité, le déploiement des coussins gonflables et les systèmes d'assistance avancés au conducteur.
Les unités de contrôle électronique automobile utilisent des architectures de processeurs de verrouillage où deux cœurs de processeur exécutent des instructions identiques et comparent les résultats pour détecter les erreurs. Les unités de protection de la mémoire empêchent les erreurs logicielles de corrompre les données critiques, et les minuteurs de surveillance détectent les défaillances d'exécution du logiciel.
Les véhicules électriques et hybrides présentent d'autres défis, notamment la gestion de la batterie à haute tension, la commande du moteur et les systèmes de recharge, qui doivent prévenir les risques de choc électrique, de fuite thermique et de mouvement non intentionnel tout en maintenant une grande disponibilité et des performances élevées.
Contrôleurs d'appareils médicaux
Les dispositifs médicaux, y compris les pompes à perfusion, les ventilateurs, les stimulateurs cardiaques et les robots chirurgicaux, ont une incidence directe sur la santé et la sécurité des patients, qui doivent satisfaire aux exigences du cycle de vie des logiciels IEC 62304 et souvent aux exigences réglementaires de la FDA en matière d'approbation des dispositifs médicaux.
L'architecture logicielle sépare les fonctions critiques en matière de sécurité des fonctions non critiques, avec une vérification rigoureuse axée sur les composants critiques. Les essais approfondis comprennent le fonctionnement normal, les conditions de limite, l'injection de défauts et les scénarios d'erreur d'utilisation.
La cybersécurité est devenue de plus en plus importante car les dispositifs médicaux intègrent la connectivité réseau. Les mesures de sécurité doivent protéger contre les accès non autorisés, les logiciels malveillants et les violations de données tout en maintenant la sécurité et la fiabilité.
Systèmes de contrôle industriel
Les installations industrielles, y compris les usines chimiques, les centrales électriques et les installations de fabrication, utilisent des contrôleurs logiques programmables et des systèmes de contrôle distribués qui doivent satisfaire aux normes CEI 61508 ou aux normes sectorielles telles que CEI 61511 pour les industries de transformation.
Les systèmes instrumentés de sécurité mettent en place des fonctions de protection qui préviennent ou atténuent les événements dangereux. Ces systèmes sont conçus pour atteindre des niveaux d'intégrité de sécurité spécifiques par des combinaisons de redondances, de couverture diagnostique et d'essais d'épreuves.
Les systèmes industriels doivent fonctionner de façon fiable dans des environnements difficiles, notamment les températures extrêmes, les vibrations, les interférences électromagnétiques et les atmosphères corrosives.
Plateformes de transactions financières
Les systèmes financiers traitent des millions de transactions quotidiennes, nécessitant une grande disponibilité, intégrité des données et sécurité. Ces systèmes utilisent des serveurs, des bases de données et des connexions réseau redondants pour éliminer les points de défaillance uniques. La distribution géographique protège contre les catastrophes au niveau du site, et la panne automatisée assure un fonctionnement continu lorsque les composants échouent.
Le traitement des transactions utilise des propriétés ACID (Atomicité, Cohérence, Isolation, Durabilité) pour assurer l'intégrité des données. Les techniques cryptographiques protègent la confidentialité et l'authenticité des données, et l'enregistrement complet des audits permet de détecter les activités non autorisées et soutient l'analyse médico-légale.
La planification de la reprise après sinistre porte sur des scénarios tels que les défaillances matérielles, les défauts logiciels, les cyberattaques et les catastrophes naturelles.
Infrastructure de télécommunications
Les réseaux de télécommunications doivent fournir une connectivité très fiable pour les services de voix, de données et d'urgence. L'équipement de bureau central utilise des alimentations, des processeurs et des tissus de commutation redondants.
Les systèmes de gestion du réseau surveillent en permanence les performances, détectent les défauts et coordonnent les activités de restauration. Les accords de niveau de service précisent les objectifs de disponibilité, ce qui nécessite souvent un temps de disponibilité de 99,99 % (cinq neuf), ce qui correspond à moins de cinq minutes de temps d'arrêt par an.
Systèmes spatiaux
Spacecraft fonctionne dans des environnements extrêmes avec des radiations intenses, des températures extrêmes et des conditions de vide. La réparation est impossible une fois lancé, donc la fiabilité doit être conçue dès le début.
Les codes de correction des erreurs protègent la transmission des données sur de vastes distances où la résistance au signal est minime et le bruit est important. Les codes Reed-Solomon, les codes convolutionnels et les codes turbo permettent une communication fiable malgré des rapports signal-bruit extrêmement faibles.
Défis émergents et orientations futures
La fiabilité des systèmes numériques continue d'évoluer à mesure que de nouvelles technologies, applications et défis se font jour.
Systèmes autonomes
Les véhicules autonomes, les drones et les robots présentent de nouveaux défis de fiabilité. Ces systèmes doivent prendre des décisions critiques en matière de sécurité dans des environnements imprévisibles sans supervision humaine.
L'assurance de la sécurité des systèmes autonomes nécessite de nouvelles approches, notamment des essais fondés sur des scénarios, des vérifications basées sur des simulations et des contrôles des temps d'exécution.
Internet des objets
Les appareils IoT prolifèrent dans les applications de consommation, industrielles et d'infrastructure. Ces appareils ont souvent des ressources informatiques limitées, fonctionnent dans des environnements non contrôlés et nécessitent une longue durée de vie des batteries.
La sécurité et la fiabilité sont de plus en plus étroitement liées aux systèmes IoT. Les cyberattaques peuvent compromettre la fiabilité en causant des dysfonctionnements, en réduisant les batteries ou en perturbant les communications.
Intelligence artificielle et apprentissage automatique
L'IA et l'apprentissage automatique sont intégrés dans des systèmes de perception, de prise de décision et de contrôle critiques pour la sécurité. Cependant, les réseaux neuronaux et d'autres modèles d'apprentissage automatique présentent des comportements difficiles à prédire et à vérifier.
Pour garantir la fiabilité des systèmes basés sur l'IA, il faut adopter diverses approches, notamment des méthodes de formation robustes, une surveillance des temps d'exécution, une redondance diversifiée avec les algorithmes conventionnels et une vérification formelle des propriétés des réseaux neuronaux.
Intégration de la cybersécurité
La cybersécurité et la sécurité fonctionnelle convergent, car les systèmes connectés sont confrontés à des menaces à la fois à des défaillances aléatoires et à des attaques malveillantes. Les normes ISO/SAE 21434 pour la cybersécurité automobile et IEC 62443 pour la cybersécurité industrielle fournissent des cadres pour intégrer la sécurité dans le développement de systèmes critiques pour la sécurité.
Les mesures de sécurité doivent être conçues de manière à éviter de compromettre la sûreté. Par exemple, les opérations cryptographiques doivent se terminer dans les délais prescrits, les mises à jour de sécurité ne doivent pas présenter de risques pour la sûreté et les défaillances de sécurité ne doivent pas empêcher les fonctions de sûreté de fonctionner.
Technologies de fabrication avancées
Les composants imprimés en 3D peuvent avoir des modes de défaillance différents de ceux des pièces fabriquées traditionnellement, nécessitant de nouvelles approches de qualification. Les architectures de systèmes de conditionnement et de copeaux augmentent la densité d'intégration mais compliquent la gestion thermique et les essais.
L'ingénierie de fiabilité doit évoluer pour traiter ces technologies par la modélisation physique des défaillances, des méthodes d'essai accélérées et des techniques de surveillance in situ qui détectent la dégradation avant que des défaillances ne se produisent.
Meilleures pratiques pour la conception fiable du système numérique
Le succès de l'ingénierie de la fiabilité exige l'application systématique de pratiques éprouvées tout au long du cycle de vie du système.
Ingénierie des besoins
Les exigences de fiabilité devraient préciser des objectifs quantitatifs, y compris le MTOB, la disponibilité et les taux de défaillance pour différents modes de défaillance. Les exigences de sécurité devraient identifier les dangers, définir les niveaux d'intégrité de sécurité et préciser les mécanismes de sécurité et leur couverture diagnostique.
La traçabilité bidirectionnelle permet d'analyser les impacts lorsque les exigences changent et garantit que toutes les exigences sont mises en oeuvre et vérifiées.
Examens de conception
Les examens par les pairs à chaque phase de développement permettent de déceler les défauts dès qu'ils sont les moins coûteux à corriger. Les examens des exigences permettent de vérifier l'exhaustivité, l'uniformité et la faisabilité.
Les examens indépendants effectués par le personnel qui n'est pas impliqué dans le développement fournissent une évaluation objective et identifient les problèmes que les promoteurs peuvent négliger.
Vérification et validation
La vérification confirme que chaque phase de développement met correctement en œuvre ses intrants, tandis que la validation confirme que le système final répond aux besoins et aux exigences des utilisateurs.
La planification des essais devrait commencer au début de l'élaboration, avec des cas d'essai dérivés des exigences et des spécifications de conception. Les essais automatisés permettent de procéder à des tests de régression fréquents, en veillant à ce que les changements n'introduisent pas de nouveaux défauts.
Documentation
La documentation complète appuie les activités de développement, de vérification, d'exploitation et d'entretien. Les systèmes critiques en matière de sécurité exigent une documentation exhaustive, y compris des plans de sécurité, des analyses de risques, des spécifications de conception, des rapports de vérification et des cas de sécurité qui soutiennent que le système est acceptablement sûr.
La documentation doit être maintenue tout au long du cycle de vie du système, avec des changements suivis et contrôlés. La documentation vivante qui évolue avec le système est plus précieuse que les documents statiques qui deviennent rapidement obsolètes.
Amélioration continue
L'ingénierie de fiabilité est un processus continu qui s'étend sur tout le cycle de vie du système. Les données sur les défaillances sur le terrain devraient être recueillies, analysées et réinjectées dans les améliorations de conception.
Les leçons tirées de chaque projet devraient être saisies et appliquées aux développements futurs. Les processus organisationnels devraient être régulièrement revus et améliorés en fonction de l'expérience, des pratiques exemplaires de l'industrie et des normes en évolution.
Conclusion
La conception de systèmes numériques fiables exige une application complète des normes, des techniques et des pratiques exemplaires tout au long du cycle de vie du système. Du concept initial à la conception, à la mise en oeuvre, à la vérification, au fonctionnement et à la maintenance, la fiabilité doit être une considération primordiale à chaque étape.
Les normes internationales, dont la norme CEI 61508, ISO 26262, et les dérivés spécifiques à un domaine, fournissent des cadres qui guident le développement fiable du système.
Les techniques techniques, y compris la redondance, la détection et la correction des erreurs, la tolérance aux défauts et les essais complets, permettent aux systèmes de maintenir un fonctionnement correct malgré les défaillances des composants et les contraintes environnementales.
Des exemples du monde réel provenant de domaines de l'aérospatiale, de l'automobile, de la médecine, de l'industrie, de la finance et des télécommunications démontrent comment ces principes sont appliqués dans la pratique.
Les nouvelles technologies, y compris les systèmes autonomes, l'intelligence artificielle et l'Internet des objets, présentent de nouveaux défis qui exigent l'évolution des méthodes d'ingénierie de la fiabilité.
La réussite de la conception de systèmes numériques fiables exige un engagement envers des processus d'ingénierie rigoureux, une vérification et une validation exhaustives, une surveillance et une amélioration continues, et des cultures organisationnelles qui privilégient la fiabilité et la sécurité.
Pour plus d'information sur les normes de sécurité fonctionnelles, visitez le site Web de la Commission électrotechnique internationale. Des ressources supplémentaires sur la sécurité fonctionnelle automobile sont disponibles sur le site de l'Organisation internationale de normalisation. L'Administration fédérale de l'aviation fournit des conseils sur la certification en avionique, tandis que la Administration des aliments et des médicaments des États-Unis offre des ressources sur la sécurité des appareils médicaux.