• Nenhum resultado encontrado

3.3 Les méthodes de diagnostic des SED

3.3.2 Approches de diagnostic à base de modèles temporisés

linéaires

par la suite, la sortiee est observée, le diagnostiqueur évolue vers le sommet({6},{F}), un défaut est alors détecté.

Nous présentons dans la suite quelques approches de diagnostic hors-ligne, basées sur des modèles temporisés de SED.

3.3.2.1.1 Approche de diagnostic à base de modèles à temps discret Zad a proposé dans (Zad et al., 2005), une extension temporisée de l’approche de diagnostic élaborée dans (Zad et al., 2003). Cette extension est basée sur l’utilisation d’un modèle SED à temps discret, appelé TDES (Timed Discrete-event system). Le modèle TDES est muni d’un événement spécial modélisant le temps, appelé tick d’horloge, représenté par le symbole τ. L’événement τ est supposé être observable. Le diagnostiqueur construit à partir de ce modèle estime l’état courant du système après l’occurrence d’un événement observable, ou un tick d’horloge τ.

Malgré les solutions de réduction proposées, le nombre d’états du diagnostiqueur reste assez important dû à l’explosion combinatoire causée par l’intégration de l’information temporelle. En effet, l’application de cette approche est confrontée en premier lieu, à la taille importante du modèle du système et celui du diagnostiqueur, et en second lieu à la complexité élevée de l’algorithme de synthèse du diagnostiqueur.

3.3.2.1.2 Approches à base de RdP temporel Dans (Ghazel et al., 2005), les au- teurs ont proposé la construction d’un diagnostiqueur à partir d’un modèle RdP temporel du système. Cette approche exploite les contraintes temporelles sur les événements dans le but d’affiner les résultats de l’estimation. La construction du diagnostiqueur repose sur une approche d’analyse des états accessibles dans le RdP temporel du système. Le diag- nostiqueur conséquent est un graphe d’états similaire au graphe des classes d’états, où chaque transition entre deux nœuds du graphe est étiquetée par un événement observable et un intervalle de franchissement. Une transition ne peut être franchie que si la date d’occurrence de l’événement observé satisfait l’intervalle de franchissement. Ainsi, suite à l’observation de chaque événement, une transition est franchie d’une manière détermi- niste vers un autre nœud du graphe, qui détermine la classe d’états accessibles à cette date, en tenant compte de l’occurrence de toute séquence d’événements non observables.

3.3.2.2 Approches en-ligne

Dans le cadre des approches en-ligne, aucun calcul pré établi n’est effectué. En effet, le diagnostiqueur élabore en-ligne le calcul nécessaire pour l’identification des défauts, à partir de l’ensemble d’événements observables générés par le système. Nous présentons dans la suite quelques travaux portant sur le diagnostic en-ligne qui sont basés sur des modèles SED temporisés.

linéaires

3.3.2.2.1 Estimateur d’état de Tripakis Dans (Tripakis, 2002), Tripakis propose une extension temporisée de l’approche de diagnostic de Sampath reposant sur l’utilisa- tion d’un estimateur d’état en-ligne (à ne pas confondre avec l’estimateur d’état défini par les automaticiens). La démarche de diagnostic présentée dans ce travail commence par l’élaboration d’un modèle automate temporisé du système à diagnostiquer. Par la suite, une partition des sommets de l’automate en sommets de fonctionnement normal et sommets de fonctionnement de défaut est établie. Le diagnostiqueur est donné sous la forme d’un algorithme d’estimation d’état en-ligne. Cet algorithme estime l’état cou- rant du système suite à chaque occurrence d’un événement observable et déclenche une alarme quand un défaut est détecté.

Le fonctionnement du diagnostiqueur est décrit dans Algorithme 1.

Algorithm 1Pseudo-code du diagnostiqueur InitialiserW par l’état initial du système Initialiser le temporisateurx à 0

boucler

si (fd(W) =oui) alors

Déclencher une alarme annonçant la détection d’un défaut finsi

Attendre un événement σ∈Σo ou l’expiration du temporisateur (x=T O) si un événementσ est observé alors

Estimer l’état courantW suite à l’écoulement de x u.t. et l’occurrence de σ sinon

Estimer l’état courantW suite à l’écoulement de x u.t.

finsi

Initialiser le temporisateur x à0 fin boucle

Le temporisateur x permet de mesurer le temps écoulé depuis la dernière estima- tion effectuée (la date du dernier événement observé). L’estimation de l’état courant du système est donnée par l’ensemble W. Cette estimation comporte un ensemble d’états vers lesquels le système peut évoluer, en accord avec l’ensemble des événements observés.

Nous rappelons qu’un état du système correspond à un sommet de l’automate temporisé associé aux valeurs prises par les horloges à un instant donné.

Lorsque le diagnostiqueur observe un événement σ, ou lorsque le temporisateur x atteint une valeur seuil notéeT O(x=T O), l’algorithme effectue une estimation de l’état courant du système à la dateti. Il s’agit de calculer l’ensemble des états accessibles :

• à partir des états estimés à la date ti−1 (dernière estimation effectuée) ;

• suite à l’écoulement de x=ti−ti−1 u.t. et l’occurrence de toute possible séquence d’événements non observables ;

• enfin, l’occurrence de l’événement σ, si cet événement a été observé.

La fonction de diagnostic fd évalue l’estimation de l’état courant du système et dé- clenche une alarme si elle détecte un défaut ; i.e, lorsque tous les états estimés dans W correspondent à des sommets de fonctionnement de défaut.

Un exemple d’application de l’algorithme du diagnostiqueur est illustré dans la fi- gure 3.7. Nous supposons, dans cet exemple, une évolution du système décrite par la séquence d’événements temporisés : (a,9)(f,3.5)(b,1)(c,4), où a, b et c représentent les seuls événements observables et f désigne l’événement de défaut. Après l’observa- tion de la projection observable de cette séquence d’événements, à savoir, la séquence (a,9)(b,4.5)(c,4), l’algorithme du diagnostiqueur évolue comme décrit dans la figure 3.7.

m m

m

m m m

m m -

-

-

-

- 3

s

x0 x4 x5

x8

x8

x10 x0 x0

f

u b, x5

b, x4 c, x8 c, x6

R

a, x:= 0

1 2

3 4 5

6 7 8

- -

-

(b,4.5)

(a,9) (c,4)

pas de défauts

pas de défauts

pas de

défauts un défaut

annoncer

? ? ? ?

1,hx= 0i 4,hx= 4.5i

7,hx= 4.5i 8,hx= 8.5i 2,hx= 0i

Fig. 3.7 – Une exécution de l’algorithme du diagnostiqueur

Dans cet exemple, l’occurrence de l’événement c nous a permis d’identifier le défaut f. Avant le franchissement d’une transition sur l’événement c, la valeur courante de l’horloge x est égale à 8.5, et l’état discret estimé du système correspond au sommet 4 ou au sommet 7. La transition sur l’événement c issue du sommet 4 n’est pas possible à x = 8.5, puisque la condition de garde x ≤ 6 n’est pas satisfaite. Par contre, une transition à partir du sommet 7 sur l’événement c est possible puisque sa condition de garde x≥8est satisfaite par la valeur de l’horloge x.

Comme il est le cas pour l’approche de Sampath, l’utilisation du diagnostiqueur dans cette approche suppose que le modèle automate temporisé du système est diagnosticable.

Dans le cas échéant, le diagnostiqueur peut rester indéfiniment incapable de détecter l’occurrence d’un défaut. Intuitivement, il existe une paire de trajectoires temporisées du système ayant le même comportement observable, mais l’une contient un défaut et l’autre non. Dans la section 3.6, nous présentons la notion de diagnosticabilité dans le cadre des automates temporisés ainsi que les techniques utilisées pour sa vérification.

L’algorithme proposé par Tripakis est basé sur une estimation d’état dans un au- tomate temporisé avec -transitions. L’estimateur d’état en-ligne se distingue par sa

linéaires

simplicité et permet d’éviter le problème d’explosion combinatoire lié à la compilation hors-ligne du diagnostiqueur, cependant, il présente plusieurs inconvenants.

D’abord, la complexité d’exécution de cet algorithme est doublement exponentielle en fonction de la taille du modèle considéré et la taille de la séquence d’événements observée (Bouyer et Chevalier, 2005). Cette grande complexité du calcul en-ligne im- plique un phénomène de retard considérable, qui augmente au fur et à mesure du nombre d’événements observé (puisque la taille des observations intervient dans la formule de complexité). Ce retard n’est pas toléré lors du diagnostic des systèmes critiques, qui nécessitent une identification rapide des défauts, et peut avoir dans certains cas des conséquences néfastes. Nous remarquons que cette approche s’intéresse seulement à la détection et non à l’identification des défauts puisqu’elle considère l’existence d’un seul type de défaut. Enfin, cette approche est incapable de détecter au plus-tôt les défauts, quand le système se bloque et ne génère plus d’événements. En effet, il faut at- tendre l’écoulement d’unedurée constante T O u.t. pour déclencher une alarme, même s’il est possible de s’assurer, plus-tôt, de l’occurrence du défaut.

3.3.2.3 Diagnostic à base de model-checking

Ces approches reposent sur l’utilisation d’une technique de vérification d’automates appeléemodel-cheking (Yovine, 1998). Cette technique se base sur des langages de spéci- fication de propriétés tels que le PCTL, CTL ou TCTL, et un algorithme de vérification de propriétés dit model-checker. Le langage de spécification, basé sur une logique tem- porelle, permet de formuler des propriétés telles que l’atteignabilité, la vivacité,. . ..

Dans (Cordier et al., 2001), les auteurs proposent une approche de diagnostic en- ligne basée sur la technique de model-checking et le langage de spécification TCTL.

Cette approche repose, d’abord, sur une modélisation des composants du système sous la forme d’automates à états finis. Un ensemble d’horloges et un ensemble de contraintes temporelles seront ensuite introduits sur la composition de ces modèles élémentaires.

L’automate temporisé résultant permet de prendre en considération l’aspect temporel correspondant à l’évolution du système. Ensuite, les auteurs proposent l’utilisation du model-checker Kronos (Yovine, 1997), afin d’expliquer, en-ligne, l’ensemble des obser- vations générées par le système. Il s’agit de retrouver l’ensemble des trajectoires du système qui expliquent la trajectoire observable générée, à travers l’application d’une formule d’atteignabilité en utilisant le model-checker. Une interprétation des trajectoires retrouvées permet l’identification de défauts produits.

3.3.2.3.1 Diagnostic à base de chroniques Une chronique peut être considérée comme un ensemble de motifs d’événements liés entre eux par des relations de contraintes temporelles (Dousson, 1994). La méthode de diagnostic à base de chroniques associe à

chaque mode de défaillance, que l’on désire identifier, une chronique (ou un scénario). En- suite, elle utilise une technique de reconnaissance en-ligne de ces chroniques afin d’iden- tifier les scénarios de défaillances. En effet, si des événements observés correspondent aux motifs de la chronique et si leur occurrence a lieu selon le contexte et les contraintes spécifiées, alors une instance de la chronique modélisée devra être reconnue.

Comme il est illustré dans la figure 3.8, introduite dans (Dousson, 1994), les modèles de chroniques sont spécifiés hors-ligne alors que la phase de reconnaissance est établie en- ligne. Cette dernière phase repose sur le maintien à jour de fenêtres temporelles précisant les dates où un événement est attendu par la chronique compte-tenu de l’ensemble de ses contraintes. Les chroniques peuvent être modélisées par un RdP temporel ou par un graphe de contrainte (treillis) (Mokhtari, 2007).

Fig.3.8 – Un système de reconnaissance de chronique.

3.4 Du diagnostic des systèmes à événements discrets