• Aucun résultat trouvé

Recherche des SST par la méthode structurelle

Dans le document Sur le diagnostic interactif (Page 114-119)

4.3 Génération des sous-systèmes testables (SST) en prenant en compte les diffé-

4.3.1 Recherche des SST par la méthode structurelle

Dans cette partie, l’approche structurelle pour la génération des sous-systèmes testables est présentée. Cette méthode a été présentée dans (Ploix et al. [2005b]) et a été améliorée par (Yassine [2008]), (Ploix et al. [2009, 2010]). Commençons par le rappel de la définition de l’ensemble de contraintes solution (Yassine [2008]).

Définition 4.3.1. (Ensemble de contraintes solution) Supposons que K soit un en-semble de contraintes, var(K) est l’enen-semble des variables apparaissant dans K et v une variable dans var(K) caractérisée par son domaine dom(v). K est un ensemble de contraintes solution pour v si en utilisant K, il est possible de trouver un en-semble de valeurs S pour v tel que S ⊂ dom(v). Un enen-semble de contraintes solution pour v est minimal si il n’existe pas de sous-ensemble de K qui soit également un ensemble de contraintes solution pour v. Un ensemble minimal de contraintes solution K pour v est noté : K ` v.

La définition de sous-système testable (SST) est introduit.

Définition 4.3.2. (sous-système testable) Supposons que K soit un ensemble de contraintes. K est testable si et seulement si il existe deux sous ensembles distincts K1⊂ K, K2⊂ K tels que K1* K2 et K2* K1, et une variable v ∈ var(K) tel que K1` v et K2` v. Si cette propriété est satisfaite, il est en effet possible de vérifier si l’ensemble de valeurs S1 déduit de K1 est consistant avec l’ensemble de valeurs S2déduit de K2: S1∩ S26= /0.

Par extension, un sous-système testable est considéré dans ce travail comme un ensemble de modèles élémentaires (section 2.1.4, page 30).

L’approche structurelle pour la génération des sous-systèmes testables permet de remédier à des limites soit en terme de complexité de calcul, soit en en terme de classe de systèmes adressables. Elle permet de tenir compte de la déductibilité (Yassine [2008]) des variables par

valeurs

rapport aux contraintes. L’idée principale de cette approche est d’utiliser l’opérateur jointure venant de l’algèbre relationnel pour propager entre les contraintes (appelées aussi structure) via les variables communes. La propagation de variables (et non de valeurs) permet de chercher tous les SSTs possibles. Cette approche est intégrée dans le logiciel DXLab développé au laboratoire G-SCOP.

Exemple 14. Prenons ici l’exemple simple d’un système d’éclairage dans le bâtiment. Dans cet exemple, nous allons considérer la description du modèle du système disponible lors d’une itération (figures 4.5 et 4.6) dans le processus de diagnostic pour voir comment les SSTs sont générés aux différent niveaux d’abstraction du modèle. Cet exemple sera détaillé plus tard avec plusieurs étapes d’interaction dans la partie application pour illustrer comment un processus de diagnostic avec interaction durant la phase de modélisation se manifeste. Pour marquer la différence avec le problème précédent avec interaction durant la phase de test, cet exemple est présenté avec l’hypothèse que l’expert ne peut pas déterminer si un test est vrai ou faux. Il a besoin de l’outil d’aide au diagnostic pour générer les symptômes.

FIG. 4.5 – Modélisation FIS

Tout commence lorsqu’un client informe l’outil d’aide au diagnostic que le système d’éclairage dans le bâtiment est défectueux. L’expert commence le processus de diagnostic pour localiser les défauts. Il commence par construire le modèle du système. Au fur et à me-sure, le modèle du système est construit à différents niveaux d’abstraction (4.5).

dom(C)={on, off}, L est la lumière, dom(L)={présent, absent}.

Modes V C (position L

(tension) du contacteur) (lumière)

ok présent on présent

TAB. 4.1 – Contrainte k1(fonction allumer la lumière)

Il détaille la fonction I1 en intégrant une tension électrique . Une ressource d’entrée de I1 est I4 (le circuit électrique). Le modèle de comportement de I4 est décrit par le modèle élémentaire (ok(I4), k4) avec k4 représenté par le tableau 4.2. V est la tension avec dom(V)={présent, absent}.

Modes V (tension) C (position du L(lumire) C contacteur) L(lumire)

ok présent off absent

ok présent on présent

ok absent off absent

ok absent on absent

TAB. 4.2 – Contrainte k4

(le circuit électrique)

Il enrichit le modèle par la fonction I5(alimenter en énergie électrique). I5est décrit par le modèle élémentaire (ok(I5), k5) avec k5 représenté par le tableau 4.3. La variable D est la position du disjoncteur avec dom(D)={fermé, ouvert}. I6(le secteur électrique et I7(le disjoncteur) sont deux ressources d’entrée de la fonction I5. I8 est un observateur sur la position du disjoncteur. I8est décrit par (ok(I8), k8: D = eD).

Modes D (position V (tension)

du disjoncteur)

ok fermé présent

ok ouvert absent

TAB. 4.3 – Contrainte k5(fonction alimenter en énergie électrique

L’expert décompose et enrichit le modèle en décomposant la fonction I1(allumer la lu-mière) en la sous-fonction I9(allumer la lumière blanche) pour tester. I9est décrit par le modèle élémentaire (ok(I9), k9). k9est représenté par le tableau 4.4. P est la position du commutateur avec dom(P) = {xblanc, xjaune}. I11(contacteur), I12(commutateur) et I13

valeurs

(lampe blanche) sont les ressources d’entrée de la fonction I9. I10est un observateur sur la position du commutateur. I10 est décrit par (ok(I10), k10: P = eP). I14 est un observa-teur sur la position du commutaobserva-teur. I14 est décrit par (ok(I14), k14: Lblanc= ]Lblanc).

Modes V C P Lblanc

ok présent on xblanc présent

TAB. 4.4 – Contrainte k9(fonction allumer la lumière blanche)

L’expert décompose et enrichit le modèle en décomposant la fonction I1(allumer la lu-mière) en autre sous-fonction I15 (allumer la lumière jaune) pour tester. I15est décrit par le modèle élémentaire (ok(I15), k15). k15 est représenté par le tableau 4.5. I11 (contac-teur), I12 (commutateur) et I16 (lampe jaune sont les ressources d’entrée de la fonction I15. I17 est décrit par (ok(I17), k17: Ljaune= ^Ljaune).

Modes V (tension) C (position P (position Ljaune(lumière)

du contacteur) du commutateur)

ok présent on xjaune présent

TAB. 4.5 – Contrainte k15 (fonction allumer la lumière jaune)

Afin de chercher les SSTs, la structure des contraintes est fournie à DXLab (voir annexe B pour le détail sur la méthode structurelle de génération des SSTs). La structure des contraintes et les variables sont présentées sur la figure 4.6. Dans cette figure, chaque boîte rectangulaire représente un modèle élémentaire qui comporte une contrainte décrivant un mode. Chaque cercle représente une grandeur physique. Les variables impliquées dans les modèles élémen-taires se connectent via des variables d’une même grandeur physique. Ces connexions peuvent être partielles ou complètes (voir la section 2.1.4).

La recherche des SSTs ne s’appuie que sur les items avec des modèles de comporte-ment disponibles. L’ensemble des items avec des modèles de comportecomporte-ment disponibles sont {I1, I2, I3, I4, I5, I8, I9, I10, I11, I14, I15, I17} (figure 4.5). Ils sont fournis à DXLab par :

FIG. 4.6 – Modèle de comportement du système k01= |{−}, {L,V,C}| models I1 k02= |{−}, {C}| models I2 k03= |{−}, {L}| models I3 k04= |{−}, {L,V,C}| models I4 k05= |{−}, {V, D}| models I5 k08= |{−}, {D}| models I8 k09= |{−}, {V, P,C, Lblanc}| models I9 k10= |{−}, {P}| models I10 k14= |{−}, {Lblanc}| models I14 k15= |{−}, {V, P, Ljaune,C}| models I15 k17= |{−}, {Ljaune}| models I17

|{variables non-déductives},{variables déductives}| donne la structure d’un modèle élé-mentaire correspondant à une contrainte. Dans cet exemple, les contraintes sont données sous forme de tables de comportement. Les variables sont considérées comme déductibles. L’en-semble de variables non-déductibles dans chaque structure est vide. Les sous-systèmes tes-tables (SST) minimaux sont trouvés par DXLab.

valeurs SST01: support = k15[I15], k9[I9], k14[I14], k10[I10], k2[I2], k17[I17] Formula = ((((k15− P − k10) − Ljaune− k17) −C − k2) −V − (((k9− P − k10) −C − k2) − Lblanc− k14)) SST02: support = k9[I9], k14[I14], k10[I10], k3[I3], k2[I2], k1[I1] Formula = (((k1− L − k3) −C − k2) −V − (((k9− P − k10) −C − k2) − Lblanc− k14)) SST03: support = k15[I15], k10[I10], k3[I3], k2[I2], k1[I1], k17[I17] Formula = (((k1− L − k3) −C − k2) −V − (((k15− P − k10) − Ljaune− k17) −C − k2)) SST04: support = k9[I9], k14[I14], k10[I10], k4[I4], k3[I3], k2[I2] Formula = (((k4− L − k3) −C − k2) −V − (((k9− P − k10) −C − k2) − Lblanc− k14)) SST05: support = k15[I15], k10[I10], k4[I4], k3[I3], k2[I2], k17[I17] Formula = (((k4− L − k3) −C − k2) −V − (((k15− P − k10) − Ljaune− k17) −C − k2)) SST06: support = k9[I9], k14[I14], k8[I8], k5[I5], k10[I10], k2[I2] Formula = ((k5− D − k8) −V − (((k9− P − k10) −C − k2) − Lblanc− k14)) SST07: support = k4[I4], k3[I3], k2[I2], k1[I1] Formula = (((k4− L − k3) −C − k2) −V − ((k1− L − k3) −C − k2)) SST08: support = k15[I15], k8[I8], k5[I5], k10[I10], k2[I2], k17[I17] Formula = ((k5− D − k8) −V − (((k15− P − k10) − Ljaune− k17) −C − k2)) SST09: support = k8[I8], k5[I5], k3[I3], k2[I2], k1[I1] Formula = ((k5− D − k8) −V − ((k1− L − k3) −C − k2)) SST10: support = k8[I8], k5[I5], k4[I4], k3[I3], k2[I2] Formula = ((k5− D − k8) −V − ((k4− L − k3) −C − k2))

DXLab donne structurellement un ensemble de sous-systèmes testables. Une formule montre comment les structures se lient par les variables. Ces connexions sont données par les définitions (2.1.5) et (2.1.6).

Dans le document Sur le diagnostic interactif (Page 114-119)