• Aucun résultat trouvé

Gestion des SST à différents niveaux d’abstraction

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

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

4.3.2 Gestion des SST à différents niveaux d’abstraction

Dans ce problème de diagnostic interactif dans la phase de modélisation, le modèle du système est construit au fur et à mesure. Les SSTs engendrés permettent de mettre en évident de nouveaux symptômes. A cause des relations hiérarchiques entre les modèles élémentaires, la méthode structurelle de génération des SSTs peut conduire à des SSTs inutiles. Ces SSTs sont dits inutiles parce qu’ils ne permettent pas de générer de nouveaux symptômes. Nous allons détailler ensuite pourquoi ces SSTs sont inutiles. Puis, nous proposerons une solution pour gérer ces SSTs dans le contexte du problème de diagnostic interactif dans la phase de modélisation. Il y a deux types de test qui sont dits inutiles :

1. les SSTs qui ne permettent pas de tester le système. Ce sont des SST s qui contiennent à la fois un modèle élémentaire K et son modèle abstrait K0 (l’abstraction sur les modèles élémentaires est donnée par la définition 2.2.5). Pour tester le système, il

La propagation de valeurs d’un modèle élémentaire à son modèle abstrait exprime un échange d’information d’un item à lui même (peut-être via ses sous-items), cela peut faire apparaître structurellement des circuits de propagation. C’est pourquoi un SST qui contient à la fois un modèle élémentaire et son modèle élémentaire abstrait ne permet pas de tester le système. Nous prenons l’exemple du sous-système testable SST02 trouvé dans l’exemple 14, la structure de SST02est donné par :

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))

La formule (formula) correspondant à SST02 montre que nous pouvons propager des valeurs de (ok(I1), k1) à (ok(I9), k9) via la variable V . Le RRA obtenu par SST02 ne permet donc pas de tester le système parce que I9est le sous-item de I1.

Pour gérer ces SSTs, nous donnons ici la notion d’un sous-système testable non-fécond.

Définition 4.3.3. (Sous-système testable non-fécond) Soit un sous-système testable correspondant à un ensemble de modèles élémentaires K , le SST est dit non-fécond s’il existe deux modèles élémentaires Ki∈ K et Kj∈ K tels que {Ki} est l’abstraction de {Kj}.

Ainsi, selon cette définition, s’il existe une relation d’abstraction (définition 2.2.5) entre les modèles élémentaires impliqués dans un SST , ce SST est non-fécond. A partir de l’ensemble des SSTs donnés par la méthode structurelle de génération de SSTs, les SSTs non-féconds sont retirés.

En nous appuyant sur la définitions de SST non-fécond et sur les relations entre les items dans le graphe F/R formulées dans la rubrique 2.4, nous donnons ici les règles pour retirer les SSTs non-féconds. Supposons que Ki = (mode(Ii), ki, Ki0) et Kj = (mode(Ij), kj, K0j) soient deux ensembles de modèles élémentaires décrivant respectivement le comportement de Iiet Ij.

Règle 1 : Si Ij est un sous-item de Ii dans une relation d’abstraction (sous-fonction/super-fonction, sous-ressource/super-ressource), Kj appartient nécessaire-ment à l’ensemble des sous-modèles élénécessaire-mentaires de Ki (ceci est expliqué par la propriété 1, page 41). Un SST comporte à la fois Kj et Kisera retiré parce qu’il est non-fécond selon la définition 4.3.3.

valeurs

ressource d’entrée / fonction, Kj appartient nécessairement à l’ensemble des sous-modèles élémentaires de Ki (ceci est expliqué par la propriété 3, page 98). Un SST comportant à la fois Kjet Kisera retiré parce qu’il est non-fécond selon la définition 4.3.3.

Règle 3 : S’il existe R = {I1, . . . , Ik} un ensemble complet des sous-ressources d’entrée de la fonction Ii et si R appartient à l’ensemble des sous-ressources de la super-ressource Ij (figure 4.7), alors Ki appartient nécessairement à l’ensemble des sous-modèles élémentaires de Kj. Un SST comportant à la fois Kj et Ki sera donc retiré parce qu’il est non-fécond selon la définition 4.3.3.

Explication du règle 3 : Si R = {I1, . . . , Ik} est un ensemble complet des sous-ressources d’entrée de la fonction Ii, cela veut dire que Iiest un rôle (ou une fontion) de l’ensemble des ressources {I1, . . . , Ik}. Comme {I1, . . . , Ik} est aussi l’ensemble des sous ressources de Ij dans une relation d’abstractiton (partielle ou complète), Ii doit être une fonction (ou un rôle) de Ij (Ij peut avoir plusieurs rôles). Quand le modèle comportemental est ajouté pour Ii et Ij, il existe donc une relation hiérarchique entre les modèles élémentaires décrivant Ii et ceux décrivant Ij. Cette relation n’est pas explicitée dans le graphe F/R.

FIG. 4.7 – Modélisation FIS

Exemple 15. Revenons à l’ensemble des SSTs donnés par DXLab dans l’exemple 14. Les sous-systèmes testables SST02, SST03, SST07, SST04, SST05 sont retirés.

Pour le SST02, nous avons {ok(I1), k1} ∈ SST02 et {ok(I9), k9} ∈ SST02. Comme I1 est l’abstraction de I9, {ok(I1), k1} est l’abstraction de {ok(I9), k9} selon la propriété 1 (page 41). SST02est non-fécond selon la définition 4.3.3 parce qu’il comporte deux mo-dèles élémentaires dont l’un est l’abstraction de l’autre. SST02 est donc retiré du fauit de la règle 1. De la même manière, SST03 est retiré parce que {ok(I1), k1} ∈ SST03, {ok(I15), k15} ∈ SST03et I1est l’abstraction de I15.

Pour le SST07, nous avons {ok(I1), k1} ∈ SST07 et {ok(I4), k4} ∈ SST07. Comme I4 est une ressource d’entrée de I1, {ok(I1), k1} est l’abstraction de {ok(I4), k4} d’après la pro-priété 3 (page 98). SST02 est non-fécond d’après la définition 4.3.3 parce qu’il comporte deux modèles élémentaires dont l’un est l’abstraction de l’autre. SST07 est donc retiré conformément à la règle 2.

même manière, SST05 est retiré parce que {ok(I4), k4} ∈ SST05, {ok(I15), k15} ∈ SST05, et {I11, I12, I16} est à la fois un ensemble complet des ressources d’entrée de la fonction I15 et des sous-items de I4.

2. les SSTs qui sont déductibles des autres. L’expression SSTi est déductible de SSTj si-gnifie que si le symptôme correspondant à SSTj est connu, il est possible de déduire le symptôme correspondant à SSTi à l’aide des relations hiérarchiques (super-item/sub-item). Souvent, les modèles élémentaires impliqués dans SSTi sont plus abstraits que ceux impliqués dans SSTj. Ce phénomène peut être expliqué grâce à la définition de l’abstraction sur les modèles élémentaires (définition 2.2.5, page 40).

Prenons un exemple trivial de trois SST s. Chaque SST comporte des modèles élémen-taires :

SST1= {(ok(I1), k1: x ∗ y = 6), (ok(I4), k4: x = ex), (ok(I5), k5: y = ey)} SST2= {(ok(I2), k2: z − y − 1 = 0), (ok(I5), k5: y = ey), (ok(I6), k6: z = ez)} SST3= {(ok(I3), k3: x > 0 → z > 0), (ok(I4), k4: x = ex), (ok(I6), k6: z = ez)}

avec k1, k2, k3 sont des contraintes de comportement, et k4, k5, k6 sont des contraintes terminales décrivant le modèle des observateurs (définition 2.1.3, page 27).

Supposons que I3 soit le super-item de I1 et I2, avec {(ok(I3), k3 : x > 0 → z > 0)} l’abstraction sur les modèles élémentaires de {(ok(I1), k1: x ∗ y = 6), (ok(I2), k2: z − y − 1 = 0)}. Ceci satisfait la condition que pour tous les tuples de valeurs (x, y, z), si k1 et k2 sont satisfaits, k3 est nécessairement satisfait (définition 2.2.5, page 40). Supposons que I1 ne soit pas en mode de bon fonctionnement. Il existe toujours une observation, par exemple, (x, y, z) = (3, −2, −1), tel que k1 est insatisfait et k3 est insatisfait. Il y a donc un défaut dans le sous-système testable SST3. Sans compensation des défauts, si T1 (correspondant à SST1) est inconsistant alors T3(correspondant à SST3) est inconsistant, ou T3est déductible de T1.

Disons qu’il existe un défaut dans un SSTi s’il existe une observation tel que une contrainte kj impliqué dans SSTi est insatisfait. En revanche, si toutes les contraintes impliquées dans SSTi sont satisfaites par apport à une observation, il n’est pas sure que tous les items impliqué dans SSTi sont en bon fonctionnement car nous n’avons pas testé avec toutes les abservations possibles. Pour cette raison, nous proposons ensuite la formulation de la déductibilité des SST en s’appuyant sur les modes mais pas sur les contraintes. De plus, les symptômes sont en fin formulés en forme de disjonction de modes

valeurs

Définition 4.3.4. (SSTiest déductible de SSTj) Soient deux sous-systèmes testables SSTi et SSTj. SSTi est déductible de SSTj s’il existe un défaut dans SSTj alors il existe un défaut dans SSTi

Exemple 16. Supposons que nous ayons deux sous-systèmes testables

SSTj = {(mode(IA), kA), (mode(IB), kB), (mode(IC), kC), (mode(ID), kD)} et SSTi = {(mode(I1), k1), (mode(I2), k2), (mode(I3), k3)} qui correspondent res-pectivement à deux tests Tj et Ti. Si Tj et Ti sont insatisfaits pour un jeu d’observations, les deux explications suivant peuvent être déduites : Ej = Expl(>(Tj)) = (¬mode(IA) ∨ ¬mode(IB) ∨ ¬mode(IC) ∨ ¬mode(ID)) et Ei = Expl(>(Ti)) = (¬mode(I1) ∨ ¬mode(I2) ∨ ¬mode(In)). Les relations hié-rarchiques (item enfant/item parent) sont représentées par des arcs (figure 2.6). Considérons trois cas :

– Cas 1 (figure 4.8) : Selon la proposition 2.2.14 (40), les relations hiérarchiques pré-sentées sur la figure 4.8 donnent ¬mode(IA) → ¬mode(I1), ¬mode(IB) → ¬mode(I2), ¬mode(IC) → ¬mode(I2), ¬mode(ID) → ¬mode(I3). Nous avons donc Ej→ Ei. Se-lon la définition 4.3.4, SSTiest déductible de SSTj.

Cas 2 (figure 4.9) : De la même manière, SSTiest déductible de SSTj.

Cas 3 (figure 4.10) : SSTin’est pas déductible de SSTj.

FIG. 4.8 – Cas 1 : SSTiest déductible de SSTj

FIG. 4.9 – Cas 2 : SSTiest déductible de SSTj

Nous voyons que SSTiest déductible de SSTj si et seulement si chaque modèle élémen-taire impliqué dans SSTj est un des sous-modèles d’un modèle élémentaire impliqués dans SSTi.

Pour le modèle qui se construit au fur et à mesure à différents niveaux d’abstraction, le nombre de SSTs déductibles des autres devient de plus en plus important.

FIG. 4.10 – Cas 3 : SSTin’est pas déductible de SSTj

Afin de réduire le nombre de calculs de l’automate, il est utile d’enlever des SSTs dé-ductible dans cette étape de génération de tests. Le raisonnement et la détection des SSTs déductibles en terme des contraintes dans l’espace des variables paraissent trop complexe car les contraintes peuvent être de nature différent. De plus, pour calculer les diagnostics, les symptômes collectés sont formulés sous forme de clauses ou de monômes de modes. Pour ces raisons, nous proposons dans la suite une approche qui permette de détecter les SSTs déduc-tibles tel que si un test Tjcorrespondant à SSTjest inconsistant, les SSTs qui sont déductibles de SSTjne seront pas considérés dans l’étape de propagation de valeurs. La détection des SST s déductibles sont gérés sous forme d’un graphe de priorité des SSTs qui est présenté ensuite.

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