Post on 05-Jan-2016
description
"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri"
Hamid DEMMOULAAS/CNRS
Atelier «Analyse et évaluation de la sûreté de fonctionnement a base de modèles »
du club SEE-SIC
Jeudi 2 février 2006
• Méthodes classiques de sûreté de fonctionnement peu efficaces• Explosion combinatoire des états, difficulté d’une recherche exhaustive
Problème
Problématique
• Étude de la fiabilité et de la sécurité de systèmes (complexes, hybrides mais avec forte composante discrète) comprenant des mécanismes de reconfigurations• Caractérisation et recherche de scénarios critiques menant à des situations redoutées.
Objectif
Recherche d’une démarche analogue aux arbres de défaillance permettant la prise en compte du comportement dynamique
Solution ?
•Liste d’événements ordonnée
– Étiquetage des événements : permet de différencier les événements même si ils correspondent à des instances d’un même événement
•Ordre d’apparition de ces événements
– Ordre partiel comme information sur la causalité
– « A précède B » car « A est cause de B » et non pas simplement temporellement
Scénario ?
« Un scénario redouté est une liste d ’événements qui conduisent d’un état de fonctionnement normal à un état redouté avec une relation d’ordre partiel entre ces événements »
Approche ?• Arbres de défaillances: réponse partielle car
• non prise en compte de l’ordre d’occurrence des événements• délai entre événements non explicitement exploité• pas de prise en compte des reconfigurations
• Simulation: problématique des événements rares ( solution avec technique d’accélération)
• Analyse de modèles à événements discrets (automates, réseau de Petri)
• exploration du graphe d’accessibilité explosion combinatoire
Extraction du scénario directement du modèle réseau de Petri
• utilisation de la notion de causalité
• Logique linéaire : cadre formel
Relation réseau de Petri – Logique linéaire
Représentation d’un réseau de Petri en logique linéaire
Un marquage est un monôme en « FOIS » Basée sur des instances de franchissement de transitionsUn franchissement d’une séquence est un séquent
t1: A BA
B
D
E
C C
t2: C D E
(A A B), A B C A CM0 Mn :t1
t1 t2
M0 0 Mn
• Il y a un arbre de preuve pour chaque séquence de franchissement possible
• 4 séquences : (a; b; c) (b; a; c) (a; c; b) (b; c; a)
• Double étiquetage pour expliciter les causalités
• Règle d’élimination de l’implication transition+nombre
• Par atome (soit produit, soit consommé) place+nombre
• On obtient le graphe de précédence
p1
a
p2
p3
p4
b
c
Séquent de logique Linéaire
p1(I1) p2 (I
2), p1-o p3, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)
a1p3 (a
1), p2, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)p1 (I1) |- p1 (a
1)
p3 (a1), p3 (b
1), p3-o p4 |- p3 (F1) p4 (F
2)p2 (I2) |- p2 (b
1)
p3 (b1), p4 (c
1) |- p3 (F1) p4 (F
2)p3 (a1) |- p3 (c
1)
p4 (c1) |- p4 (F
2)p3 (b1) |- p3 (F
1)
c1
b1
p1(I1), p2 (I
2), p1-o p3, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)
p1(I1) p2 (I
2), p1-o p3, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)
a1p3 (a
1), p2, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)p1 (I1) |- p1 (a
1)
p3 (a1), p3 (b
1), p3-o p4 |- p3 (F1) p4 (F
2)p2 (I2) |- p2 (b
1)
p3 (b1), p4 (c
1) |- p3 (F1) p4 (F
2)p3 (a1) |- p3 (c
1)
p4 (c1) |- p4 (F
2)p3 (b1) |- p3 (F
1)
c1
b1
p1(I1), p2 (I
2), p1-o p3, p2-o p3, p3-o p4 |- p3 (F1) p4 (F
2)
Preuve : a ; b ; c
p1
a
p2
p3
p4
b
c
Relation réseau de Petri – Logique linéaire
a1
p3
p4
p3
b1
c1
F2
F1
p1 p2
I1 I2
Relation réseau de Petri – Logique linéaireConstruction d’un arbre de preuves du séquent• procédure simple (utilisation de deux règles)• taille de l’arbre proportionnelle au nombre de franchissement dans le séquent
Construction d’un graphe de précédence Relation de causalités entre les instances de franchissement des transitions
I1
I2
F1
F2
A
B
C
E
D
t11
t12
I: événement de production d’un jeton initial
F: événement de consommation d’un jeton final
Construire un modèle Réseau de Petri du système (hybride)
Raisonnement arrière : recherche de causalité sur le RdP inversé
Raisonnement avant : identifier les bifurcations sur le RdP initial
Critère d’arrêt : rencontrer des états de fonctionnement nominal
Principe de la méthode
Méthode de recherche de scénarios (1)
Détermination des états nominaux (qualitativement ou quantitativement)
Détermination des états partiels redoutés
E.P.R
E.P.N.2
E.P.N.1
E.P.N.3
E.P.D
Etats du système
Raisonnement arrière
Démarrer à partir de l’état partiel redouté Objectif : déterminer l’état normal à partir duquel le système va aller vers l’état redouté. Seuls les transitions nécessaires sont franchies. Les objets sont introduits par nécessité et progressivement. Critère d’arrêt : arrivée sur un état normal. Objet 1
Objet 2
Principe :–E.P.R : État Partiel Redouté
–E.P.D : État Partiel Dégradé
–E.P.N : État Partiel Normal
Raisonnement avant
E.P.R
E.P.N.2
E.P.N.1
E.P.N.3
E.P.D
Objet 1
Objet 2Scenario 1
Scenario 2
•Objectif : déterminer l’accessibilité de l’état redouté à partir d’un état normal conditionneur ( arrêt du raisonnement arrière , étape précédente)
•Démarrer à partir de chaque état normal.
•Analyse des bifurcations
•Introduction des objets en lien avec le scénario
•Obtention d’informations plus précises sur le contexte d’apparition de l’état redouté
Modélisation
Approche objets:
• maîtrise de la complexité
• recherche introduisant les objets concernés par un scénario
seulement au moment de leur intervention
Choix de modélisation:
• chaque classe = un réseau de Petri Prédicat-Transition-Différentiel
• un objet = un ou plusieurs jetons dans le RdP de sa classe
• les variables jetons = attributs des classes
• méthode d’une classe = une transition dans le RdP de la classe
•Appel de méthodes = fusion de transition
Exemple d’application
Pompe1
calculateur
V2min
V2max
EV3((électrovan
ne de secours)
ds1ds2
EV2
Capteurs
EV1
pompe2
réservoir
1
V2LV2S
Modes de défaillance
EV1 et EV2 : bloqué ouvert
EV3 : Hors Service
V1min<V1max<V1L<V1S
Réservoir
de vidange
V1min
V1max
V1LV1S
réservoir2
Classe Réservoir
Model of the tank1
V1_dec
t12(T1min)
V1_dec
V1_cr
E_red1
t11(T1max)
t13(T1s)
t14(T1L)
t15(T1min)
t1 t2
t41
t51 Model of the tank2
V2_dec
t22(T2min)
V2_dec
V2_cr
E_red2
t21(T2max)
t23(T2s) t24(T2L)
t25(T2min)
t3 t4
t42
t52
• 3 classes pour ce système : réservoir, électrovanne et électrovanne de secours.
• Deux objets (réservoir 1 réservoir 2) instances de la classe réservoir.
• Deux objets (EV1 et EV2 ) instances de la classe électrovanne
• Un objet (EV3) instances de la classe électrovanne de secours
• Les seuils de volume correspondant aux fonctions d’activation du réseau de Petri PTD sont transformés en durées (contraintes temporelles).
Classe Réservoir
2 objets (EV1 and EV2 ) instances de la classe électrovanne.
Classes électrovannes
EV1_BFEV1_BO
Modèle électrovanne 1
Rep1_F
t1
def1_O
def1_f
EV1_F
Rep1_O
EV1_O t2
EV2_BFEV2_BO
t3
Modèle électrovanne 2
Rep2_Fdef2_O
def2_f
EV2_F
Rep2_O
EV2_Ot4
EV3_oc1
EV3_OK
EV3_HS
t41
t51 t52
t42
def3
Modèle électrovanne 3
Objet (électrovanne de secours). instance de la troisième classe.
Réservoir 1
Raisonnement arrière
t12(T1min)
V1_dec
V1_cr
E_red1
t13(T1s)
t14(T1L)
t15(T1min)
t11(T1max)
• On s’intéresse à l'état redouté de l'objet réservoir 1. L'analyse débute donc dans cet objet.
• Le raisonnement commence avec l'introduction d'un jeton dans la place E_red1.
V1_dec
• Arrêt du raisonnement arrière et V1_cr: état conditionneur pour l'étape suivante
•Seule la transition t13 est franchissable.
• franchissement de t13
un jeton dans V1_cr
•V1_cr: place normale
17
Réservoir 1Electrovanne 1
Raisonnement avant(1er scenario)
EV1_BF
EV1_BO t1
Rep1_F
def1_O
def1_f
EV1_F
Rep1_O
EV1_O
t2
V1_dec
t12(T1min)
V1_dec
V1_cr
E_red1
t11(T1max)
t13(T1s)
t14(T1L)
t15(T1min)
t1t2
t41
t51
État conditionneur: V1_crContraintes de seuil: t11<t14<t13
•t11 : partagée entre 2 objets
• Recherche, dans l’objet partageant t11 avec le réservoir 1, des événements qui interdisent le franchissement de t11
•Analyse de l’objet EV_1, avec un jeton dans EV1_O (enrichissement de marquage) et t1 interdite.
Le franchissement de def1_O rend t1 et t11 non franchissables
Electrovanne de secours
EV1_BF
EV1_BOt1
Rep1_F
def1_O
def1_f
EV1_F
Rep1_O
EV1_O
t2
V1_dec
t12(T1min)
V1_dec
V1_cr
E_red1
t11(T1max)
t13(T1s)
t14(T1L)
t15(T1min)
t1 t2
t41
t51
Raisonnement avant(1er scenario)
t1 interdite franchissement de def1_O
t14 sensibilisée mais partagée avec EV3
introduction de l’objet EV3 avec un jeton dans EV3_OK
EV3_oc2EV3_oc1
EV3_OK
EV3_HS
t41
t51 t52
t42
def3
def3 ou t42 franchie interdit t14
franchissement de def3
franchissement de t13
19
Scenarios
scenario redouté 1
Ered_1 t13 I1
V1_cr
Réservoir1
EV1_BO def1_O E1
EV1_O
EV1
EV3_HS def 3
EV3
EV3_OK
F1
F2
F3
EV1_BO
def1 _O EV1_O
EV1
F1
EV2_BO def2 _O EV2_O
EV2
F2
t42 E3 EV3_OK F3
EV3
EV3_oc2
t24 E4 V2_cr
F4
Réservoir 2
V2_dec
Ered_1 t13 I1 V1_cr F3
Réservoir 1
scenario redouté 2
E2
E1
E2
CSA PetriNet en interface avec TINACSA PetriNet en interface avec TINA
Scénariosredoutés
ESA PetriNetESA PetriNet
TINA ESAPetriNetESAPetriNet
Systèmes mécatroniques
Modèle RdP Fichiers d’entrée
Outil de recherche de scénarios critiques
Minimalité des scénarios• Projet FERIA-SVF: Étude comparative de différentes méthodes
et outils pour la recherche de scénarios particuliers
• à partir de modèles automates ou Rdp
• utilisant la logique temporelle ou la logique linéaire
• identification de scénarios
• définir la minimalité
On veut pouvoir engendrer tous les scénarios possibles avec un nombre minimal de scénarios de base
Un scénario minimal est un représentant d’une classe de scénarios
def rep def rep def
événement significatif pour le scénario redouté : def non suivi de rep
Minimalité des scénarios
EV1_O def1_O EV1_BO
EV3_OK def3 EV3_HSV1_cr t13 E_red1
EV2_OK def2_O EV2_HS Non nécessaire
Minimalité des marquages partiels initiaux
Scénario 1
• Il faut éliminer les boucles
• Il faut éliminer les événements non nécessaires
scénarios se déroulant en parallèle avec le scénario redouté
• Il faut éliminer les relations de précédence non nécessaires
Minimalité des scénarios
EV1_O def1_O EV1_BO
EV3_OK def3 EV3_HS
V1_cr t13 E_red1
EV2_OK def2_O EV2_HS
Recherche des scénarios sous forme d’ordre partiel le moins restrictif
Partir d’une coupe minimale de la formule logique définissant l’ état redouté
En déduire le marquage partiel initial
Appliquer le raisonnement arrière et franchir les transitions franchissables en notant les relations de précédence obligatoires et en mémorisant un historique de franchissement des transitions ((problème des boucles)
Rajouter des jetons (enrichissement du marquage) si c’est strictement nécessaire (et cohérent avec le modèle du système).
Appliquer le raisonnement avant
Minimalité des scénarios
Conclusion • En exploitant l’approche objet nous avons pu procéder à une analyse
locale en ne faisant intervenir d’autres objets que si c’est strictement nécessaire
• L’introduction d’échéances temporelles correspondant à des seuils sur les variables continues permet de diminuer le nombre de scénarios obtenus
• L’algorithme peut également être utilisé pour des besoins de vérification de contraintes temporelles (raisonnement avant seulement)
• Présentation des scénarios sous forme de graphe de précédence représentant des ordres partiels.
• Développement d’un outil pour appuyer la démarche