Logiciel: Comment l’analyse de sûreté d’un système programmé se compare-t-elle à celle d’un système analogique réalisé en technologie câblée ?

En raison du succès de l’informatique et des technologies digitales, les composants et les circuits électroniques des systèmes analogiques d’instrumentation et de contrôle industriels disparaissent progressivement du marché, créant ainsi des difficultés pour la  maintenance de ces anciens systèmes. De ce fait, dans les applications et systèmes liés à la sureté, la logique câblée est graduellement supplantée par du logiciel. Or, du point de vue de la sureté, un système programmé diffère d’un système câblé de plusieurs manières.   

Le logiciel offre plusieurs avantages. Des fonctionnalités riches et ‘intelligentes’ sont plus faciles à réaliser, en particulier pour améliorer les systèmes de surveillance et de contrôle et les interfaces homme-machine. La résilience, la sureté et la disponibilité peuvent aussi être renforcées par une  conception plus aisée de mécanismes tolérant aux fautes, et par des aides au diagnostic.  La technologie digitale offre également plus de précision et de stabilité numérique. De plus, contrairement aux circuits électroniques, le logiciel ne « s’use » pas par lui-même, et est insensible aux interférences  électromagnétiques, sismiques ou  autres interactions physiques. Enfin, parce qu’il est programmable, il est plus flexible pour accommoder des réglages de paramètres, de maintenance et des mises à jour.

Ces avantages, cependant, ont leurs contreparties. La taille et la fonctionnalité d’un système programmé peuvent conduire à des réalisations fort complexes de systèmes ayant un grand nombre d‘états et difficiles à tester. Les systèmes digitaux ont un comportement discret et sont très sensibles à de petites (bit) erreurs. Par opposition aux systèmes analogiques, pour être testés, ils ne permettent pas de s’appuyer sur des arguments de continuité et d’interpolation. Les cas à tester n’en sont que plus nombreux et difficiles à identifier; un test avéré correct pour deux valeurs d’entrée ‘voisines’ n’implique pas automatiquement que les tests des valeurs  intermédiaires le soient.

Ces problèmes demandent des précautions particulières pour garantir et  démontrer le niveau de fiabilité d’un système programmé. A la différence des erreurs aléatoires d’un circuit électronique, les erreurs d’un logiciel sont systématiques et résultent de défauts de conception ou d’implantation, contre lesquels une simple redondance de systèmes ou de composants  n’offre pas de protection. Celle-ci ne peut être éventuellement renforcée que par des composants codés différemment, ou réalisant des fonctions diversifiées pour assurer la même fonction de sureté. Et néanmoins, aussi détaillés soient–ils, les tests sont souvent  incapables par eux seuls de  convaincre d’une fiabilité suffisante  pour des applications de sureté. En conséquence, l’analyse de sureté doit alors prendre en considération l’impact sur la fiabilité d’autres facteurs tels la qualité des spécifications du logiciel, les méthodes de conception et de programmation, et la compétence des programmeurs.

Ces dernières années, la technologie digitale a dû faire face à de nouveaux défis.  Les problèmes de cyber sécurité nécessitent des mesures spécifiques de protection des systèmes programmés contre les intrusions et les interactions malveillantes. Par ailleurs, des avancées technologiques en conception de circuits intégrés ont permis de produire des composants jouissant d’ une logique intégrée programmable, tes que des PLD’s (programmable logic devices) et des FPGA’s (field gate programmable arrays). La vérification de la conception et des performances de ces composants réclame aussi de nouvelles approches.

FAQ List