"Recherche de scénarios redoutés à partir d'un modèle réseau de Petri" Hamid DEMMOU LAAS/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
Problématique Objectif É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. Problème Méthodes classiques de sûreté de fonctionnement peu efficaces Explosion combinatoire des états, difficulté d’une recherche exhaustive Solution ? Recherche d’une démarche analogue aux arbres de défaillance permettant la prise en compte du comportement dynamique
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 » 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
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 transitions Un franchissement d’une séquence est un séquent C A t1 t2 D t1: A B C t2: C D E E B t1 M0 Mn : (A A B), A B C A C M0 0 Mn
Séquent de logique Linéaire 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
Relation réseau de Petri – Logique linéaire Preuve : a ; b ; c
Relation réseau de Petri – Logique linéaire Construction 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 F1 A D I: événement de production d’un jeton initial F: événement de consommation d’un jeton final C t11 t12 B E I2 F2
Méthode de recherche de scénarios (1) Principe de la méthode Construire un modèle Réseau de Petri du système (hybride) Détermination des états nominaux (qualitativement ou quantitativement) Détermination des états partiels redoutés 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
Raisonnement arrière Principe : E.P.R : État Partiel Redouté E.P.D : État Partiel Dégradé E.P.N : État Partiel Normal Etats du système Objet 2 E.P.N.3 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. E.P.N.2 E.P.N.1 E.P.D E.P.R Objet 1
Raisonnement avant 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é Scenario 2 Scenario 1 Objet 2 E.P.N.3 E.P.N.2 E.P.N.1 E.P.D E.P.R Objet 1
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 V1min<V1max<V1L<V1S calculateur EV1 EV2 Pompe1 pompe2 V2S V1L V1S Capteurs V2L V1max V2max V2min V1min réservoir1 réservoir2 ds2 ds1 EV3((électrovanne de secours) Réservoir de vidange Modes de défaillance EV1 et EV2 : bloqué ouvert EV3 : Hors Service
Classe Réservoir Classe Réservoir 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). V1_dec V2_dec t11(T1max) t12(T1min) t21(T2max) t22(T2min) t3 t2 t4 t1 V2_cr V1_cr t14(T1L) t24(T2L) t23(T2s) t42 t13(T1s) t41 V2_dec V1_dec E_red2 t25(T2min) E_red1 t15(T1min) t52 t51 Model of the tank2 Model of the tank1 Classe Réservoir
Classes électrovannes EV1_F EV2_F EV1_O EV2_O t2 t4 Rep1_O def1_O def2_O Rep1_F Rep2_O Rep2_F def1_f def2_f EV1_BO EV1_BF EV2_BO EV2_BF Modèle électrovanne 1 Modèle électrovanne 2 2 objets (EV1 and EV2 ) instances de la classe électrovanne. t41 t42 EV3_OK EV3_oc1 t51 def3 t52 Objet (électrovanne de secours). instance de la troisième classe. EV3_HS Modèle électrovanne 3
Raisonnement arrière 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. Réservoir 1 V1_dec t11(T1max) t12(T1min) Seule la transition t13 est franchissable. franchissement de t13 V1_cr t14(T1L) t13(T1s) V1_dec un jeton dans V1_cr V1_cr: place normale E_red1 t15(T1min) Arrêt du raisonnement arrière et V1_cr: état conditionneur pour l'étape suivante
Raisonnement avant(1er scenario) Electrovanne 1 État conditionneur: V1_cr Réservoir 1 Rep1_O Contraintes de seuil: t11<t14<t13 EV1_O V1_dec def1_O t11(T1max) t12(T1min) 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 t2 t1 EV1_BO t1 t2 def1_f V1_cr t14(T1L) EV1_F EV1_BF t13(T1s) t41 Rep1_F V1_dec t15(T1min) E_red1 t51 Le franchissement de def1_O rend t1 et t11 non franchissables Analyse de l’objet EV_1, avec un jeton dans EV1_O (enrichissement de marquage) et t1 interdite.
Raisonnement avant(1er scenario) t1 interdite franchissement de def1_O Rep1_O t14 sensibilisée mais partagée avec EV3 EV1_O V1_dec introduction de l’objet EV3 avec un jeton dans EV3_OK def1_O EV1_BO t11(T1max) t12(T1min) t2 t1 t1 t2 def3 ou t42 franchie interdit t14 def1_f V1_cr franchissement de def3 t14(T1L) EV1_F EV1_BF t13(T1s) t41 franchissement de t13 Rep1_F V1_dec t15(T1min) Electrovanne de secours E_red1 t41 t42 t51 EV3_OK EV3_oc2 EV3_oc1 t51 def3 t52 EV3_HS
Scenarios t def1_O def 3 scenario redouté 1 t t t scenario redouté 2 EV1_O EV1_BO E1 def1_O F 1 V1_cr t Ered_1 EV1 I F 13 1 3 Réservoir1 EV3_OK EV3_HS E2 def 3 F EV3 2 scenario redouté 1 EV1_O EV1_BO E1 F def1 _O 1 V1_cr t Ered_1 EV3_OK t F3 EV1 E EV3_oc2 F I 1 13 3 42 3 Réservoir 1 EV3 E2 EV2_O def2 _O EV2_BO F 2 V2_cr V2_dec EV2 E t F 4 24 4 Réservoir 2 scenario redouté 2
Systèmes mécatroniques Outil de recherche de scénarios critiques CSA PetriNet en interface avec TINA Scénarios redoutés ESA PetriNet TINA ESAPetriNet Systèmes mécatroniques Modèle RdP Fichiers d’entrée
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
Minimalité des scénarios Il faut éliminer les boucles def rep def rep def événement significatif pour le scénario redouté : def non suivi de rep Il faut éliminer les événements non nécessaires scénarios se déroulant en parallèle avec le scénario redouté Scénario 1 EV1_O def1_O EV1_BO V1_cr t13 E_red1 EV3_OK def3 EV3_HS Non nécessaire EV2_OK def2_O EV2_HS Minimalité des marquages partiels initiaux
Minimalité des scénarios Il faut éliminer les relations de précédence non nécessaires EV1_O def1_O EV1_BO V1_cr t13 E_red1 EV3_OK def3 EV3_HS EV2_OK def2_O EV2_HS Recherche des scénarios sous forme d’ordre partiel le moins restrictif
Minimalité des scénarios 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
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