DIAGNOSTIC LOGIQUE DES SYSTEMES COMPLEXES DYNAMIQUES DANS UN CONTEXTE MULTI-AGENT THESE DE DOCTORAT Université Joseph Fourier Spécialité : Automatique-Productique présentée par Samir Touaf Le 2 mars 2005 Directeurs de thèse : Jean-Marie Flaus et Stéphane Ploix
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Appréhender la complexité Systèmes physiques spatialement distribués (Métallurgie) Nombreux composants (Métallurgie : capteurs, composants) Adapter le raisonnement diagnostique logique aux systèmes dynamiques Tests de détection hétérogènes Nombre d’alarmes reçues important
Description du problème Hypothèse vraie ou fausse ? Hypothèse vraie ou fausse ? Hypothèse vraie ou fausse ? Détection Test Test Test Symptômes Démarre Test1 Démarre Diagnostic faux Localisation Test2 Analyse Diagnostic Diagnostic global Test3 …
Principe : Test de détection
Principe de non-exonération incohérence Þ comportement réel ¹ comportement modélisé en terme de diagnostic, une incohérence conduit à une conclusion globale certaine (à valeur de preuve) cohérence Þ comportement réel = comportement modélisé au point de fonctionnement considéré en terme de diagnostic, un résultat cohérent conduit à une conclusion locale (relative à la modélisation et au point de fonctionnement actuel) Mesure temps Apparition d’un défaut incohérence à comportement réel différent du comportement modélisé (pas d'équivalence) F Pourquoi une cohérence ne traduit pas nécessairement une absence de défaut ? Que faut-il pour pouvoir conclure à très probable une absence de défaut ? cohérence à comportement réel = comportement modélisé au point de fonctionnement considéré Pour obtenir l'équivalence, il faudrait que la cohérence soit constatée en tout point de fonctionnement. Une incohérence a sens exclusif que la cohérence n'a pas. F Différence entre approche signal et approche système commande libre à approche signal (modèle local) commande contrainte (système asservi) à approche système (modèle global) Exemple : Machines électriques (intérêt de chacune des deux approches)
Exemple : Approche traditionnelle (1) Description du système Représentation d’état:
Exemple : Approche traditionnelle (2) TEST 1 : 1er observateur d'état indépendant de h1 TEST 2 : 2ème observateur d'état indépendant de qe1 TEST 3 :3ème observateur d'état indépendant de h2 et de qe2
Modèle Mathématique (inclut les équations diff.) Formalisme proposé Toute l'information exigée doit être dans les modèles. Modèles avec une information structurelle La relation comportementale (contrainte) entre les variables physiques et les valeurs mesurées (connues) Modèle Mathématique (inclut les équations diff.) Hypothèses sur les états des composants Etat du composant (habituel dans le diagnostic à base de consistance) Condition de validité Validité du modèle: Quand le modèle peut être utilisé Tests Modèle de composant : modélise un composant Ck dans un état donné
Exemple : Système des deux bacs Description du système AN(BH) Composant État AN(RH) AN(BB) AN(RB) Actionneurs et capteurs modélisés AN(H1) AN(H2) AN(VKH) AN(VKB)
Les sous-systèmes testables (SST) Un SST est un ensemble de relations élémentaires : Permet la modélisation d’un sous-système physique, Conduit à au moins une fonction de test, Ne comporte pas d’hypothèses contradictoires, Ne contient pas d'autres sous-systèmes testables que lui-même. Un SST peut conduire à plusieurs tests possibles basés sur des algorithmes différents (détection à base de modèle analytique, détection à base d’algorithme causal, détection à base d’algorithme de traitement de signal,…) Modèle comportemental d’un sous-système testable Condition de validité d’un sous-système testable Hypothèses sur l’état des composants vérifiés par le test test Conduit
Exemple de sous-système testable Support du test Validité du test Hypothèse du test
Exemple de sous-système testable tests de détection à base d’algorithmes de traitement du Signal tests de détection à base de modèles analytiques tests de détection à base d’algorithmes Neuronaux tests de détection à base de modèles Causaux « Génération de symptômes » Symptôme: Référence du test (algorithme) Résultat du test (Alarme | Pas d’Alarme) Validité du modèle Instant de détection Composants testés Analyse diagnostique
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Fiabiliser les tests de détection Exploiter la validité du modèle dans l’analyse diagnostique
Description du problème Seuils de détection 5000 10000 15000 20 40 qe1 5 qe2 -100 100 h1 -50 50 h2 -0.05 0.05 r1 -0.2 0.2 r2 -0.5 0.5 r3 1 Alarme Pas d’alarme Diagnostics Rien du tout ! Que s'est-il passé ? Rien du tout mais (validité n’est pas prise en compte)
Prendre en compte la validité du modèle Test 1 Test 2 Test 3
Définition de base d’un test de détection Résultat du test Validité du modèle Modèle comportemental d’un SST Condition de validité d’un SST Hypothèses sur l’état des composants vérifiés par le test Sans exonération Avec exonération Si un test de détection est invalide alors les hypothèses vérifiées par le test peuvent être soit vraies ou fausses.
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Garantir l’analyse diagnostique Diagnostics garantis si les tests de détection sont justes Diagnostic erroné possible si corrigé Tous les défauts ne sont pas équiprobables
Description du problème Diagnostic Erreur de diagnostic AN( H1 ) Pas d’alarme 1 Alarme Que s'est-il passé ? Biais sur H2 (2 cm) et sur VKH (0.2 l/s) (Les défauts multiples ne sont pas trouvés)
Garantir l’analyse diagnostic Une analyse garantie permet de remonter aux fausses alarmes. Acquisition de données (Observations) Variables connues (les mesures) Modèles de références (Desc. du système) (Modèle + Validité+ hypothèse) Construction des SST Raisonnement diagnostic tests de détection (Signal) tests de détection (Observateur) tests de détection (Causal) tests de détection (Neuronal) « génération de symptômes » Symptômes Analyse diagnostique logique Compare le comportement réel d’un système physique à des modèles de référence Stratégie de diagnostic Analyse les symptômes fournis par les tests de détection Le résultats diagnostic (Composants en défauts,….) Quel test ? Quand ? Quand ré-initialiser un test ? Déclenchement des tests MF ?
[Reiter, 1987] corrigé par [Greiner et al., 1989] Calcul des diagnostics minimaux [Reiter, 1987] corrigé par [Greiner et al., 1989] Matrice de composition Þ Matrice des hypothèses Un test inconsistant (Alarme) Þ un conflit Conflits minimaux : { AN(BH), AN(RH), AN(BB), AN(RB), AN(H2), AN(VKH), AN(VKB)} { AN(RH), AN(BB), AN(RB), AN(H1), AN(H2), AN(VKB)} (recherche de diagnostic par Matrice dynamique)
Recherche par Matrice dynamique L'analyse diagnostique consiste à déduire un diagnostic en terme de composants défaillants à partir des symptômes disponibles. Diagnostics minimaux sûrs [Reiter, 87] : D = {AN(RH), AN(BB), AN(RB), AN(H2), AN(VKB), AN(BH)^AN(H1), AN(H1) ^AN(VKB) }
Exemple d’analyse diagnostique garantie Pas d’alarme 1 Alarme Diagnostics AN(H1) AN(RH) AN(BH) AN(BB) | AN(BH) AN(RB) AN(BH) AN(H2) | AN(BH) AN(VKB) AN(BB) AN(VKH) | AN(RB) AN(VKH) AN(H2) AN(VKH) | AN(VKH) AN(VKB) Que s'est-il passé ? Biais sur h2 (2 cm) et sur qe1 (0.2 l/s) (Les défauts multiples sont trouvés)
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Améliorer la sensibilité de l’analyse diagnostique Fournir des pré-diagnostics avant qu’un défaut soit avéré Tous les tests de détection ne conduisent pas toujours à des décisions sûres Exploiter les incertitudes pour la hiérarchisation des diagnostics
Prendre en compte l’incertain Incertitudes de décision 1 Zones de doute Seuil 2 - Seuil 2 - Seuil 1 Pas d’alarme Alarme D Fonction d’appartenance Principe : traduction en logique floue Sans exonération Avec exonération Test Invalide
Traitement des symptômes Référence du test (algorithme) Résultat du test Validité du modèle Instant de détection Validité du modèle Résultat du test Fonction de fusion La décision finale “Niveau de confiance du test de détection”
Description du problème Biais sur qe1 (0.2 l/s) 5000 10000 15000 5 10 qe1 qe2 -20 20 h1 -50 50 h2 0.5 1 0,68 Diagnostics Niveau de confiance AN(BH) AN(RH) AN(H1) AN(VKH) formel 0,68 circ. 0,56 0,23
Prendre en compte l’incertain 1) Il n’existe pas de symptômes sûrs : Symptômes / ignorés Diagnostics simple AN(Ci ) et vraisemblance Exemple Symptômes Test 1 0.2 Test 2 0.6 Test 3 0.8 ¬AN(C1) ¬AN(C2) ¬AN(C3) ¬AN(C4) ¬AN(C5) ¬AN(C6) Test 1 1 Test 2 Test 3 Vraisemblance des diagnostics
Prendre en compte l’incertain 2) Il existe des symptômes sûrs : Diagnostics sûrs, ils correspondent aux diagnostics à base de consistance, Vraisemblance des diagnostics : Exemple Symptômes Test 1 1 Test 2 0.6 Test 3 ¬AN(C1) ¬AN(C2) ¬AN(C3) ¬AN(C4) ¬AN(C5) ¬AN(C6) Test 1 1 Test 2 Test 3
Plausibilité circonstancielle Distance de Hamming entre signatures de défaut et la signature des symptômes Exemple Symptômes Test 1 0.2 Test 2 0.6 Test 3 0.8 ¬AN(C1) ¬AN(C2) ¬AN(C3) ¬AN(C4) ¬AN(C5) ¬AN(C6) Test 1 1 Test 2 Test 3 1 Symptôme 1 Symptôme 2 Test 1 1 Test 2 Test 3 Plausibilité circonstancielle
Retrouver les tests défaillants Alarme (100%) Résultats des tests Retrouver les tests défaillants ??? Diagnostics AN(BH) | AN(H1) | AN(VKH) AN(RH) État réel du système ‘ VKB ’ Vérifier l’état réel du système
Retrouver les tests défaillants VKB défaillant implique : Fause alarme : test 3 (100%) non-détection tests 1 (100%) non-détection tests 2 (100%) VKH & HB défaillants implique : diagnostic juste Diagnostics AN(BH) | AN(H1) | AN(VKH) AN(RH) Conclusion Une erreur conduit à une désactivation Une non-détection est seulement prise en compte dans les statistiques sur les tests
Plan de l’exposé Introduction Appréhender la complexité Fiabiliser les tests de détection Garantir l’analyse diagnostique Améliorer la sensibilité de l’analyse diagnostique Appréhender la distribution spatiale et l’évolutivité Conclusion générale Perspectives
Appréhender la distribution spatiale et l’évolutivité Concevoir une architecture SMA Système communicant Système ouvert (Plug and play)
Système de diagnostic distribué MAGIC (Multi-Agents Based Diagnostic Data Acquisition and Management in Complex systems) architecture horizontale, non hiérarchique, distribuée SCADA (temps réel) Description du Système Environnement Agents écouteurs Agents testeurs Agent Diagnostic Communication Spécialisée Communication FIPA Agent Maintenance Constructeur d’agent Agent IHM Opérateur
Architecture et Communication entre agents Couche spécifique DA Couche de Communication Algorithmes (et interfaces graphiques ) Infrastructure de communication C++ Architecture d’un agent dans MAGIC Signal Couche spécifique DA Couche de Communication Modèle Analytique “Observateur“ Couche spécifique DA Couche de Communication Couche spécifique Diagnostic Decision Agent (DDA) Couche de communication Raisonnement diagnostic Détection des fausses alarmes Stratégie de diagnostic CORBA / FIPA Symptôme: Référence de l’agent Résultat du test Validité du modèle Instant de détection Composants testés Agent A Cerveau CORBA FIPA / spécialisé Agent B CL
Agent d’Analyse diagnostique dans MAGIC Principales relations entre l’agent d’analyse diagnostique et les autres agents MAGIC
Conclusion générale Notre contribution est : Adaptation des algorithmes de détection et d’analyse diagnostique au contexte distribué. Prise en compte de la validité. Approche garantie de diagnostic. Prise en compte d’informations graduelles sur le déclenchement des alarmes. Proposition d’indicateurs de performance pour le choix d’une stratégie diagnostic Contribution à la conception d’un SMA pour le diagnostic (distribution spatiale et évolutivité).
Perspectives Génération automatique des tests de détection Prise en compte du mauvais fonctionnement dans l’analyse diagnostique Distribuer l’analyse diagnostique en utilisant le paradigme multi-agent
MERCI !