Surete de Fonctionnement
Surete de Fonctionnement
Surete de Fonctionnement
Jean-Marc Mercantini
1.1 DEFINITIONS
Le service délivré par un système est son comportement tel que perçu par son (ou ses)
utilisateur(s).
La notion d'utilisateur doit être considérée au sens large, c'est à dire qu'elle représente
aussi bien un opérateur qu'un autre système.
C
O
DEFAILLANCE SYSTEME N
C
FONCTIONS E
P
T
E LE SERVICE I
N O
V SPECIFIE N
I
R
O LA SURETE E
N X
N DE P
E FONCTION- L
M O
E -NEMENT I
N T
T A
LE SERVICE T
UTILISATEUR I
DELIVRE O
N
1.3.1 La défaillance
Une entité connaît une défaillance lorsqu’elle n’est plus en mesure de remplir sa
(ou ses) fonction(s). Par extension, on considère parfois qu’il y a une défaillance
lorsqu’il y a altération de l’aptitude d’une entité à accomplir une fonction
requise : les tolérances associées doivent alors être définies. Afin de préciser cette
notion de défaillance, on réalise plusieurs classifications des défaillances.
Défaillance critique : défaillance qui entraîne la perte d’une (ou des) fonction(s)
essentielles d’un système et cause des dommages importants au dit
système ou à son environnement en ne présentant, toutefois, qu’un
risque négligeable de mort ou de blessure. (C. Lievens).
COMPOSANT FONCTIONS
Le défaut
La panne
La panne est l'effet fonctionnel local du défaut et elle existe dès que le défaut
apparaît. Elle peut être dormante ou active. Si une panne devient active alors
elle produit une erreur.
L'erreur
Erreur
latente
Défaut Panne
active
Erreur
détectée
Panne
dormante
E SYSTEME F
SOUS TEST
SORTIES
DE TEST
OBSERVATION
DECISION SYSTEME
DE TEST
SIGNATURE
1.5.1 La fiabilité
D1. C'est l'aptitude d'une entité à accomplir une fonction requise, dans des conditions
données, pendant une durée données.
D2. C'est la mesure de la continuité de l'accomplissement du service, ou, ce qui est
équivalent, du temps avant qu'une défaillance ne survienne.
R(t) = Prob { E non défaillante sur [ 0, t ] }
1.5.2 La maintenabilité
D1. C'est l'aptitude d'une entité à être maintenue ou rétablie dans un état dans lequel elle
peut accomplir une fonction requise, lorsque la maintenance est accomplie dans des
conditions données avec des procédures et des moyens prescrits.
D2. C'est la mesure du temps nécessaire pour remettre en service une entité.
M(t) = Prob { E réparée sur [ 0, t ] }
1.5.4 La sécurité
D1. C'est l'aptitude d'une entité à éviter de faire apparaitre dans des
conditions données, des événements critiques ou catastrophiques.
Privilégisation de la technologie
Conception
Qualité des surdimentionnement qualité de structurée et
composants des composants fabrication prudente
OBSERVATIONS
INTOLERANCE DEFAUT
AUX PANNES E
M N
O SURETE T
Y DE R PANNE
E A
FONCTIONNEMENT
N V
S E
TOLERANCE AUX S
PANNES ERREUR
ATTRIBUTS
2.1.1 Définitions
D1. Une expérience est qualifiée d'aléatoire si on ne peut prévoir par avance son
résultat et si, répétée dans des conditions identiques, elle peut donner lieu à des
résultats différents. Nous appellerons w le résultat d'une expérience et W l'ensemble
de tous les résultats possibles. W est l'ensemble fondamental ou encore l'univers de
tous les possibles.
Ω = { ( 1, 1 ) ; ( 1, 2 ) ; ... ; ( 1, 6 ) ; ... ; ( 6, 6 ) }
Exemple : la somme des points est > 10. L'événement sera réalisé ou non suivant
que la proposition est vraie ou fausse, une fois l'expérience accomplie.
D4. A1, A2, ..., An, forment un système complet d'événements si les parties A1, A2,
..., An, de W constituent une partition de W :
∀i ≠ j, Ai I A j = ∅
UA =Ω
i
Exemple :
Événement A : la somme des points est > 10
Événement B : la somme des points est < 7
Les deux événements A et B sont incompatibles
Pr ⎨U Ai⎬ = ∑ Ai
⎧n ⎫ n
⎩ i=1 ⎭ i=1
(1)
Pr { A ∪ B } = Pr { A } + Pr { B } - Pr { A ∩ B } (2)
A B
A B
(4)
i=1
A B
Pr { A B}
Pr { A / B } = (6)
Pr { B }
Calculer Pr{A/B}
Prob { A B } (7)
P2. Si Prob{A / B} = Prob{A} alors = Prob{A}
Prob { B }
Prob { A B }
P3. Si Prob{B / A} = Prob{B} alors = Prob{B} (8)
Prob { A }
Soient A1, A2, ..., An, des événements ; ils sont dits mutuellement indépendants si
pour toute partie I de l'ensemble des indices allant de 1 à n on a :
⎧n ⎫ ⎧n ⎫
∑ ∑
⎪ ⎪ ⎪ ⎪
Pr ⎨ Ai ⎬ = 1 − Pr ⎨ Ai ⎬
⎪⎩i =1 ⎪⎭ ⎪⎩i =1 ⎪⎭
⎧ n ⎫
∏
⎪ ⎪
= 1 − Pr ⎨ Ai ⎬
⎪⎩ i =1 ⎪⎭
=1− ∏ Pr{Ai}
n
i =1
Première formule :
Prob { A / B } . Prob { B }
Prob { B / A } =
Prob { A }
Prob { A B }
Prob{A / B} =
Prob{B / A} =
Prob { B }
Prob { A B }
Prob { A }
} ⇒ Prob{A/B} . Prob{B} = Prob{B/A} . Prob{A}
i=1
Pr { A ∩ B1 } = Pr { A / B1 } . Pr { B1 }
D’après le théorème des probabilité conditionnelles (6) on a :
Pr { A ∩ B2 } = Pr { A / B2 } . Pr { B2 }
Pr { A ∩ Bi } = Pr { A / Bi } . Pr { Bi }
…
Pr { A ∩ Bn } = Pr { A / Bn } . Pr { Bn }
…
D’où l’expression :
i =1 i =1
D’où la deuxième formule de Bayes :
0,16
0,14
0,12
0,10
0,08
0,06
0,04
0,02
0,00
p(x)
Dans le cadre d’une étude de la fiabilité, T représente la durée de vie d’une entité, et p(t) est la
probabilité que la durée de vie de cette entité soit égale à t. Exemple :
p(12) = Prob [la durée de vie d’une entité = 12] = 0,14
Dans le cadre d’une étude de la maintenabilité, T représente la durée de réparation et p(t) est la
probabilité que la durée de réparation soit égale à t.
La fonction P[T > ti] = 1 – P[T ≤ ti] est dite fonction de répartition complémentaire.
La fonction de répartition
1,0
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0,0
P[X<=x]
Dans le cas où T est la variable aléatoire associée à la durée de vie d’une entité, la fonction de
répartition représente la DEFIABILITE et on la note F(t). On l’appelle également la fonction de
DEFAILLANCE.
F(t) = Σ p(t) = P [ T ≤ t ] = P { E défaillante sur [0, t] }
Si T est la variable aléatoire associée à la durée de réparation d’une entité, alors la fonction représente
la probabilité que l’entité soit réparée sur [0, t]. Elle représente la MAINTENABILITE.
1,0
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0,0
P[X>x]
Lorsque T représente la variable aléatoire associée à la durée de réparation, cette fonction représente
l’IMMAINTENABILITE : P { E non réparée sur [ 0, t] }
R1. Les fonctions M(t) et F(t) sont croissantes monotones et varient de 0 à 1 sur l’intervale [0, +
∞[, de plus :
C’est une certitude que l’entité sera réparée et c’est une certitude que l’entité sera défaillante.
ti ≤t
M (t ) − M (t − 1)
1 − M (t − 1)
pc(t) =
Supposons qu’une entité ait déjà effectué t heures de service et qu’on veuille calculer la probabilité de
sa défaillance dans l’intervalle de temps dt qui suit.
L’expression pc(t) = λ(t) dt représente la probabilité qu’une entité ayant atteint l’age t sans
défaillance, ait une défaillance dans l’intervalle de temps ] t, t+dt].
λ(t) représente le taux de défaillance conditionnel instantané. La condition étant que le composant ait
déjà effectué t heures de service.
Ainsi, μ(t) dt représente la probabilité qu’une entité ayant atteint la date t sans
réparation, soit réparée dans l’intervalle de temps ] t, t+dt ].
R(t ) − R(t + Δt )
dR(t )
= - dt = λ(t)
Δt Δt.R(t )
pc(t )
lim = lim
R(t )
Δt Æ 0 Δt Æ 0
+ λ (t )dt = 0
dR(t )
R(t )
+ μ (t )dt = 0
d M (t )
M (t )
∫0 μ (t ).dt
t
M(t) = 1 – k exp [- ]
Taux
instantané
λ(t)
de défaillance
λ0
(t) R(t)
1
0
On dit que la variable aléatoire T (la durée de vie) est distribuée de façon exponentielle
Ou encore que la loi de distribution est de type exponentielle
Remarques :
−λ 0t
noterons :
A(t) = R(t) = e
Dans le cas d’un taux de défaillance constant.
EF
HF Réparation
A(t + dt ) − A(t )
= – A(t) . λ (t) + μ (t) – A(t) . μ (t)
dt
Ce qui nous amène à l’équation différentielle suivante :
+ A(t ).[ λ (t ) + μ (t )] = μ (t )
dA (t )
dt
Déterminons maintenant l’expression de la disponibilité en fonction du temps, suivant
+ A(t ).[λ + μ ] = μ
dA(t )
dt
μ
A(t ) =
λ+μ
μ
A(t ) = + k .e − (λ + μ )t
λ+μ
A(0).(λ + μ ) − μ
k=
λ+μ
Pour A(0) = 0 nous obtenons :
μ
A(t ) = [1 − e − (λ + μ )t ]
λ+μ
Pour A(0) = 1 nous obtenons :
μ λ
A(t ) = + e − ( λ + μ )t
λ+μ λ+μ
A(0) = 1
μ
λ+μ
A(0) = 0
λ
1
lim A(t ) = = = =
λ+μ λ
1 MTTF
∞ 1+ + MTTF + MTTR
μ λ μ
t 1 1
μ
lim A(t ) = 1 − =1− =
μ +λ
MTTF MTTR
t ∞ MTTF + MTTR MTTF + MTTR
Ces deux relations caractérisent la disponibilité intrinsèque d’une entité, telle qu’elle a été
conçue. Lorsque l’entité est en phase d’exploitation, nous parlerons de disponibilité
opérationnelle qui tient compte de la logistique mise en œuvre pour maintenir cette entité
en état d’accomplir son service.
DISPONIBILITE LOGISTIQUE DE
INTRINSEQUES MAINTENANCE
DISPONIBILITE
OPERATIONNELLE
Do =
TCBF
TCBF + TCI
∑
TCI est le Temps Cumulé d’Immobilisation
i =1
TCI = Nc.MTTR + Np.MTTP
λ (t) = λ0 λ (t) = λ0
μ(t)=0 μ ( t ) = μ0
NEMENT
MDT : Durée moyenne d’indisponibilité (Mean Down Time). Elle couvre les
phases suivantes : la détection de l’erreur, la réparation du défaut, la
remise en service.
MTBF : Durée moyenne entre deux défaillances consécutives d’une entité réparée
(Mean Time Between Failure)
Remise en service
1ère 2ème
Défaillance Défaillance
MTBF
∑ t. p(t )
t: p (t )>0
MTTF = (pour T discrète)
Et
∫0
∞
MTTF = .
x. f ( x) dx
∫0 R( x).dx
On montre en intégrant par partie que
∞
MTTF = (pour T continue)
∫0
MTTR = ∞ M ( x) dx . (pour T continue)
3.1 Introduction
La tolérance aux pannes est vue comme une propriété de l'architecture du système, qui permet à la
machine logique d'accomplir ses tâches spécifiques correctement, du point de vue de l'utilisateur,
alors que son système physique, fait l'objet de divers types de pannes et de défaillances de
composants [4].
L'intérêt de construire des systèmes qui tolèrent les pannes remonte aux années 1940 où les
premières machines à calculer furent construites en utilisant des relais. Les fondements théoriques
sur l'impact des redondances ainsi que le développement formel des concepts du calcul tolérant les
pannes, remontent aux années 1950. Les premières architectures tolérantes aux pannes ont été
développées pour des applications limitées aux secteurs militaires, spatiaux, et des
télécommunications.
Les années 1980 ont vu le nombre des domaines d'application augmenter de façon considérable et
s'étendre jusqu'aux applications commerciales. Deux développements parallèles sont à l'origine de
l'intérêt porté aux calculateurs tolérants les pannes :
- la chute des coûts du matériel informatique,
- l'augmentation de la dépendance du public vis à vis des systèmes informatisés.
Facteur
UNIVAC 1 TANDEM
d'amélioration
Date de la mesure 1951 1987
Indisponibilité 0,17 2,8 . 10 -5 6,2 . 10 3
MTTF ( en heures ) 66 2,4 . 10 5 3,6 . 10 3
nb d'instructions 8 6
15
exécutées entre deux 4,7 . 10 2,6 . 10 5,4 . 10
arrêts matériels
Les Systèmes à Sécurité Critique (Safety Critical Systems en anglais) sont constitués
d’une partie commande numérique sur laquelle repose la sécurité du système et de son
environnement. Dans la plupart des cas, la commande est également « temps réelle ».
On retrouve ces systèmes dans les domaines : industriels, médicaux, du transport, etc
…
A titre d'exemple nous pouvons citer le cas de la navette spatiale dont le bon
fonctionnement dépend totalement de ses ordinateurs. Une mission en cours
d'exécution ne peut plus être avortée, si les calculateurs sont défaillants. La tolérance
aux pannes est obtenue en utilisant une architecture redondante constituée de cinq
calculateurs dont le principe est décrit ci dessous.
S2
M2 Interface
de P.O
VOTE
puissance
S3
M3
S4
M4
Ci Vote
S5 Si
M5
Mi
Ce type d'application correspond à des missions où les équipements ne seront jamais maintenus, ou bien,
lorsque les dates d'intervention sont déterminées à l'avance et avec des espacements de trés longue durée.
Nous pouvons citer en exemple les vols spatiaux non habités où les architectures informatiques sont
fortement redondantes de façon à maintenir un niveau de performance minimum jusqu'à la fin de la
mission. Ces systèmes n'occupent pas forcément une fonction à caractère critique.
L' "Orbiting Astronomical Observatory" ( OAO ) illustre ce type d'application où les concepteurs ont
implanté quatre copies de chaque composant discret : résistances, capacités, transistors. Le tout étant
organisé suivant un réseau qui peut tolérer tout défaut unique de type court-circuit ou circuit ouvert.
Elles correspondent à des missions où un arrêt temporaire de la fonction en question peut être toléré. Nous
pouvons citer en exemple le cas d'un système de commutation téléphonique conçu par un laboratoire de
"Bell Telephon" ; le cahier des charges précisait que l'indisponibilité ne devait pas dépasser deux heures,
pour une durée de service de quarante ans.
Les applications où les accès aux informations en ligne tels que les réservations d'hôtels, d'avions et de
trains, sont les principales responsables de l'emploi de telles architectures.
SYSTEME TOLERANT
AUX PANNES
En tant que telle, elle ne fournie pas de la tolérance aux pannes mais elle permet
de générer des alarmes, lorsqu'une défaillance apparaît. La détection d'erreur peut
être mise en œuvre aux moyens de différentes techniques parmi lesquelles nous
pouvons citer : la duplication, les codes détecteurs d'erreurs, les auto - tests,
l'emploi de watch dog, ...
M2
S2
Alarme si S1 <> S2
b7 b6 b5 b4 b3 b2 b1 b0
INFORMATION 1
INFORMATION 1bis
b7 b6 b5 b4 b3 b2 b1 b0
INFORMATION 1
b3 b2 b1 b0 b7 b6 b5 b4
INFORMATION 1bis
0 0 0 0 0 0 0 0 0 1
0 0 0 1 1 0 0 0 1 0
0 0 1 0 1 0 0 1 0 0
0 0 1 1 0 0 0 1 1 1
0 1 0 0 1 0 1 0 0 0
... ...
avec
a +a ... + a + a + b = Sp et a +a ... + a + a + b = Sim
n-1 n-2 1 0 p n-1 n-2 1 0 i
En générale, il est préférable d'utiliser les codes à parité impaire afin de ne jamais rencontrer
la combinaison formée uniquement de zéros ; elle pourrait provenir de la défaillance
complète d'un composant.
12/2/2008 EPUM - DGII - LSIS Jean-Marc Mercantini 67
3.3.2 La redondance statique
Cette approche utilise des composants redondants pour masquer les effets d'un composant
défaillant. L'adjectif "statique" qualifie le fait que les copies redondantes sont connectées de
façon définitive. Les erreurs générées par les composants défaillants sont masquées par la
simple présence des autres copies du même composant. Sa mise en œuvre utilise, entre autres,
les techniques de type NMR/vote et codes correcteurs d'erreurs.
Le TMR est le cas particulier de la technique NMR où N est égale à trois. C'est Von Neumann
(1956) qui fût à l'origine de cette technique dont le principe est défini par la figure ci-dessous.
S1
MODULE 1
Entrée S2 Sortie
MODULE 2 VOTEUR
S3
MODULE 3
Sortie = Maj ( S1, S2, S3 )
Parmi l'ensemble des codes correcteurs d'erreurs, l'un des plus connus est celui de
Hamming (1957). Il permet de corriger une erreur simple et de détecter une erreur double,
suivant le nombre de bit de contrôle qu'on associe aux bits significatifs.
Considérons le cas où une information est codée sur quatre bits ( a3 a2 a1 a0 ) à laquelle
nous rajoutons trois bits de contrôle de parité ( b1 b2 b3 ) tels que :
b = a +a + a b + a +a + a =0=S
1 2 1 0 1 2 1 0 1
b = a +a + a ou encore b + a + a + a = 0 = S2
2 3 1 0 2 3 1 0
b = a +a +a b 3 + a + a + a = 0 = S3
3 3 2 0 3 2 0
M = a3 a2 a1 a0 b3 b2 b1
A la réception, nous recevons le message M' = a3' a2' a1' a0' b3' b2' b1' et nous calculons
les syndromes :
b' 1 + a' + a' + a' = S' 1
2 1 0
b' + a' + a' + a' = S' 2
2 3 1 0
b'3 + a' + a' + a' = S' 3
3 2 0
Ainsi, à partir d'une information codée sur quatre bits de façon irrédondante, le code de
Hamming à sept bits permet la correction automatique des erreurs simples mais ne permet pas
de détecter les erreurs doubles. Si nous voulions obtenir d'avantage d'informations de l'analyse
des syndromes, il faudrait augmenter le nombre de bits de contrôle.
Cette approche couvre les systèmes dont la configuration peut évoluer de façon
dynamique en réponse à une défaillance, ainsi que les systèmes qui utilisent la
redondance statique associée à de la détection d'erreur en ligne, ce qui autorise
une réparation en ligne. Le processus de reconfiguration est déclenché soit par un
mécanisme de détection d'erreur, interne à l'unité atteinte, soit par une détection
d'erreur au niveau de ses sorties ; il peut être exécuté de façon manuelle ou
automatique.
La duplication reconfigurable
"standby"
M1
M2
Alarmes + informations
Actif de maintenance
La technique est similaire à la précédente, excepté que le voteur dispose de toutes les
informations nécessaires pour identifier le module défaillant.
Si nous associons à cette technique, une politique de maintenance corrective, nous pouvons
garantir le masquage de toute défaillance simple, intervenant sur l'un des modules Mi. La
restauration du système est alors assurer par l'action de maintenance.
Si le voteur est suffisamment "intelligent", nous pouvons faire en sorte qu'après
l'occurrence d'une défaillance sur l'un des Mi, le système se retrouve dans la configuration
de la duplication reconfigurable. L'architecture proposée est alors capable de masquer deux
défaillances consécutives, sans provoquer d'interruption de la mission, avant que
n'intervienne une action correctrice.
M1
Entrée Sortie
M2
M3
Voteur
+
localisation Alarmes + informations
de maintenance
On souhaite effectuer une étude comparative sur les performances en terme de sûreté
de fonctionnement, entre une structure "simplexe" et une structure TMR (redondance
statique). La structure simplexe est constituée d'un module A et la structure TMR de
trois module A "identiques". Le "voteur" de la structure TMR réalise la détection
d'erreurs et le recouvrement. Soit R0 la fiabilité de chaque module A ; nous
supposerons que la fiabilité du "voteur" est égale à 1. On demande de :