Vous êtes sur la page 1sur 146

Évaluation

de la sûreté de fonctionnement
des systèmes informatiques
Mohamed Kaâniche, Karama Kanoun
(prenom.nom@laas.fr)

Mohamed Kâaniche
groupe :
Tolérance aux fautes et
Kaaniche@laas.fr
Sûreté de
Fonctionnement informatique

LAAS-CNRS
7, avenue du Colonel Roche
31077 Toulouse Cedex 04
1
Plan
Introduction et concepts de base
Prévision des fautes : objectifs et moyens
Mesures de la sûreté de fonctionnement
Évaluation au niveau Système
 Méthodes
– Diagrammes de Fiabilité
– Arbres de Fautes
– Graphes d'états (Processus de Markov)
 Exemples

Evaluation de la fiabilité du logiciel


 Caractérisation de la croissance de fiabilité
 Test de tendance et modèles prévisionnels
 Cas dʼétude
2
Enjeux de la sûreté de fonctionnement

Internet

Tout système peut être


soumis à des défaillances
internes (composants)
ou menaces externes!

Besoin de méthodes et techniques permettant de


développer des systèmes tels que les utilisateurs
puissent placer une confiance justifiée dans le service
qu’ils délivrent
3
Cause Portée Impact
Exemples de défaillances

Sécurité-innocuité
Développement

Confidentialité
Disponibilité/
Localiseés
Distribuées
Intéraction
Physiques

Fiabilité
Juin 1980 : Fausse alerte d'une attaque massive de fusées soviétiques ✓ ✓ ✓ ✓
June 1985 - Jan. 1987 : Doses excessives en radiothérapie (Therac-25) ✓ ✓ ✓

Août 1986 - 87 : Le « Willy Hacker » pénètre des dizaines de centres


✓ ✓ ✓ ✓ ✓
informatiques sensibles
15 janvier 1990 : Indisponibilité totale du téléphone interurbain aux ✓ ✓ ✓
Etats-Unis, pendant 11 heures
Février 1991 : Un Patriot rate un Scud (guerre du golfe) ✓ ✓ ✓ ✓ ✓
Novembre 1992 : Ecroulement des communications du service
d'ambulances de Londres ✓ ✓ ✓ ✓ ✓

26 -27 juin 1993 : Refus des cartes de crédit dans les distributeurs de
✓ ✓ ✓ ✓
monnaie en France
4 juin 1996 : Echec du 1er vol Ariane 5 ✓ ✓ ✓

Fev 2000 :attaques massives de sites web : Yahoo, Ebay, … ✓ ✓ ✓ ✓

Août 2003: panne électrique à large échelle (USA, Canada, Italie) ✓ ✓ ✓ ✓

Oct. 2006 : 83000 adresses email, num. carte de crédit, volés en GB ✓ ✓ ✓ ✓


Août 2008 : défaillance syst. informatique de contrôle du trafic aérien (USA) ✓ ✓ ✓ ✓
Sep. 2009 : Gmail, service en ligne de messagerie de Google, a enregistré ✓ ✓ ✓ ✓
sa troisième interruption de service de l'année
4
Coût des défaillances/indisponibilités de service
 Coût moyen d’indisponibilité Brokerage operations $6,450,000
Credit card authorization $2,600,000
(par heure)
Ebay (1 outage 22 hours) $225,000
Amazon.com $180,000
Sources: InternetWeek 4/3/2000 + Fibre Channel: A
Comprehensive Introduction, R. Kembel 2000, p.8. ”...based
Package shipping services $150,000
on a survey done by Contingency Planning Research." Home shopping channel $113,000
Catalog sales center $90,000
Airline reservation center $89,000
Cellular service activation $41,000
On-line network fees $25,000
ATM service fees $14,000

 Coût annuel des défaillances informatiques


Estimation compagnies dʼassurance (2000) France (secteur privé) USA Royaume Uni

Fautes accidentelles 0,9 G€ 4 G$


Malveillances 1 G€ 1,25 G£

Estimation globale USA : 80 G$ EU : 60 G€

 Coût de maintenance
☞ Logiciel embarqué de la navette spatiale : 100 M $ / an 5
Causes des défaillances :
Public Switched Telephone Network USA (1992-1994)

Nombre de défaillances Durée d’indisponibilité

Durée moyenne
d’indisponibilité
Source: Kuhn, “Sources of Failure in the
Public Switched Telephone network“, IEEE
(minutes)
Computer 30(4), 1997.
6
Aviation commerciale : statistiques
50 Nombre de décès 2500
45
Nombre d’accidents
Nombre d’accidents mortels
40 2000

Nombre de décès
35
30 1500
25
20 1000
15
10 500
5
0 0
1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992 1993 1994 1995 1996 1997 1998 1999 2000 2001 2002 2003
Année
1,8
Fréquence d’accidents mortels

1,6

1,4
par million de vols

1,2
1

0,8
0,6
0,4

0,2

0
1978 1980 1982 1984 1986 1988 1990 1992 1994 1996 1998 2000 2002 2004
Année
 Source : NLR Air Safety database - Commercial operated wing fixed aircraft with a maximum take off mass of 5700 kg or heavier
 ATM contribution to aircraft accidents/incidents — Review and Analysis of Historical Data, EUROCONTROL Safety Regulation
commission document, SRC Doc 2, edition 4 http://www.eurocontrol.int/src/public/standard_page/esarr4.html 7
Évolution du trafic aérien — Sécurité

8
Aviation commerciale: facteurs principaux
à l’origine des accidents majeurs

Facteur principal Nombre d'accidents


1959-1995 1986-1995
Équipage 234 59
Avion 35 7 Aéroport/ Divers
Contrôle
Maintenance 11 4
aérien6%
Intempéries 14 1 12%
Intempéries 4%
Aéroport/ Maintenance 3%
Contrôle aérien 23 6 10% 65%
Divers 44 26 Avion
Total
(causes identifiées) 361 103
Causes non Équipage
(encore) identifiées 66 31
Total 427 134

Source : Boeing, Avril 1996


9
Systèmes spatiaux
 Lanceurs
100.0
10%
90.0 Propulsion
80.0
13%
Success rate

70.0 Command
39%
60.0 Structure
50.0 3%
40.0 6% Power
30.0
Separation
20.0
1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 Explosion
29%
Launches 10 year mean Mean (90.7%)

 Satellites
9%
 “~ 10-6/h” 2xlifetime, 90%> 4% 20% Propulsion

 Mais: Command

– Lancement: 6-7% Mechanical


25%
– Installation en orbite: 4-5% 20% Power

– Début de vie: 1.510-6/h Deployment

Environment
– Maturité: 0.5 10-6/h 22%

Source : J-P. Blanquart, J-F. Gajewski (Astrium Satellites,Toulouse) , Fiabilité des systèmes embarqués spatiaux: pourquoi, comment et quand la mesurer, journée
CISEC Fiabilité des systèmes électroniques de l’automobile, du spatial et de l’aéronautique, 8 Juillet 2008, LAAS-CNRS 10
Vulnerabilités et attaques
100 000
90 000 Total incidents reported
80 000 (1998-2002): 182 463 82094
70 000
60 000
55100
50 000
40 000
30 000
20 000 21756
10 000 9859
2573 2134 3734
0 2340 2412
1995 1996 1997 1998 1999 2000 2001 2002 2003
5 000
4 500 Total vulnerabilities reported (1995-2002): 9 162
4 000 4129
3 500
3 000
2 500 2437
2 000
1 500
1090
1 000
500 345 311 417
171 262
0
http://www.cert.org/present/cert-overview-trends/ 1995 1996 1997 1998 1999 2000 2001 2002
11
Sûreté de fonctionnement
Propriété d'un système telle que ses utilisateurs
puissent placer une confiance justifiée dans le
service qu'il délivre
 Service delivré par un système: son comportement tel que perceptible par ses
utilisateurs
 Utilisateur: autre système en interaction avec le système considéré

ENTRAVES MOYENS ATTRIBUTS

circonstances indésirables méthodes, outils et permettent


(non-inattendues) causes solutions pour procurer a) d'exprimer les propriétés
ou résultats de la non- au système l'aptitude à attendues du système,
sûreté de fonctionnement délivrer un service sur b) d'apprécier la qualité du
(confiance ne peut plus ou lequel on puisse placer service, telle que résultant
ne pourra plus être placée sa confiance, et pour des entraves et des
dans le service délivré) avoir confiance dans moyens de s'y opposer
cette aptitude
12
Entraves à la sûreté de fonctionnement

Défaillance : service délivré dévie de la fonction


attendue du système
 Fonction : ce à quoi le système est destiné

Erreur : partie de l’état du système susceptible


d’entraîner la défaillance
 Erreur affectant le service ➝ indication d’occurrence d’une
défaillance

Faute : cause adjugée ou supposée d ’une erreur

13
Entraves à la sûreté de fonctionnement
FAUTE

activation (interne) ou occurrence (externe)

ERREUR

propagation

DEFAILLANCE

Erreur : Manifestation Faute dans système


Défaillance : Manifestation Erreur sur service
14
Exemples d’entraves
Court-circuit dans circuit intégré
Erreur programmeur
DEFAILLANCE

FAUTE FAUTE
instruction(s) ou donnée(s) altérée(s)
connexion collée à une valeur
binaire, fonction modifiée
activation
module fautif et entrées activation
circuit fautif et entrées

ERREUR
ERREUR
propagation
valeur erronée en sortie propagation
valeur erronée en sortie

DEFAILLANCE
DEFAILLANCE
15
Les classes de fautes élémentaires
Faute :
temporaire
Persistance
temporelle permanente

externe
Frontière du
système interne

Phase création/ opération


Caractères Origine occurrence développement

Cause humaine
phénoménologique physique

intentionellement nuisible
intentionnelle sans volonté
Nature de nuire
accidentelle 16
Attributs de la sûreté de fonctionnement

Prêt à Continuité Absence de Absence de Absence Aptitude aux


l’utilisation de service conséquences divulgations d’altérations réparations
catastrophiques non-autorisées inappropriées et aux
pour de l’information du système évolutions
l’environnement

Disponibilité Fiabilité Sécurité- Confidentialité Integrité Maintainabilité


innocuité

Actions autorisées

Securité-immunité

17
Moyens de la sûreté de fonctionnement

EMPÊCHER DÉLIVRER MINIMISER PRÉVOIR


par par par par
construction redondance vérification évaluation

Occurrence Service conforme Présence Présence,


des fautes à fonction du des fautes création &
système en dépit conséquences
des fautes des fautes

PRÉVENTION TOLÉRANCE ÉLIMINATION PRÉVISION


DES FAUTES AUX FAUTES DES FAUTES DES FAUTES
18
Moyens de la sûreté de fonctionnement
PRÉVENTION ÉLIMINATION
DES FAUTES DES FAUTES
+ +
TOLÉRANCE PRÉVISION DES
AUX FAUTES FAUTES

TENDRE VERS AVOIR CONFIANCE


système exempt de dans aptitude
fautes/défaillances système à fournir un
service conforme à
l'accomplissement de
sa fonction

FOURNITURE DE LA ANALYSE DE LA
SÛRETÉ DE FONCTIONNEMENT SÛRETÉ DE FONCTIONNEMENT
19
Aspects couverts par le cours
Disponibilité
Fiabilité
Sécurité-Innocuité
Attributs
Confidentialité
Integrité
Maintainabilité

Fautes
Sûreté de Fautes accidentelles
Entraves Erreurs
fonctionnement (matériel, logiciel)
Défaillances

Prévention des fautes


Tolérance aux fautes
Moyens
Élimination de fautes
Prévision des fautes 20
Tolérance aux fautes

21
Tolérance aux fautes
Délivrer un service à même d’acccomplir la, ou les fonctions du
système en dépit des fautes

Latence
dʼerreur

Faute Erreur défaillance

Dormance de faute

Détection dʼerreurs Rétablissement système


Identifier la présence dʼun état erroné Transformer un état erroné en état
- sans interruption de service :
composant autotestable
exempt dʼerreur détectée et de faute
- préemptive qui puisse être activée à nouveau

Traitement de fautes Traitement dʼerreur


Éviter que les fautes ne soient Eliminer les erreurs de lʼétat du
activées à nouveau système, si possible avant défaillance
22
Traitement d’erreur et de faute
Reprise : ramène le système dans un état sauvegardé
avant occurrence de lʼerreur
- état sauvegardé: point de reprise (checkpoint)
Poursuite : transition vers un nouvel état sans erreurs
Traitement
(traitement dʼexception, mode dégradé)
dʼerreur
Compensation : lʼétat erroné contient suffisamment de
redondance pour permettre le masquage de lʼerreur
- vote majoritaire, CRC, …

Diagnostic : identifie et enregistre la, ou les causes


dʼerreur, en termes de location et de catégorie

Passivation : exclusion physique ou logique des composants


fautifs de toute participation ultérieure à la délivrance de
service ( i.e., rend la ou les fautes dormantes)
Traitement
de faute Reconfiguration : active des composants en réserve ou
réassigne les tâches parmi les composants non fautifs

Reinitialisation : vérifie, met à jour et enregistre la nouvelle


configuration, et met à jour les tables et enregistrements système
23
Architectures pour la tolérance aux fautes
 Facteurs à prendre en compte :
 Attributs de sûreté de fonctionnement: disponibilité, sécurité-
innocuité, etc.
 Classes de fautes : permanentes/transitoire (solides/douces),
accidentelles/malveillantes, physiques/conception, etc.
 Nombre de fautes à tolérer (k) : degré de redondance (k)
 Durée maximale d’interruption de service
 …

Degré de redondance (k)


 Stratégies de redondance
 Redondance selective ou dynamique :
– Composant actif/composant(s) en attente k + 1 composants

 Redondance statique :
– vote majoritaire-masquage 2 k + 1 composants

24
Redondance dynamique
 Tolérance à une faute: degré de redondance 1

Composant Composant
MONITEUR EN ATTENTE
ACTIF

active
REDONDANCE :
passive (tiède, froide)

Composant : unité remplaceable en ligne


On-Line Replaceable Unit
25
Redondance dynamique active/passive
Redondance active Redondance passive
• Les deux composants effectuent mêmes tâches • Composant en attente accomplit des tâches
différentes que le composant actif (tâches non-
Moniteur critiques)
• Mécanismes d'auto-détection par composant
Point de reprise

auto- Erreur Erreur auto-


detection detection
Comparaison états
Moniteur diagnostic en cas
d'erreurs détectées

auto- Erreur Erreur auto-


detection detection passive tiède : composant en attente possède
des informations nécessaires pour
accomplissement tâches lors défaillance
composant actif
passive froide : composant en attente doit être
initialisé lors défaillance composant actif
(composant en attente peut être non alimenté)
• composants autotestables 26
Sélection du type de redondance

Deux critères :

• temps alloué pour effectuer le traitement d'erreur :dépend


essentiellement dus contraintes pesant sur le processus de reprise.
active < passive tiède < passive froide

• Capacité à effectuer d'autres tâches (non critiques)

passive froide < passive tiède < active


Trouver le COMPROMIS !

27
Redondance statique
Tolérance aux fautes assurée par compensation d'erreurs : systèmes à vote majoritaire

STRUCTURE TMR (TRIPLE MODULAR REDUNDANCY)

C1

entrées C2 V sorties

voteur
C3

structure tolérant 1 faute : si une faute survient, elle est masquée sans interruption de
service

Structure NMR : N composants redondants

Le voteur constitue un point dur

Défaillance voteur ⇔ Défaillance système 28


Tolerance aux fautes au niveau système

Redondance Globale Redondance Locale

Système
nonredondant

29
Systèmes Avioniques

30
Commande de vol numérique

 Introduite dans les avions civils au début des années 1980


 Airbus 310, 320
 Boeing 777

 Objectif de l’automatisation : améliorer la sécurité


 décharger les pilotes
 protection de l’enveloppe de vol
 protection contre le cisaillement du vent

 Contraintes de sûreté de fonctionnement


 sécurité : pas de commandes erronées
 fiabilité : minimiser recours à une commande manuelle
 disponibilité : optimiser les interventions de maintenance

31
Principe

Commande
Numérique
Pilotes

Actionneurs
Pilote
Automatique
Capteurs

32
Gouvernes et surfaces de commande

Axe de Lacet
Gouverne de
z Direction

Axe de Roulis

Gouvernes de
Becs Profondeur
Volets
y Spoilers
Ailerons Plan Horizontal Réglable
Axe de Profondeur

33
Airbus

 Systèmes numériques introduits sur les avions Airbus à


partir de l’A310
 L’A320 est le premier avion civil possédant un système de
commande de vol entièrement numérique
 Principes de la tolérance aux fautes :
 sécurité assurée par une architecture de calculateurs sûrs en
présence de défaillance (fail-safe)
– autotestable par rapport aux fautes physiques
– autotestable par rapport aux fautes de conception
 fiabilité et disponibilité assurées par redondance
– plusieurs calculateurs redondants pour un ensemble de fonctions
– exploitation de la redondance fonctionnelle des surfaces de commande
– chaque surface de commande est contrôlée par plusieurs actionneurs
indépendants qui sont commandés par des calculateurs différents

34
Architecture des calculateurs Airbus

Mémoire Processeur E/S

28V
Alim.
Voie de Commande
Voie de Surveillance
Alim.

Mémoire Processeur E/S

Protection foudre, EMI, sur/sous tension

 Doublement et comparaison des voies de traitement : chaque voie peut couper la


commande si les différences dépassent un seuil prédéfini
 Contrôle de l’enchaînement et de la durée des tâches, des échanges entre
calculateurs, existence de chiens de garde, tests de vraisemblance sur des données
 Logiciels des deux voies : même spécification mais conception et réalisation
diversifiées 35
Diversification
Chaînes de production de logiciel différentes
 équipes de conception différentes (Paris / Toulouse)
 langages différents
 outils de programmation différents

Règles d’amplification de la diversification


 organisation différente des programmes
 allocations mémoires différentes
 algorithmes différents
– trigonométrie avec coordonnées polaires vs. coordonnées cartésiennes
– fonctions numériques tabulées vs. calcul par équation
 optimisations avec des buts différents (temps vs. taille programme)
 précisions de calcul différentes (12 bits vs. 8 bits)

Diversification au niveau système


 calculateurs de fabricants différents
 processeurs de types différents
36
Airbus 310 (commande en roulis)
Mode automatique
Un seul FCC est actif, COM
l’autre est en secours FCC 1
Flight control MON
Ailerons
Commande manuelle computers
si perte des deux FCC COM
(critique si atterissage FCC 2
par mauvais temps en MON
mode automtique)

Mode manuel
COM
Si les deux EFCU sont EFCU 1
perdus, le pilote peut
Electric flight
MON
commander l’avion au Spoilers
control units
moyen des ailerons, COM
mais de façon plus EFCU 2
limitée MON

37
Airbus 320

SFCC1
Becs et
volets SFCC2

Partie la plus critique

Ailerons
ELAC1
ELAC2
SEC1
Spoilers
SEC2

SEC3

Plan horizontal
Gouvernes de
profondeur
Gouverne de
FAC1
direction FAC2

38
Boeing 777
LCR

Left Spoilers
PFC
Volets
Ailerons

Center
PFC Gouvernes
de profondeur
Gouverne de direction

Right Other
ARINC 629
PFC

Other Other
ACE ACE ACE ACE
Pilotes
PFC : Primary Flight Computer
ACE : Actuator Control Electronics

 Architecture intégrée basée sur trois calculateurs tolérants aux fautes (PFC)
contrôlant l’ensemble des surfaces de commande de vol
 Chaque ACE est dédié à un sous-ensemble spécifique de gouvernes et chaque
gouverne critique est commandée par plusieurs ACE et actionneurs associés. 39
Diversification de la mise en œuvre
Bus de données ARINC 629
Gauche
Centre
Droite
Positions des commandes pilote & des gouvernes

Commandes des gouvernes

Voie1
AMD
29050 Actuateurssurfaces
surfacesde
devol
vol
ACE Actuateurs
Actuateurs surfaces de vol
Actionneurs gouvernes
Motorola Voie2
68040
Voie3

Intel
80486

PFC gauche
PFC centre Commandes
pilote
PFC droite
PFC : Primary Flight Computer
ACE : Actuator Control Electronics

 Même code source Ada pour les trois voies mais mises en œuvre diversifiées
 Les fautes redoutées sont celles affectant les processeurs et composants sur étagère
(processeurs, compilateurs, exécutifs) 40
Conclusion
 Commande de vol numérique
 pas de position globale “sûre” autre que l'atterrissage
 position sûre par fonction

 Airbus 320
 ensemble de calculateurs sûrs en présence de défaillance
 diversification des canaux commande et surveillance
 disponibilité par redondance fonctionnelle
 diversification entre calculateurs
 mode de secours manuel limité

 Boeing 777
 calculateur principal massivement redondant
 diversification du support de traitement, mais pas de
l’application

41
Prévision des fautes

42
Prévision des fautes
 Estimer la présence, la création et les conséquences des fautes

 Evaluer du degré de satisfaction d’attributs de la sûreté de


fonctionnement

 Aide à l’ingénierie
 Évaluation comparative de solutions architecturales
 Suivi pendant le développement et l’exploitation
 Allocation d’objectifs de sûreté de fonctionnement aux composants

43
Deux types d’évaluation

Identification des défaillances des Évaluation en termes de probabilités


composants et analyse de leurs des conséquences des défaillances
conséquences sur la sûreté de des composants sur la sûreté de
fonctionnement du système fonctionnement du système

Evaluation Qualitative Evaluation Quantitative


ou “ordinale” ou “probabiliste”

Modélisation Estimation statistique


stochastique à partir d’observations

Attributs de la sûreté Mesures de la sûreté


de fonctionnement de fonctionnement
44
Place dans le cycle de vie

Développement Spécification des objectifs de sûreté de


fonctionnement, analyse préliminaire des
menaces/dangers/ modes de défaillance
Expression des
besoins/Spécification

Évaluation comparative
Conception de solutions architecturales Prévision
à base de modèles
de fautes
Évaluations expérimentales
Réalisation (expériences contrôlées,
tests)

Suivi de la sûreté de fonctionnement


Opération basée sur l’observation du système
en opération
45
Systèmes avioniques : norme ARP 4754
Aircraft level
Functional Hazard Aircraft Aircraft Level
Assessment (FHA) Functions Requirements
Functional Interactions Failure modes, Effects, Classification,
Safety Reqts
Allocation of
System level System Functions Aircraft Functions
FHA to Systems
Failure modes &
Common Effects Failure condition, Effects,
Cause Classification, Safety objectives
Development of
Analyses Architectural Reqts System Architecture
Prelim. System
(CCAs) Separation Reqts Safety Assessment System Architecture
(PSSA) Allocation of
Item Reqts,Safety objectives, Requirements
Analyses Required Item Reqts to HW&SW

System Safety System


Assessment Implementation
Separation (SSA) Implementation
& Verification
Physical System
Certification

Safety Assessment Process System Development Process 46


Démarche de Sécurité dans le contexte de l’ATM

PROJET

SPÉCIFICATIONS INSTALLATION EXPLOITATION


RÉALISATION
ET CONCEPTION ET TRANSITION OPÉRATIONNELLE

ÉVALUATION ET ATTÉNUATION DES RISQUES

Plan Analyses sécurité : système, phases d’installation et de transition,...


sécurité Justifications, preuves, …

DOCUMENTS d’
d’ANALYSES sur l’
l’ ÉVALUATION ET l’
l’ATTÉNUATION DES RISQUES

POINTS DE RENCONTRE AVEC LE REGULATEUR (ANS) ACCEPTATION

EUROCONTROL Safety Regulatory Requirements (ESARR)


47
Méthodes et techniques

Évaluation ordinale Évaluation probabiliste

AMDEC
Diagrammes de Fiabilité
Arbres de fautes

Chaînes de Markov
Réseaux de Petri

48
AMDEC
Analyse des Modes de Défaillance de leurs Effets et de leur Criticité

 Recenser, pour chaque composant ou chaque fonction, ses modes de


défaillance et leurs conséquences sur le comportement du système
 mode de défaillance : effet par lequel une défaillance est
observée
 mode de défaillance — événement redouté

 Déterminer la criticité de chaque mode de défaillance


 criticité : liée à la gravité des conséquences et la probabilité
d'occurrence

 Préciser, pour chaque mode de défaillance, les procédures de


détection et les actions correctrices nécessaires

 Déterminer les tests de validation mettant en évidence ces modes de


défaillance potentiels 49
Etapes d'une AMDE(C)

Définition du système à analyser

Élaboration des diagrammes fonctionnels et/ou structurels

Recensement des modes de défaillance, de leurs causes,


de leurs effets et de leur importance relative

Énumération des méthodes prévues pour détecter


et isoler les défaillances

Inventaire des interventions possibles au niveau de la


conception et de l'exploitation pour lutter contre les événements
indésirables

Évaluer la criticité des événements

50
Fiche AMDEC

Désignation Causes Effets de la défaillance


Rôle Repère Modes de
de la fonction défaillance possibles de la Local Global
ou du composant défaillance

Moyens de Stratégies de Probabilité de Niveau de


détection de la Remarques
remplacement défaillance criticité
défaillance

51
Modes de défaillance génériques
(norme CEI 812)
1. Défaillance structurelle (rupture) 19. Ne sʼarrête pas
2. Blocage physique au coincement 20. Ne démarre pas
3. Vibrations 21. Ne commute pas
4. Ne reste pas en position 22. Fonctionnement prématurée
5. Ne sʼouvre pas 23. Fonctionnement après le délai prévu
6. Ne se ferme pas (retard)
7. Défaillance en position ouverte 24. Entrée erronée (augmentation)
8. Défaillance en position fermée 25. Entrée erronée (diminution)
9. Fuite interne 26. Sortie erronée (augmentation)
10. Fuite externe 27. Sortie erronée (diminution)
11. Dépasse la limite supérieure tolérée 28. Perte de lʼentrée
12. Est en dessous de la limite inférieure 29. Perte de la sortie
tolérée 30. Court-circuit (électrique)
13. Fonctionnement intempestif 31. Circuit ouvert (électrique)
14. Fonctionnement intermittent 32. Fuite (électrique)
15. Fonctionnement irrégulier 33. Autres conditions de défaillance
16. Indication erronée exceptionnelles suivant les caractéristiques
17. Écoulement réduit du système, les conditions de
18. Mise en marche erronée fonctionnement et les contraintes
opérationnelles 52
Erreurs typiques du logiciel

• Défaut dʼinitialisation
• Erreur de calcul de variables entières ou réelles
• Positionnement erroné dʼun booléen
• Sélection erronée entre plusieurs alternatives de traitement en sortie de test
• Données acquises corrompues
• Erreur dans la transmission dʼun paramètre à un sous programme
• Autres …

53
Criticité {gravité, fréquence}

Fréquence Gravité
Catastrophique Critique Marginale Négligeable
Fréquent Classe 1
Exemple Probable

Occasionnel Classe 2

Peu fréquent Classe 3

Improbable
Invraisemblable Classe 4

Classe 1 Événements très critiques: risque inacceptable

Classe 2 Événements critiques: risque indésirable, tolérable uniquement sʼil est impossible de le
réduire ou si le coût de la réduction est disproportionné par rapport à lʼamélioration espérée
Classe 3 Événements peu critiques risque acceptable si le coût de la réduction de risque est
supérieur à lʼamélioration apportée
Classe 4 Événements sans influence: risque négligeable
54
Systèmes embarqués dans les avions civils

Gravité Probabilité d'occurrence (par heure)

Mineure Probable > 1.10-5


Majeure Rare 1.10-5 > > 1.10-7
-7 -9
Dangereuse Extrêmement rare 1.10 > > 1.10
-9
Catastrophique Extrêmement improbable < 1.10

Mineure : condition de défaillance ne pouvant pas réduire sensiblement la "sécurité" de l'aéronef et


qui implique de la part de l'équipage des actions entrant dans le cadre de ses aptitudes.
Majeure : condition de défaillance pouvant réduire les possibilités de l'aéronef ou l'aptitude de son
équipage à faire face à des conditions de fonctionnement difficiles.
Dangereuse : condition de défaillance pouvant réduire les possibilités de l'aéronef ou l'aptitude de son
équipage à faire face à des conditions de fonctionnement difficiles pouvant entraîner
a) une réduction importante des marges de sécurité ou des capacités fonctionnelles
b) une gêne physique ou une charge de travail accrue telle qu'on ne puisse plus compter
sur l'équipage pour accomplir sa tâche correctement
c) des blessures graves ou la perte d'un nombre relativement faible d'occupants
Catastrophique : condition de défaillance pouvant empêcher la poursuite du vol et l'attérissage dans
des conditions normales de sécurité
55
Exigences de sécurité dans l’avionique
 Basées sur la classification des modes de défaillance vis-à-vis de
leurs conséquences sur la poursuite en toute sécurité d’un vol

 5 niveaux d’assurance: “Development Assurance Levels (DAL)”


 Déterminés par le mode de défaillance le plus sévère auquel le système
considéré est susceptible de contribuer
 Plus le DAL est élevé plus le niveau de rigueur requis pour les processus de
développement et de validation est élevé (Voir norme DO178B pour le logiciel)

Niveau DAL Mode de défaillance Exemple


le plus sévère
A Catastrophique Défaillance d’un logiciel de commande de vol

B Dangereux Défaillance d’un logiciel de localisation GPS


C Majeur Défaillance affectant le système de pressurisation

D Mineur Défaillance d’un système de maintenance

E Sans effet Défaillance d’un équipement video (loisir)


56
Cycles de vie Système et Logiciel

Exigences de
navigabilité Cycle de vie du Système

Spécifications Processus d’analyse de sécurité système


opérationelles
du système
Exigences. système
attribuées au logiciel Zones de confinement de
fautes/erreurs
Niveau(x) logiciel(s)
Sources d’erreurs
Contraintes de identifiées/éliminées
conception
Spécifications et
Définition du matériel architecture du logiciel

Cycle de vie du logiciel

Approche similaire pour le matériel


57
Classification des risques/dangers dans l’ATM

Le degré de gravité est déterminé par l’incidence plausible la plus néfaste dans
l’environnement opérationnel

Source: EUROCONTROL Safety Regulatory Requirements (ESARR4) 58


Intérêts et limites des analyses de modes de défaillances

Avantages
 Applicables au niveau des spécifications

 Informations fines sur les défaillances et leurs conséquences au fur et é


mesure de lʼavancement de la conception
 Concourt à lʼévitement des fautes de spécification et la définition des
besoins en tolérance aux fautes
 Documentation utilisable lors des phases ultérieurs du cycle de vie du
système ➙ maintenance

Limites
 Combinaisons des défaillances non prises en compte
 Difficulté de prise en compte des problèmes temporels

 Volume dʼinformations important ➙ outil informatique

59
Évaluation probabiliste
Mesures Quantitatives
Fiabilité, Disponibilité, Sécurité-Innocuité, …

Modèles Stochastiques
• Construction
Comportement du système vis-à-vis de • Traitement
l’occurrence et de l’activation des fautes, des • Validation
stratégies de tolérance aux fautes, ..

expériences
contrôlées, tests
Données
données en opération
Caractérisation des processus élémentaires (exploitation, systèmes
(taux de défaillance des composants, durées des similaires)
restaurations, couverture, …) estimation par
des experts 60
Mesures de la sûreté de fonctionnement
Service accomplit la défaillance Service n’accomplit pas la
fonction du système: fonction du système :
service correct service incorrect

X=1 restauration X=0

Quantification de l'alternance entre les deux états du service

Mesures de la sûreté de fonctionnement

Mesure délivrance Mesure délivrance Mesure délivrance


CONTINUE service approprié CONTINUE
service approprié par rapport à service inapproprié
(temps jusqu'à ALTERNANCE (temps jusqu'à restauration
défaillance) correct / incorrect depuis dernière défaillance)

FIABILITÉ DISPONIBILITÉ MAINTENABILITÉ


61
Conséquences des défaillances

même ordre de grandeur incommensurablement supérieures


que le bénéfice procuré par au bénéfice procuré par délivrance
délivrance de service en de service en absence de
absence de défaillance défaillance

BÉNIGNES CATASTROPHIQUES

CLASSES DE DÉFAILLANCES

62
Conséquences des défaillances — Mesures SdF

défaillance bénigne service


incorrect
bénin
service
correct restauration

service
défaillance incorrect
catastrophique catastrophique

SÉCURITÉ-Innocuité : mesure du temps jusqu'à défaillance catastrophique

FIABILITÉ SÉCURITÉ-Innocuité

toutes classes de défaillances défaillances catastrophiques


63
Choix des mesures de sûreté de fonctionnement

Domaine d'application des systèmes Objectifs de l'évaluation


• autocommutateur téléphonique : • vérification conformité à objectifs
Disponibilité assignés dans spécifications
• sonde spatiale : Fiabilité • aide à l'ingénierie
• centrale nucléaire : Sécurité—Innocuité
Spécifications quantifiées
 Systèmes de commutation électronique (ESS)
 Indisponibilité : 2 minutes / an ⇒ disponibilité = 99,9996 %
 Moins de 0,01 % d'appels non traités correctement
 Temps moyen de réparation = 4 heures

 Système de contrôle de vol avion civil


 Sécurité-Innocuité : 10-9 défaillance catastrophique / heure
64
Mesures de la sûreté de fonctionnement
X(t) = état service à l'instant t variable binaire : X(t) ∈ { c, i }
service
correct
Sûreté de fonctionnement : { X(t) = c } service
incorrect
Evolution temporelle
X(t)

c
Tc,1 Tc,2 Tc,k
i
Ti,1 Ti,k
T1 T2 Tk t

Tc,k = temps séparant fin restauration après défaillance k-1 et occurrence de défaillance k
Ti,k = durée restauration système suite à occurrence de la défaillance k

Lois mathématiques
X ; Tc,k; Ti,k : Variables aléatoires Expression des mesures de
sûreté de fonctionnement
65
Observation temporelle de {X(t) = c}
CONTINUE PONCTUELLE
entre un instant initial à un instant donné
et l'instant présent

FIABILITÉ DISPONIBILITÉ
R (t, t+u) = Prob. {X(τ) = c , ∀ τ ∈ [t, t+u]} A (t) = Prob. {X(t) = c}

défaillance
service défaillance service service service
correct incorrect correct incorrect
restauration

X(t) = c c
X(t) = i i

t t+u t
Comportement jusqu'à la défaillance à Comportement à un instant donné
partir d'un instant t de délivrance d'un sachant alternance correct / incorrect
service correct
66
FIABILITÉ STABILISÉE FIABILITÉ CROISSANTE
après restauration, le système est élimination de la, ou des, faute(s) de
identique à ce qu'il l'était à la conception dont l'activation a conduit à
restauration précédente défaillance (sans introduction de nouvelles
fautes)

Matériel Logiciel

remplacer un composant Croissance de fiabilité


défaillant par un autre relancer
identique et non-défaillant

IDENTITÉ STOCHASTIQUE DES Tc,k ACCROISSEMENT


STOCHASTIQUE DES Tc,k
(Tc,k identiquement distribués) :
Prob.(Tc,k < t) < Prob.(Tc,k-1 < t)
Prob.(Tc,k < t) = Prob.(Tc,k-1 < t)

Temps moyen Temps moyen


entre défaillances entre défaillances

temps
temps
Intensité de Intensité de
défaillance défaillance

temps temps
67
Comportement jusqu’à la défaillance
Tc = instant d'occurrence d'une défaillance, mesuré depuis t0 = 0
(appelée “durée de vie” pour un système non réparable)

Distribution: Probabilité d'occurrence d'une défaillance avant instant t


F(t) = Prob.( Tc≤ t )

Distribution complémentaire : Probabilité délivrance service approprié


jusqu'à l'instant t (« Fiabilité durant l'intervalle [0,t] »)
R(t) = Prob.( Tc > t ) = 1 - F(t)

Caractérisation Densité de probabilité : Probabilité d'occurrence d'une défaillance


de Tc entre t et t+dt
dF(t) - dR(t)
f(t) = Prob.( t < Tc ≤ t+dt ) = =
dt dt

Taux de défaillance: Probabilité d'occurrence d'une défaillance entre t


et t+dt sachant quʼil nʼy a pas eu défaillance avant lʼinstant t
-1 dR(t)
λ(t) dt = Prob.( t < Tc ≤ t+dt | Tc > t) =
R(t) dt
68
Relations fondamentales

F(t) R(t) f(t) λ(t)


t t
F(t) — 1 - R(t) ∫ f(x)dx 1- exp -λ(x)dx∫
0 0
∞ t
R(t) 1 - F(t) — ∫ f(x)dx ∫
exp -λ(x)dx
t 0

dF(t) - dR(t) t
f(t)
dt dt
— ∫
λ(t) exp -λ(x)dx
0
1 dF(t) -1 dR(t) f(t)
λ(t) —
1 - F(t) dt dt ∞
R(t) ∫ f(x)dx
t


MTTF = temps moyen jusqu'à défaillance = E(Tc) = ∫0 t f(t)dt

69
Propriétés
● ∫0∞ f(t)dt = 1
● F (0) = 0 lim F (t) = 1
t=∞

● R (0) = 1 lim R (t) = 0


t=∞

dF(t)
● = f(t) ≥ 0 ⇒ F (t) non-décroissante ⇒ R (t) non-croissante
dt

● MTTF = ∫ 0∞ t f(t)dt
∞ ∞ R(t)
= - [ t R(t)] +
0
∫0 R(t)dt
1

MTTF = ∫0∞ R(t)dt 0


MTTF
t

70
Taux de défaillance de composants matériels

λ(t)

Jeunesse Vie utile Usure

t
fautes de fautes accidentelles
conception, de
production

Vie utile : λ(t) ≈ constante = λ

71
Taux de défaillance constant
 λ(t) = constante = λ ⇒ Tc distribuée selon une loi exponentielle

-1 d R(t)
λ = R(t) dt ❏ R(t) = exp (-λt) ❏ f(t) = λ exp (-λt)

❏ MTTF =
1
λ

Prob.(système fonctionne à t+T | système fonctionne à t)

Prob.(système fonctionne jusqu'à t+T) R(t+T)


= = = exp (-λT) La loi exponentielle
Prob.(système fonctionne à t) R(t) est “sans mémoire”
“Tant que le système
fonctionne, il est neuf”

 λ(t) = constante = λ
défaillances régies par un Processus de Poisson homogène
(nombre moyen de défaillances / unité de temps constant)
72
Disponibilité, Maintenabilité, MTTR, Taux de restauration
défaillance
service service
correct incorrect
restauration

 Disponibilité : mesure ponctuelle à un instant donné


 Disponibilité : A(t) = Prob. ( X(t) = c )
 Indisponibilité : A(t) = Prob. ( X(t) = i ) = 1 - A(t)

 Maintenabilité : Mesure temps jusqu'à restauration après défaillance


 M (t) = Prob. ( Ti ≤ t )= FT (t)
i

 Temps moyen jusqu'à restauration : MTTR


∞ ∞
 MTTR = ∫0 t f Ti (t) dt = ∫0 [1 - M (t)] dt
i

 Taux de restauration : µ (t)


fTi(t)
 µ (t) =
1 - M (t) 73
i
Disponibilité
 A(t) = Prob. {X(t) = 1} = E {X(t)} A(t) = 1-A(t) = Prob. {X(t) = 0}
 U(T): temps cumulé de délivrance de service correct sur[0,T]
T T T
1 E {U(T)} = 1 E{ ∫ X(t)dt}= 1 ∫ 0 E {X(t)}dt = 1 ∫ 0 A(t) dt = Aav(T)
T T 0 T T

Disponibilité moyenne sur [0,T] = proportion de temps service correct sur [0,T]

Availability 0.99 0.999 0.9999 0.99999 0.999999


Unavailability 0.01 0.001 0.0001 0.00001 0.000001
Downtime (min/year) 5256 525.6 52.56 5.256 0.5256

t
 Disponibilité sur un intervalle : AI(t) = 1 ∫ 0 A(x) dx
t

 Disponibilité asymptotique (stationnaire): A= lim A(t) = lim Aav(T)


t=∞ T=∞

MUT MDT
A= A = 1-A = ⇐ fiabilité stabilisée
MUT+MDT MUT+MDT 74
MTTF, MTTR, MUT, MDT, MTBF

θk ξk

 MTTF: “mean time to failure”: MTTFk = E{θk}


(temps moyen jusqu’à défaillance)

 MTTR: mean time to restoration MTTRk = E{ξk}


(temps moyen jusqu’à restoration)

 MUT: mean up time E{θ1} + E{θ2} +… + E{θk}


MUT = lim
(temps moyen de délivrance de k=∞ k
service correct)

 MDT: mean down time E{ξ1} + E{ξ2} +… + E{ξk}


MDT = lim
(temps moyen de délivrance de k=∞ k
service incorrect)

 MTBF: mean time between failures MTBF = MUT + MDT ≈ MUT


(temps moyen entre défaillances)
75
Exemple : disponibilité d'un système à taux de défaillance
et de restauration constants ( λ(t) = λ ; µ(t) = µ )
 A(t + dt) = Prob. (système fonctionne à t et ne défaille pas entre t et t+dt)
+ Prob. (système est défaillant à t et est restauré entre t et t+dt)
dA(t)
 A(t + dt) = A(t) (1 - λ dt) + (1- A(t)) µ dt ⇒ = µ - (λ + µ) A(t)
dt
µ λ
+ exp (- (λ + µ)t) si A(0) = 1
λ+µ λ+µ
 A(t) =
µ A(t)
λ+µ
(1 - exp (- (λ + µ)t)) si A(0) = 0 A(0) = 1
µ 1

λ+µ
1 MUT
µ λ
lim A(t) = = =
t=∞ λ+µ 1
λ + 1 µ MUT + MDT A(0) = 0

t
λ λ 0
lim A(t) = ≈ si λ « µ
t=∞ λ+µ µ quelques 1/µ

La limite est atteinte au bout de quelques 1/µ si λ « µ (Résultat général) 76


Méthodes d'évaluation - systèmes multi-composants
 Problème :
 Connaissant le système :
– Composants
– Interactions par rapport aux événements élémentaires : défaillances,
restaurations, temps de traitement d'erreur, …
– Distributions de probabilité de ces événements
 Déterminer les expressions et/ou les valeurs des mesures de la SdF

Modèles

Combinatoire Graphes d’états


(Diagrammes de fiabilité, (chaînes de Markov, Réseaux
arbres de fautes, ..) de Petri stochastiques, ..)

77
Dépendance et indépendance stochastiques

Indépendance stochastique : l'occurrence d'un événement


n'a aucune influence sur les conditions probabilistes
d'occurrence des autres événement

Dépendance stochastique : l'occurrence d'un événement


modifie les conditions probabilistes d'occurrence des
autres événements

Événements A et B :
– A et B indépendants ⇔ P{A et B} = P{A} . P {B}
– A et B dépendants ⇔ P{A et B} ≠ P{A} . P {B}

78
Diagrammes de fiabilité
Historiquement, c'est la première méthode utilisée, pour l'évaluation de la fiabilité

 Principe
 Représenter le comportement d'un système, par rapport aux défaillances des
composants, par un graphe
 Les calculs de fiabilité et de disponibilité sont déduits directement à partir de la
topologie du graphe
 Topologies de base
SÉRIE : PARALLÈLE :

E C1 C2 Cn S E C1 S

C2
Composants dont la défaillance conduit
à la défaillance du système
Cn
(systèmes non redondants)

Composants dont la défaillance ne


conduit à la défaillance du système
qu'en combinaison avec d'autres
CHEMIN DU GRAPHE ⇔ SERVICE APPROPRIÉ (systèmes redondants)
79
Traitement du modèle
 Notation : Rk : fiabilité composant k, k = 1,…, n R : fiabilité système

 SYSTÈME SÉRIE
R = Prob.(système sans défaillance)
= Prob.( composant 1 sans défaillance et composant 2 sans défaillance
et … et composant n sans défaillance)

Composants stochastiquement indépendants


⇒ R = Π Prob.(composant k sans défaillance) = Π Rk
k=1..n k=1..n

 R k (t) = exp( - λk t) ⇒ R (t) = exp.{- Σ λkt ) ⇒ λSys = Σλ k


k=1..n k=1..n

⇒ MTTFSys = 1 /Σλ k = 1/ λ

 Composants identiques avec taux λ : ⇒ MTTF = 1/ n λ


Le MTTF d'un système série de n composants est donc n fois plus faible que le MTTF d'un
seul composant 80
Traitement du modèle
 SYSTÈME PARALLÈLE
 Système défaillant uniquement si tous les composants sont défaillants

1- R = Π (1 - Rk) ⇒ R = 1 - Π (1 - Rk)
k=1..n k=1..n

Rk (t) = exp( - λ k t) ⇒ R (t) = 1 - Π (1 -exp( - λ kt))


k=1..n

Composants identiques : ⇒ MTTF = {Σ 1/k }. 1/ λ


k=1, .,n

Le MTTF d'un système parallèle de n composants est donc plus grand


que le MTTF d'un seul composant ( n = 2 ⇒ amélioration de 1,5 )

 Principe général : Association d'une expression de la fiabilité à une


structure topologique (fiabilité combinatoire)

81
Systèmes “série-parallèle” : Exemple

C1 C2
C11
C21
C111 C112
C22
C12
C23

R 11 = R 111 . R 112 R 2 = 1 - (1 - R 21) . (1 - R 22) . (1 - R 23)

R 1 = 1 - (1 - R 11) . (1 - R 12)

R = R 1. R 2

82
Système “ k-parmi-n”
 Système de n composants : non défaillant tant que au moins k
composants sont non défaillants

C1

C2
E k/n S

Cn

 Composants identiques, Rc ; voteur Rv


 Loi binomiale : Probabilité de k essais fructueux parmi n
n
j j n-j
R (t) = [∑ Cn [Rc(t)] • [1- Rc(t)] ] • Rv
j=k

83
Exemple : Système TMR
 Système “2-parmi-3” et voteur parfait
2 3
R (t) = 3 [Rc(t)] - 2 [Rc(t)]
Rc(t) = exp (- λ t) ⇒ R (t) = 3 exp(- 2 λ t) - 2 exp(- 3 λ t)
MTTFc = 1 / λ > MTTF = 5 / 6 λ

1 R(t)

zone d'utilisation

0,5 Rc(t)

0 λt
1 2
Attention au MTTF
en tant que mesure !
MTTF MTTFc
de la SdF
84
Structures plus complexes
C1 C4

E C2 S

C3 C5

 se ramener à une topologie “série-parallèle”


R(t) = Prob. { système fonctionne sur [0, t] / C2 fonctionne à t } . R2
+ Prob. { système fonctionne sur [0, t] / C2 est défaillant à t } . (1- R2)

Si C2 fonctionne à t : Si C2 défaillant à t :

C4 C1 C4
E S E S
C3 C5
C5

R(t) = {1 - (1- R4).(1- R5) }. R2 + {1 - (1- R1R4).(1- R3R5) } . (1- R2)


85
Évaluation de la disponibilité

 Ce qui précède s'applique à condition que les composants soient


stochastiquement indépendants / défaillances et restaurations
⇔ un réparateur par composant
 Notation :
 Ak : disponibilité composant k, k = 1,…, n
 A : disponibilité système

 Système série : A= Π Ak
k=1..n

 Système parallèle : A = 1- Π {1- Ak}


k=1..n

86
Arbres de fautes (défaillances)
 Exemple :
 Système, 3 composants [X,Y,Z] : X et Y en parallèle ; Z en série avec X,Y
 Diagramme de fiabilité :
X
E Z S
Y

 Événements élémentaires : défaillances de X, Y, Z


 Événement système : défaillance système

 Combinaisons dʼévénements:

E E
Porte ET: E= E1∩ E2 Porte OU : E= E1∪ E2

E1 E2 E1 E2 87
Exemple

Défaillance S

Défaillance {X,Y}
Défaillance Z

Défaillance X Défaillance Y

88
Traitement du modèle
Événements stochastiquement indépendants
 Porte ET
 Événement de sortie E réalisé si événements d'entrée E1et E2 et … et En réalisés
E = E1∩ E2 ∩ … ∩ En
Prob.(E) = Prob.(E1) . Prob.(E2). … . Prob.(En)

 Porte OU
 Événement de sortie E réalisé si événements d'entrée E1ou E2 ou … ou En réalisés
E = E1∪ E2 ∪ … ∪ En
E = E1∩ E2 ∩ … ∩ En
Prob.(E) = 1 - [1 - Prob.(E1)] . [1 - Prob.(E2)]. … . [1 - Prob.(En)]

 2 événements élémentaires :
E = E1∪ E2 ⇒ Prob.(E) = Prob.(E1) + Prob.(E2) - Prob.(E1) . Prob.(E2)

 Principe identique à celui des diagrammes de fiabilité :


association d'une expression à une structure topologique

89
Traitement du modèle de l'exemple
Défaillance S

1 - RZ
Défaillance X,Y
Défaillance Z
[1 - RX] [1 - RY]

1 - RX 1 - RY

Défaillance X Défaillance Y

1 - R = 1 - RZ + [1 - RX] . [1 - RY] - [1 - RZ] [1 - RX][1 - RY]


R = RZ [RX + RY - RX RY]
90
Coupes minimales
 Coupe (“cut-set” en anglais)
 ensemble dʼévénements élémentaires dont la réalisation simultanée entraîne
lʼoccurrence de lʼévénement racine de lʼarbre

 Coupe minimale
 Coupe ne contenant pas dʼautres coupes

 Ordre dʼune coupe


 Nombre dʼévénements constituant la coupe
 Coupe dʼordre 1 : constituée dʼun seul événement

 Chaque coupe minimale donne une combinaison significative de fautes au


niveau du système
 déterminer les chemins critiques
 identifier les points faibles de la conception ➙ redondances

91
Calcul des coupes minimales : lois booléennes

A∩A=A
A∪B=A∩B
A∪A=A
A ∪ B = A si A ⊃ B A∩B=A∪B

A ∩ B = B si A ⊃ B
A ∪ (A ∩ B) = A ∪ B
A ∩ (B ∪ C) = (A ∩ B) ∪ (A ∩ C)
A ∪ (B ∩ C) = (A ∪ B) ∩ (A ∪ C) A ∩ (A ∪ B) = A ∩ B

92
Coupes minimales : Exemple
R

E1 E2

A E3 C E4

B C A B

E3 = B ∪ C R = E1 ∩ E2 = (A ∪ B ∪ C) ∩ (C ∪ (A ∩ B))
E1 = A ∪ (B ∪ C) = A ∪ B ∪ C R = (A ∪ B ∪ C) ∩ C ∪ (A ∪ B ∪ C) ∩ (A ∩ B)
E4 = A ∩ B R = (A ∩ C) ∪ (B ∩ C) ∪ C ∪ (A ∩ B) ∪ (A ∩ B) ∪ (A ∩ B ∩ C)
E2 = C ∪ (A ∩ B) R = C ∪ (A ∩ B)
93
Arbre réduit

C E4

A B

P{R} = P{C ∪ (A ∩ B)} = P{C} + P{A} P{B} - P{A} P{B} P{C}

94
Coupes minimales : Traitement
Ci coupe minimale dʼordre mi : Ci = E1i ∩ E2i ∩ … ∩ Emi
Emi : événements élémentaires

R : événement racine

P{R} = P{C1 ∪ C2 ∪ … Cm }

m m j-1 m k-1 j-1


= ∑ P{Ci} - ∑ ∑ P{Ci ∩ Cj} + ∑ ∑ ∑ P{Ci ∩ Cj ∩ Ck} + … (-1)m P{Ci ∩ Cj … ∩ Cm}
i=1 j=2 i=1 k=3 j=2 i=1

Si probabilités événements élémentaires petites :


m

P{R} ≈ ∑ P{Ci}
i=1

m m j-1 m
Encadrement de P{R} : ∑ P{Ci} - ∑ ∑ P{Ci ∩ Cj} ≤ P{R} ≤ ∑ P{Ci}
i=1 j=2 i=1 i=1
95
Composants stochastiquement dépendants
Dépendance(s) introduite(s) dans l'établissement des expressions

 Exemple : Système tolérant aux fautes constitué de deux composants :


C1 (principal), C2 (en attente, “standby”)
λ1(t) λ2(t)
C2
C1
λ 2a
λ1
λ 2w
t
C2 en attente C2 actif

défaillance de C1

 R(t) = Prob. {Système fonctionne de 0 à t}


 C1 fonctionne de 0 à t ⇒ exp (- λ1t)
 C1 défaille à τ et C2 non défaillant entre 0 et τ et C2 fonctionne de τ à t
t
⇒ ∫ 0
λ1 exp (- λ1τ) dτ exp (- λ2wτ) exp (- λ2a (t - τ))

t
R(t) = exp (- λ1t) + λ1 exp (- λ2a t ) ∫ 0exp (- (λ + λ
1 2w- λ2a)τ) dτ
96
Graphes d'états : chaînes de Markov
 Exemple : • système constitué de deux composants
• 1 réparateur par composant
 États des composants : Xc, Yc ➩ service correct
X i , Yi ➩ service incorrect, en réparation

 États du système : ( Xc, Yc ) ; ( Xc, Yi ) ; ( Xi, Yc ) ; ( Xi, Yi )



défaillance Y ( Xc, Yi ) défaillance X

restauration Y
restauration X
① ( Xc, Yc ) ( Xi, Yi ) ④
restauration X
restauration Y
défaillance X défaillance Y
( Xi, Yc )

③ 97
Caractérisation de la sûreté de fonctionnement
 Système non redondant : X et Y en série

défaillance système
Service correct Service incorrect
① ②③④
restauration système

 Système redondant : X et Y en parallèle


défaillance système
Service correct Service incorrect
①②③ ④
restauration système

98
Modèle de fiabilité Modèle de disponibilité
② ②
défaillance Y ( Xc, Yi ) défaillance X défaillance Y ( Xc, Yi ) défaillance X

① restauration Y ① restauration Y
④ restoration X ④
( Xc, Yc ) ( Xi, Yi ) ( Xc, Yc ) ( Xi, Yi )
restauration X restauration X
restauration Y
défaillance X défaillance X
( Xi, Yc ) défaillance Y ( Xi, Yc ) défaillance Y

③ ③

R(t) = P1(t) + P2(t) + P3(t) A(t) = P1(t) + P2(t) + P3(t)

Pk(t): probabilité système dans lʼétat k à lʼinstant t

 Calcul de Pj(t) dépend des distributions associées aux transitions


 Chaînes de Markov homogènes: taux de transition constants

99
Chaînes de Markov homogènes
 Exemple précédent : λY 2 λX
 Taux de défaillance des composants : λ X, λ Y µY µX
 Taux de restauration : µ X, µ Y 1 4
µX µY
λX
 Prise en compte d'une transition 3 λY
(et une seule) entre t et t + dt
P1(t + dt) = [1 - (λ X dt + λ Y dt)] P1(t) + µ Y dt P2(t) + µ X dt P3(t)
• 1 - (λ X dt + λ Y dt) = Prob.{ rester dans ① entre t et t+dt}
• µY dt = Prob.{ transition de ② vers ① entre t et t+dt}
• µX dt = Prob.{ transition de ③ vers ① entre t et t+dt}

P2(t + dt) = λ Y dt P1(t) + [1 - (λ X dt + µ Y dt)] P2(t) + µ X dt P4(t)

P3(t + dt) = λ X dt P1(t) + [1 - (λ Y dt + µ X dt)] P3(t) + µ Y dt P4(t)


P4(t + dt) = λ X dt P2(t) + λ Y dt P3(t) + [1 - (µ X dt + µ Y dt)] P4(t)
100
Disponibilité : Équations différentielles
Pʼ1(t) = - (λ X + λ Y)P1(t) + µ Y P2(t) + µ X P3(t) λY 2 λX
µY µX
Pʼ2(t) = λ Y P1(t) - (λ X + µ Y)P2(t) + µ X P4(t)
1 4
Pʼ3(t) = λ X P1(t) - (λ Y + µ X)P3(t) + µ Y P4(t) µX µY
Pʼ4(t) = λ X P2(t) + λ Y P3(t) - (µ X + µ Y)P4(t) λX
3 λY

Matriciellement:
- (λ X + λ Y ) λY λX 0
µY - (λ X + µ Y) 0 λX
[Pʼ1(t) Pʼ2(t) Pʼ3(t) Pʼ4(t) ] = [P1(t) P2(t) P3(t) P4(t)] µX 0 - (λ Y + µ X ) λY
0 µX µY - (µ X + µ Y)

P’ (t) = P (t) . Λ P (t) : vecteur ligne des probabilités d'états


Λ : matrice (des taux) de transition ou matrice génératrice
Solution: P(t) = P(0) . exp(-Λt)
Disponibilité : 1
A 1
A(t) = P1(t) + P2(t) + P3(t) = P (t) . 1 1A = 1 : vecteur colonne de
3 3 0 sommation
101
Fiabilité : résolution matricielle
2
[Pʼ1(t) Pʼ2(t) Pʼ3(t) ] - (λ X + λ Y ) λY λX
λY
µY
λX

= [P1(t) P2(t) P3(t)]


µY - (λ X + µ Y) 0 1 4
µX 0 - (λ Y + µ X ) µX
λX
3 λY

Pc (t) : vecteur des probabilités Λcc : matrice de transition


des états non défaillants entre états non défaillants

Pʼc (t) = Pc (t) . Λcc Solution: Pc(t) = Pc(0) . exp(-Λcct)

R R 1
R (t) = Pc (t) . 13 13 = 1 : vecteur colonne de sommation
1

102
Généralisation: m états
Matrice des taux de Transition: Λ = [λjk]
 λjk j≠k : taux de transition entre les états j et k (termes hors diagonaux)
m
 λjj,= -∑λjk j≠k : (termes diagonaux)
k=1, k≠ j

Λcc Λci service


correct mc états
Λ = mc + mi = m
service
incorrect mi états
Λic Λii
service service
correct incorrect

Vecteur des probabilités d’états:


P (t) = (P1(t) P2(t) … Pm(t)) P (t) = (Pc (t) Pi(t) )

(P1(t) P2(t) … Pmc(t)) (Pmc+1(t) Pmc+2(t) … Pm(t))


103
Mesures Quantitatives: Résumé
A 1
 A (t) = P(0) . exp (Λ t) . 1mc .
.
1A= 1
mc "1", mi "0"
mc 0
A
 A = lim A(t) = Πc . 1mc .
.
t=∞ 0
-1 A
 Πc = (0 0 … 0 1j 0 … 0) . Λj . 1mc
 Λj = obtenue de Λ en replaçant jth colonne par “1”
1
.
1 = .
mc "1"
 R(t) = Pc(0) . exp (Λcct) . 1mc mc
1

 MTTF = -Pc(0) . Λcc-1. 1mc 1


.
1 = .
mi "1"
-1 mi
 MTTR = -Pi (0) . Λii . 1mi 1

Πc . 1mc
 MUT =
Πc . Λ ci . 1mi
1
MUT + MDT = MTBF =
Πi . 1mi Πc . Λci . 1mi
 MDT =
Πc . Λ ci . 1mi
104
Méthodes de résolution de exp [Λ t ]
n
i i
 Série tronquée : exp (Λ t) = Σ
i =0
Λ t
i!

 Intégration numérique de Pʼ (t) = P (t) . Λ : Runge-Kutta

 Transformée de Laplace

 Méthode des états de marche critique

105
Méthode des états de marche critique
 But : obtenir une expression approchée du taux de défaillance du
système par lecture directe de la chaîne de Markov
 Conditions :
chaîne de Markov des états de
 la matrice Λcc est irréductible ⇒ délivrance de service correct
 λi « µi fortement connexe

États : service 1 2 États : service


correct λi incorrect
µi

Approximation
(Recherche des chemins critiques :
(état initial correct vers état incorrect)

Le système se comporte R(t) ≈ exp(- λeq t)


comme une seule unité dont le λeq
1 2 1
taux de défaillance global MTTF ≈
(équivalent) est égal à λeq service service λeq
correct incorrect 106
Expressions approchées
 Taux de défaillance équivalent

Π taux de transition du chemin


λeq ≈ Σ
Chemins de l'état initial Π | λii |
approximation valable si :
λi « µj
à défaillance système i ∈ ensemble des états
intermédiaires du chemin
i≠ état initial, i≠ état
défaillant

 Indisponibilité stationnaire

Π taux de transition du chemin


A ≈ Σ
Chemins de l'état initial Π | λii |
approximation valable si :
λi « µj
à défaillance système i ∈ ensemble des
états du chemin
i≠ état initial

107
Exemples
 Exemple 1
2λ λ 1 seul chemin: 1 ➙ 2 ➙ 3

1 2 3 2λ . λ 2λ2 λeq λ2
λeq ≈ ≈ µ A ≈ ≈
λ+µ 2µ µ2
µ 2µ

 Exemple 2
3 λ1
λ1 , λ2 « µ1 , µ2
2 λ1 λ1
chemins: 1 ➙ 5
1 2 3 4
µ1 2 µ1 3 µ1 1➙2➙5
1 ➙ 2 ➙ 3➙ 5
3λ2 2λ2 λ2
1 ➙ 2 ➙ 3➙ 4
µ2
3λ1 . 2λ2 3λ1 . 2λ1 . λ2
λeq ≈ 3λ2 + +
5 2λ1 + 2λ2 + µ1 (2λ1+ 2λ2 + µ1).(2µ1 + λ1+ λ2)
service incorrect 3λ1 . 2λ1 . λ1
4
+
5 (2λ1 + 2λ2 +µ1).(2µ1 + λ1 +λ2) 108
Évaluation de la tolérance aux fautes
 couverture de la tolérance aux fautes

Résultats Obtenus
Traitement Détection Spécifiés

Obtenus
Acceptés Spécifiés
Acceptés

erreurs détectées

rejet résultats corrects

erreurs non détectées


}défaillances de la
détection d'erreurs

Efficacité des mécanismes de tolérance aux fautes ➝ facteur de couverture c

c = Prob.{ délivrance service correct | faute activée}


109
Redondance dynamique active (redondance d°1)
défaillance non couverte d'une unité

1 2 1 composant 3
fonctionne
2 composants 2 composants
1 composant déf.
fonctionnent déf. couverte défaillants
défaillant d'1 comp.
d'1 comp.

r(t) : fiabilité d'un composant 2.λ. (1-c)

R(t) : fiabilité système λ


2.λ.c
1 2 3

P1(t) = r2(t) P2(t) = 2. c. [ 1 - r(t)]. r(t) = λ.c+ λ.(1-c)

R(t) = P1(t) + P2(t) = 2. c. r(t) - [ 2.c - 1].r2(t)

r(t)= exp(-λt) ➝ R(t) = 2. c. exp(-λt) - [ 2.c - 1].exp(-2λt)

2.c + 1 3
MTTF = <
2λ 2λ 110
Redondance dynamique passive (redondance d°1)
défaillance non couverte unité active

déf. couverte
1 comp actif 2 1 composant 3
fonctionne
2 composants ou déf. 2 composants
1 composant
fonctionnent déf. comp d'1 comp défaillants
défaillant
en attente

ra(t) : fiabilité composant actif λa .(1-c)


rs(t) : fiabilité composant en attente
λa.c + λs λa
P1(t) = ra(t) . rs(t) 1 2 3
t
P2(t) = c . [ ∫0r (τ). d [1 - r (τ)] . r (t - τ)]
s a a + ra(t). [ 1 - rs(t)]

t
P2(t) = ra(t) + c . [ ∫0r (τ). d [1 - r (τ)] . r (t - τ)
s a a

ra(t)= exp(-λt) rs(t)= exp(-kλt) R(t) = (1 + c ). exp(-λt) - c .exp(- (1+k)λt)


k k
k = 1 : redondance tiède 1+c+k 2
0 ≤ k < 1 : redondance froide MTTF = <
(1 + k). λ λ 111
Comparaison active/passive

 Système à durée de mission courte : λt «1


 Redondance dynamique active
R(t) ≈ 1 - 2.(1- c). λt - [ 1 - 3 ( 1- c)]. λ2 t2

 Redondance dynamique passive


R(t) ≈ 1 - (1- c). λt + [ 1 - 2c - ck]. λ2 t2
2

 Fiabilité : passive > active


 Interruption de service Choix d'un compromis

active <passive tiède < passive froide

112
Illustration
1- R(t)

10-1

non-redondant
10-2

10-3
3
c Active Passive
10-4 6 k = 0,1
2
1 1 4
5
10-5 0,99 2 5
1 0,95 3 6

4
10-6 λt
0,001 0,01 0,1 1

113
Influence du facteur de couverture
et du taux de réparation
2 (1-c) λ
λeq ≈2 [ (1-c) + c λ/µ] λ

µ 2 (1-c) λ → défaillance non couverte


1 2 3
λ
2 c (λ/µ) λ → deux défaillances successives,
2cλ la première couverte

1
λ eq c = .9 R(t) ≈ exp { -2 [ (1-c) + c λ/µ ] λ t }
MTTF
COMP
= 10
-1
1
λ MTTF c = .95
SYST
c = .99
MTTF ≈
-2 2 [ (1-c) + c λ/µ ] λ
10
c = .995
λ eq
-3 c = .999 c=1 : variation dépend de 1 - c et de λ/µ
10 λ

-4
10
-4 -3 -2
10 10 10

λ MTTR
=
µ MTTF
COMP 114
Préférence chaînes de Markov /
Diagrammes de fiabilité & arbres dʼévénements

 Aptitude à tenir compte des dépendances stochastiques

 Calcul de plusieurs mesures de sûreté de fonctionnement à partir d'un


même modèle

 Possibilité de modéliser des distributions non exponentielles via la


méthode des états fictifs

115
Modélisation & évaluation de systèmes complexes

 Espace d'états très grand


 Génération automatique du graphe d'états (Réseau de Petri Stochastique)
 Techniques de décomposition et d'agrégation (regroupement d'états)
 Approximation de modèles : élimination d'états à faible probabilité
 …

Temps jusqu'à occurrence ou achèvement des événements


 Raideur des modèles considérés
msec sec heure jour mois an
 Élimination de la raideur
par approximation de modèle
défaillance
 Méthodes de résolution
numérique robustes maintenance
 …
sollicitation

traitement erreurs &


fautes

116
Regroupement d'états
Motivation : réduction du nombre d'états
 Exemple précédent—composants identiques : λX=λY= λ µX=µY=µ
P1(t + dt) = [1 - (λ dt + λ dt)]P1(t) + µ dt P2(t) + µ dt P3(t)
P2(t + dt) = λ dt P1(t) + [1 - (λ dt + µ dt)]P2(t) + µ dt P4(t)
P3(t + dt) = λ dt P1(t) + [1 - (λ dt + µ dt)]P3(t) + µ dt P4(t)
P4(t + dt) = λ dt P2(t) + λ dt P3(t) + [1 - (µ dt + µ dt)]P4(t)

P1(t + dt) = [1 - 2 λ dt] P1(t) + µ dt [P2(t) + P3(t)]


P2(t + dt) + P3(t + dt) = 2 λ dt P1(t) + [1 - (λ dt + µ dt)] [P2(t) + P3(t)] + 2 µ dt P4(t)
P4(t + dt) = λ dt [P2(t) + P3(t)] + [1 - 2 µ dt] P4(t)

λ 2 λ
2λ λ
µ µ -2λ 2λ 0
1 4 ⇔ 1 2, 3 4 Λ = µ - (λ + µ ) λ
µ µ
0 2µ -2µ
µ 2µ
λ λ
3 117
Cas général
 Motivation : réduction du nombre d'états
 composants identiques groupés
 connaissance des prob. d'états pour tous les états non nécessaire

 P ={ P1 ,P2 , …Ps } partition de l'espace d'état E, s < m = |E|

λ i, Pj = Σ λ ik : taux de transition de l'état i vers Pj


k ∈ Pj

 Modèle réductible par rapport à P si pour toute paire ( Pi,Pj ), les


λ k, P sont identiques pour tout état k de Pi. Ces valeurs communes
j
sont les taux de transition de la chaîne réduite.

 Système à n composants, 2 états par composant


 Etats non regroupés → |E| ≥ 2 n

 Composants identiques, états regroupés → |E| ≥ n+1


118
Illustration sur l'exemple

λ 2 λ
µ µ
P={ 1, (2, 3), 4 }
1 4
µ µ P1, P 2, P3
λ λ
3

λ k, P : taux de transition de l'état k vers la partition Pj : k Pj


j

λ 1, P = 2 λ λ 2, P = µ λ 2, P = λ λ 4, P = 2 µ
2 1 3 2

λ 3, P = µ λ 3, P = λ
1 3 2λ λ

⇔ P1 P2 P3
µ 2µ
119
Réseaux de Petri, SPNs et GSPNs
 Un réseau de Petri (PN) est défini par (P, T, I, O, M)
 P: Places, représentent des conditions dans le système p1

 T: Transitions, représentent des événements


 I, O: Input, Output arcs connectant places et transitions
 M: marquage initial, nombre de jetons dans chaque place
p2

 Réseaux de petri stochastiques - Stochastic Petri nets (SPNs):


p1
 PNs avec transitions temporisées exponentiellement distribuées

 GSPNs (Generalized Stochastic Petri Nets)


 PNs avec transitions temporisées exponentiellement distribuées p2
et des transitions immédiates
c 1-c

 Avantages
 Adaptés pour représenter parallélisme, synchronisation, …
 Graphe des marquages isomorphe à une chaîne de Markov
µ1 µ2
120
Exemple 1: Calculateur avec deux modes de défaillance/restauration
(détection imparfaite)

GSPN P1 Reachability graph 1000


1

T4 T1 T5
T1 λ

2
P2 T2 T3
0100
T2 c T3
1-c 0001 3 4 0010
P4 P3

T4 T5
µ1 µ2 Markov chain
1

P1: system OK T1: fault activation


P2: error activated T2: detection µ1 µ2
P3: nondetected error T3: nondetection

P4: detected error T4: restoration
T5: periodic maintenance (1-c) λ
3 4
121
Exemple 2: Système redondant avec N composants - 1 réparateur par
composant

GSPN
P1
N

M(P1). λ

P2

M(P2). µ

Markov chain

Nλ (N -1)λ (N -k)λ λ

0 1 k N

µ 2µ (k+1)µ Nµ
N Up N-1 Up N-k Up 0 Up
0 Down 1 Down k Down k Down

122
Matériel- Logiciel avec propagation d’erreur

Modèle du matériel Modèle du logiciel

S-ok
H-ok

µ pph λ
ν
λh δh tp δ s s
Ps
S-e
H-e tn
ph 1-p Prop
h τ
s

H-p H-t S-fd


1-pph
1- d d
s s
τ h
S-nd S-d
H-fd
dh
1-d h πs 1- p
s

H-u H-nd Modèle de propagation d’erreur S-ft

ζh ζ s p
s

S-u

123
Outils
SURF-2 GSPNs, Markov LAAS, France

Great-SPN GSPNs and stochastic well formed nets Torino, Italy

UltraSAN Stochastic Activity Networks (SANs) UIUC, USA

Möbius Multi-formalism (SANs, PEPA, Fault tree,… UIUC, USA

SHARPE Multi-formalism (Combinatorial , state-based) Duke, USA


hierarchical models
Multi-formalism (Parametric Fault trees, SWN) U. del Piemonte orientale,
DRAWNET++
U.Torino, U. Napoli, Italy

SPNP Multi-formalism (SPNs, Stochastic Reward nets, Duke, USA


NonMarkovian, fluid models)

DEEM Deterministic and SPNs, Multi-phased systems UNIFI-PISA, Italy

TimeNET nonMarkovian SPNs Hamburg, Germany

Dortmund, Germany
DSPNexpress Deterministic and stochastic Petri nets

ADVISER, ARIES, CARE III, METFAC, SAVE, SURE, ASSIST, HARP, etc..
124
SURF-2
Réseau de Petri Stochastique
UTILISATEUR Généralisé (GSPN)

ChaÎne de Markov (CdM)

Traitement du GSPN
Dimensionnement
Vérifications structurelles
Graphe des marquages

Traitement de la CdM
Mesures SdF, coût, performance :
Fiabilité
Disponibilité
Récompense, …

125
Données de sûreté de fonctionnement
 Estimation des paramètres intervenant dans les modèles et validation des
modèles
 Données constructeurs: test et vie opérationnelle
 Banque de données de fiabilité: Équipements Telecom, Composants électroniques…

 Collecte de données, analyse et traitement statistique


 Voir Cours Fiabilité du Logiciel
Collecte de données en opération
Expériences contrôlées
(test, injection de fautes)

Central
Switch
logfiles
fault load contrôleur
workload
Mesures
exp.
Ficihier de logs
Modes de défaillance Rapports de défaillance
(automatique/manuel)
Couverture de fautes
Système sous test Taux de
instrumenté Latence de detection défaillance/réparation,
d’erreur modes de défaillance 126
Processus de Traitement de données

Pre- Analyse
Données Mesures
traitement statistique et Tendances
brutes
modélisation
• event logs • Extraction d’informations utiles • distributions erreurs/défaillances
• failure reports • identification/catégorisation • estimation fiabilité, disponibilité
erreurs, défaillnces, reboots • Impact workload
• instants d’occurrence, durées • analyse de propagation d’erreur
(algorithmes de regroupement et de
calassification de données)
CPU disk SW error CPU disk CPU Disk error CPU error Reboot

Normal time
activity event

 Études expérimentales
 Hardware, Software, distributed systems and middleware, Internet, Human-computer
interaction, security, wireless, etc..
 Systèmes: FTMP, SIFT, TANDEM, VAX, SUNOS/Solaris, Windows NT/2K, Linux,
Symbian OS..
127
Exemples (1)
 DEC VAXCluster Multicomputer
 7 nœuds de traitement et 4 contrôleurs de disques connectés via un bus
 8 mois d’observation (décembre 1987 — Août 1988)

MTTF λ MTTR µ couverture


CPU 8400 h 1.19 10-4 /h 24.8 min 2.42 /h 0.970
Disk 656 h 1.52 10-3 /h 110 min 0.54 /h 0.997
Network 1400 h 7.14 10-4 /h 53.4 1.12 /h 0.991
Software 677 h 1.48 10-3 /h 24.4 2.46 /h 0.1

 CMU Andrew file server


 13 SUN II workstations - durée : 21 machines.ans

Mean time to occurrence Number of events


(per system) (all systems)
Permanent failures 6552 h 29
Intermittent faults 58 h 610
Transient faults 354 h 446
System crashes 689 h 298 128
Exemple (2)
 Réseau du LAAS-CNRS
 418 SunOS/Solaris, 78 Windows NT, 130 Windows 2K
 Jan. 1999-Oct. 2003: 1392 system.year - 50 000 reboots

Unix Windows NT Windows 2K


3.9 10-3/hour 5.3 10-3/hour

10-3/hour
Reboot
rate
180 min

Mean 30 min 35 min


Downtime
12.8 day

Mean 1.5 day 1.08 day


Uptime
11.6 day/year
4.4 day/year 5.7 day/year
Average
Unavailability 129
Exemples d’applications à des systèmes réels
Système Partenaires
Contrôle commande Postes très haute tension EDF

Centre de contrôle spécialisé TELECOM1 CNES

Système informatique de contrôle du trafic aérien (CAUTRA) CENA, SRTI System


CENA, Sofreavia

Architectures Automobile : contrôle-commande coussin Siemens


gonflable et direction électrique

Contrôle commande de centrale nucléaire EDF


Système multiprocesseurs à mémoire partagée distribuée Bull

Guards: Generic Upgradable architectures for real-time AnsaldoTrasporti


dependable systems: ferroviaire, spatial, nucléaire Astrium,Technicatome

Applications et systèmes basés sur Internet, applications Projets européens


mobiles embarquées, etc.

130
Cas d’étude :

Modélisation et évaluation
de la sûreté de fonctionnement
du CAUTRA
(Système informatique du contrôle du trafic aérien)

K. Kanoun, M. Borrel, T. Morteveille and A. Peytavin, “Modeling the Dependability of CAUTRA, a


Subset of the French Air Traffic Control System”, IEEE Transactions on Computers, 48 (5),
pp.528-535, 1999

131
Objectifs de l’étude
 Analyse comparative et evaluation de la sûreté de fonctionnement de
différentes architectures possibles pour le CAUTRA
 Défaillances matériel et logiciel et propagation d’erreurs
 Différentes stratégies de tolérance aux fautes et de maintenance

 Évaluation de la disponibilité du CAUTRA au niveau d’un CCR

CESNAC
Centre d’exploitation
de Systèmes de la RENAR
CCR(s)
Navigation Aérienne
Centre de Contrôle en
Centraux
Route Régionaux
STR Système de
STIP Traitement Radar
Système de Traitement
Initial de Plans de Vol Système de Traitement
STPV
Plans de Vol
CAUTRA

132
Système de référence
 Architecture distribuée
 Matériel : tolerance aux fautes basée
sur la redondance dynamique
– Duplex, 2 calculateurs DG1 & DG2
 Logiciel : tolerance aux fautes basée
sur le traitement d’exception et la STPV STPV
replication pal sec

– 2 repliques pour chaque application:


pal, sec
STR STR
 Système de communication sec pal
DG1 DG2
 Organisation
 Chaque calculateur reçoit deux
repliques 1 pal et 1 sec (différentes
applications)

133
Reconfiguration après une défaillance logiciel

STPV STPV STPV STPV


pal sec pal sec
défaillance
STPV pal
STR STR STR STR
sec pal sec pal
Basculement
DG1 DG2 DG1 DG2 de rôle

O1

STPV STPV STPV STPV


sec pal pal
Relance de sec
STPV sec
Retour à la
reconfiguration STR STR STR
STR
initiale : R1 sec pal sec pal
DG1 DG2 DG1 DG2
O2

134
Architectures
 Organisation (o)
 O1: STPVpal et STRsec sur un calculateur, STPVsec et STRpal sur l’autre
 O2: STPVpal et STRpal sur un calculateur, STPVsec et STRsec sur l’autre

 Reconfiguration Logiciel (r)


 R1: après le changement de rôle des repliques et la relance de sec, retour à
la configuration initiale (chaque replique reprend le rôle qui lui été attribué
initialement avant la défaillance)
 R2: après le changement de rôle des repliques et la relance de sec, les
replicas maintiennent leur nouveau rôle

 Tolérance aux fautes Matériel (s)


 S0: architecture Duplex (pas de calculateur de secours supplémentaire)
 S1: Duplex + 1 secours, basculement vers le secours après défaillance de
DG1 OU de DG2
 S2: Duplex + 1 secours, basculement vers le secours après la défaillance de
DG1 ET de DG2

12 architectures possibles: A.o.r.s


135
Modélisation
 Taux de transition constants → Chaînes de Markov homogènes
 Taux de défaillance logiciel et matériel
 Taux de relance, de reconfiguration et de maintenance

 Modélisation des intéractions et des propagations d’erreurs entre


composants matériel et logiciel
 Construction de modèle
 Generalized Stochastic Petri Nets (GSPNs)
– Approche modulaire et compositionelle avec description détail du
comportement en présence de fautes des composants matériel et logiciel
– Vérification structurelle des modèles

 Validation de modèle
 Approche progressive pour maîtriser la complexité

136
Approche de modélisation
 Réseaux GSPN de Composants
 Comportement des composants résultant de l’activation de fautes
permanentes/transitoires locales
 Stratégies de tolérance aux fautes locales : détection & recouvrement
d’erreur
 Maintenance: actions de réparation et de relance de replicas, locales

 Réseaux GSPN de Dépendances


 Dépendances: functionnelles, structurelles, due aux politiques de
maintenance et de tolérance aux fautes
– Architecture matériel-Logiciel
– Communication entre composants
– strategies globales de tolérance aux fautes et de maintenance

 Modèle global
 Composition des réseaux de composants et des réseaux de dépendances
 Réseaux génériques ⇒ réutilisation pour plusieurs architectures

137
Dependances
 Matériel - Logiciel
 Une erreur du matériel due à une faute transitoire peut propager vers les replicas
logicielles installés au sein du calculateur correspondant
 Une erreur du matériel due à une faute permanente dans un calculateur nécessite
l’arrêt du calculateur et des repliques installées dessus
 Logiciel - Logiciel
 Une erreur dans une replique due à une faute permanente peut propager aux
autres repliques avec lesquelles elle dialogue
 Communication
 Suite à la défaillance du medium de communication, le système doit switcher de
l’organisation O1 à O2 s’il était dans O1 (le switch de O2 à O1 n’est pas possible
car le médium de communication est défaillant)
 Stratégies de tolérance aux fautes et de maintenance
 Logiciel-Logiciel: reconfiguration de sec à pal
 Matériel-Matériel: réparateur et calculateur de secours partagés
 Matériel-Logiciel: stratégie de restoration globale, ordre/priorité des actions

138
Modèles GSPN
Composant Matériel Composant Logiciel
S-ok
H-ok

µ pph λ ν
λh δh tp δs s
Ps
S-e
H-e tn
ph 1-p Prop
h τ
s

H-p H-t S-fd


1-pph
1- d s d
s
τh
Modèle propagation d’erreur S-nd S-d
H-fd
dh
1-d h πs 1- p
s

H-u H-nd S-ft

ζh ζs p
s

S-u

139
Taille des Chaînes de Markov et paramètres
 Architectures sans calculateur de “secours”
 104 états (après elimination des états rapides)
1/τh, 1/δh, 1/τs, 1/πs, 1/δs : quelques secondes

 Architectures avec calculateur de “secours”


 390 états (après elimination des états rapides)

 Valeurs numériques des paramètres

λh λSTR (λS) λSTPV (λS) λC 1/µ 1 / νSTR 1 / νSTPV 1 / βSTR 1 / βSTPV 1 / βh


0.01 / h 0.01 / h 0.05 / h 1E-5 10 h 1 mn 10 mn 1s 1 mn 1 mn

ph pS pph p ps c ch
0.02 0.02 0.85 0.7 0.98 0.95

140
Résultats: Impact de l’organisation HW-SW
Indisponibilité de STR - S0 Indisponibilité de STR - S1
Durée d’indisponibilité par an
A.o.r.s UA λc A.1.1.1 A.2.1.1 A.x.2.1
1,20E-04
A.1.1.0 1E-8
1,04E-04 1 mn 29 s 1mn 25 s 1 mn 27 s
1E-7 1 mn 31 s 1 mn 25 s 1 mn 28 s
8,00E-05
A.1.2.0 / A.2.2.0 1E-6 1 mn 48 s 1 mn 25 s 1 mn 36 s
6,00E-05
4,61E-05 1E-5 4 mn 42 s 1mn 25 s 2 mn 35 s
3,96E-05 1E-4 33 mn 35 s 1 mn 30 s 4 mn 42 s
A.2.1.0 2,00E-05 1E-3
λc 5 h 20 mn 2 mn 04 s 5 mn 31 s
0,00E+00
1E-8 1E-7 1E-6 1E-5 1E-4
Indisponibilité de STR - S2
Durée d’indisponibilité par an
Durée d’indisponibilité par an
λc A.1.1.0 A.2.1.0 A.x.2.0 λc A.1.1.2 A.2.1.2 A.x.2.2
1E-8 21 mn 17s 20mn 49 s 21 mn 01 s 1E-8 15 mn 59s 15 mn 40s 15 mn 46s
1E-7 21 mn 17s 20mn 49 s 21 mn 01 s 1E-7 15 mn 59s 15 mn 40s 15 mn 46
1E-6 21 mn 36s 20mn 49 s 21 mn 11 s 1E-6 16mn 18s 15 mn 40s 15mn 56s
1E-5 24 mn 39s 20mn 49 s 22 mn 11 s 1E-5 19 mn 17s 15 mn 40s 16mn 55s
1E-4 54 mn 40s 20mn 49 s 24 mn 14s 1E-4 49 mn06s 15 mn 46s 18 mn 58s
1E-3 5 h 55mn 20 mn 55 s 25 mn 04 s 1E-3 5 h 45mn 16 mn 21s 19mn 49s 141
Influence de la politique de reconfiguration R

Indisponibilité de STPV (par an)


A.1.2.s A.2.2.s A.1.1.s A.2.1.s
Pour O1 et O2 : R1 ≈ R2
s=0 2 h 42 mn 2 h 42 mn 2 h 42 mn 2 h 41 mn
quelque soit la stratégie de
s=2 2 h 36 mn 2 h 36 mn 2 h 36 mn 2 h 36 mn tolérance aux fautes du matériel

s=1 2 h 17 mn 2 h 17 mn 2 h 17 mn 2 h 17 mn

Indisponibilité de STR (par an)

A.1.2.s A.2.2.s A.1.1.s A.2.1.s Pour O1 : choisir R1


Pour O2 : choisir R2
s = 0 21 mn 11s 21 mn 11s 21 mn 36s 20 mn 49s
s = 2 15 mn 56s 15 mn 56s 16 mn 18s 15 mn 40s
Impact significatif de la
stratégie de tolérance aux
s = 1 1 mn 36s 1 mn 36s 1 mn 48s 1 mn 25s fautes du matériel

142
Impact de la couverture de fautes du matériel

Indisponibilité de STR (par an) pour S1 & S2

ch A.x.2.1 A.x.2.2 A.1.1.1 A.1.1.2 A.2.1.1 A.2.1.2

0.7 6 mn 7s 15 mn 49 s 6 mn 44 s 15 mn 59 s 6 mn 34 s 15 mn 37 s

0.9 2 mn 29 s 15 mn 49 s 2 mn 32s 15 mn 59 s 2 mn 27 s 15 mn 37 s

0.95 1 mn 27s 15 mn 46 s 1 mn 29 s 15 mn 59 s 1 mn 25 s 15 mn 37 s

1 25 s 15 mn 45 s 26 s 15 mn 59 s 23 s 15 mn 37 s

Impact significatif pour S1 mais l’indisponibilité reste faible

143
Compromis : durée de réparation, 3ème calculateur
Indisponibilité de STR (par an) pour S0 & S2
en fonction de la durée de réparation (ch = 0.5)

UA A.2.1.0 A.2.1.1
1.E-04

1/ µ ch A.2.1.1 A.2.1.0
1h 0.5 2 mn 20 s 2 mn 16 s
1.E-05 0.8 2 mn 18 s 2 mn 16 s
1.25 h 0.5 2 mn 51 s 2 mn 45 s
0.8 2 mn 47 s 2 mn 45 s
2h 0.5 4 mn 21 s 4 mn 20 s
0.8 4 mn 07 s 4 mn 20 s

1.E-0.
1 2 10
Durée de réparation en heures (1/µ )

Changement de tendance S0/S1

144
Sensitivity analyses
FPP unavailability (per year) vs pal/sec switching duration
Switching 1/β A.2.1.0 A.2.1.2 A.2.1.1
10 mn 18 h 39 mn 18 h 34 mn 18 h 02 mn
6 mn 11 h 33 mn 11 h 28 mn 11 h 02 mn
1 mn 2 h 41 mn 2 h 36 mn 2 h 17 mn
1s 56 mn 46 s 50 mn 59 s 33 s

FPP unavailability (per year) vs replica restart duration


Restart 1/ ν A. 2.1.0 A. 2.1.1 A .2.1.2

1h 6 h 20 mn 5 h 34 mn 6 h 10 mn
10 mn 2 h 41 mn 2 h17 mn 2 h 36 mn
6 mn 2 h 27 mn 2 h 05 mn 2 h 22 mn
1 mn 2 h 10 mn 1 h 50 mn 2 h 05 mn

145
Conclusion
 CAUTRA
 Seule l’architecture S1 satisfait l’objectif moins de 5 mn par an
d’indisponibilité du service de traitement radar
 Meilleure disponibilité pour l’architecture A.2.2.1

 Approche de modélisation
 Modulaire
 Modèles GSPN génériques et réutilisables
 Construction et validation progressive
– meilleure confiance dans le modèle

 Analyse de l’impact des défaillances du CAUTRA sur la sécurité


du trafic aérien
 N. Fota, M. Kaâniche, K. Kanoun, “Dependability Evaluation of an Air Traffic Control Computing System,” 3rd IEEE
International Computer Performance & Dependability Symposium (IPDS-98), (Durham, NC, USA), pp. 206-215,
IEEE Computer Society Press, 1998. Published in.ハPerformance Evaluation, Elsvier, 35(3-4), pp.253-73, 1999

146