• Aucun résultat trouvé

2.2.3.2 Expression des contraintes temporelles

Après avoir mis en évidence les différentes contraintes liant les événements du système surveillé, il est nécessaire de pouvoir les exprimer avec un formalisme mathématique ou modèle. De façon générale, les contraintes temporelles peuvent être exprimées à partir de relations liant des dates d’occurrence et/ou des dates d’occurrence relatives d’instances d’événements. Une

occurrence d’un événement définit un point dans un temps dense auquel l’événement se produit.

Une occurrence d’un événement est donc une valeur temporelle appartenant à Ρ+. Dans (Mok et al

1997) est définie la notion d’événement récurrent, c’est à dire possédant plusieurs instances. Une

fonction d’occurrence d’événement, notée Θ, est définie pour représenter la relation entre les

occurrences d’événements et leurs dates d’occurrence durant le fonctionnement.

Définition : pour un événement e et un entier i ∈Ν+, la fonction Θ a été définie comme suit :

Θ(e, i) = la date d’occurrence de la ième instance de l’événement e. La fonction Θ est supposée

monotone et croissante : ∀ e un événement, ∀ i ∈ N+, Θ(e, i+1) > Θ(e, i).

Les contraintes temporelles sont donc des relations entre des paires de dates d’occurrence d’événements et peuvent être exprimées par des inégalités incluant les fonctions d’occurrence correspondantes en utilisant une spécification par langage basée sur la Logique Temps-Réel (LTR). La contrainte Θ (e1, i) + d ≥ Θ (e2, j) avec d > 0, appelée contrainte date limite (Jahanian et al 1994),

spécifie une date limite pour la jème occurrence de l’événement e2 qui est de d unités de temps

après la ième occurrence de l’événement e1. La contrainte Θ (e1, i) – d ≥ Θ (e2, j) avec d > 0,

appelée contrainte de délai (Jahanian et al 1994), nécessite la ième occurrence de e1 à être au moins

d unités de temps plus tard que la jème occurrence de e2.

La spécification de contraintes temporelles peut aussi se faire en associant un intervalle temporel à la durée séparant l’occurrence de deux événements. Dans ce cas, une contrainte temporelle liant

deux occurrences d’événements ei et ej est représentée sous forme d’intervalle [a, b], a,

b∈ℜ+∪{+∞}, c’est à dire que, a ≤ Θ (e

j, m) – Θ (ei, n) ≤ b. En comparant ce type de contrainte avec les contraintes date limite et les contraintes de délai exprimées précédemment, il est possible d’écrire qu’une contrainte écrite sous forme d’intervalle est la conjonction d’une contrainte de date limite et d’une contrainte de délai puisque,

Θ (ei, n) + d ≥ Θ (ej, m) ⇔ Θ (ej, m) - Θ (ei, n) ≤ d et Θ (ej, m) – d ≥ O(ei, n) ⇔ Θ (ej, m) - O(ei, n) ≥ d.

Le problème qui se pose maintenant et qui fait l’objet du paragraphe suivant est celui de la vérification ou satisfaction des contraintes temporelles exprimées.

II.2.2.4. Vérification de contraintes temporelles

Vu la croissance continue accordée à l’utilisation d’ordinateurs dans les systèmes temps-réel pour diverses applications comme l’avionique, la commande distribuée de procédé, le contrôle du trafic aérien, etc., le besoin d’avoir des systèmes fiables, délivrant les services attendus et à temps voulu, est devenu crucial. Les systèmes temps-réel interagissent avec l’environnement en réagissant aux événements externes et en produisant des résultats tout en respectant les contraintes temporelles imposées par le procédé. L’étude du problème de détection de symptômes de défaillance dans un système temps-réel distribué est motivé par l’imprévisibilité de l’environnement physique et l’incapacité à satisfaire les hypothèses de conception durant une phase de surcharge transitoire. Ceci peut causer des conditions inattendues ou la violation des contraintes du système en cours de fonctionnement.

Vérifier une contrainte temporelle dans un système distribué est d’autant plus compliqué que les occurrences des événements se font sur plusieurs processeurs (sites). La détection d’une violation le plus tôt possible est réalisée en évaluant les contraintes temporelles au cours du temps, tout en assurant l’échange de messages entre processeurs afin de propager les occurrences des événements. Dans un système temps-réel distribué, il peut y avoir en effet des contraintes temporelles qui portent sur des événements générés sur des processeurs différents.

Un autre problème dû à la distribution du système est celui de la synchronisation d’horloge. En effet, en l’absence d’horloges parfaitement synchronisées au niveau des processeurs (sous- systèmes de surveillance), la signification des contraintes temporelles basées sur des événements distribués doit être définie précisément. (Jahanian et al 1994) présente un algorithme de synchronisation d’horloge permettant de comparer les dates d’occurrence d’événements sur différents processeurs. Nous reviendrons sur ces aspects ultérieurement (§ II.3.1)

La surveillance du système repose sur le fait que le fonctionnement du système est vu comme une séquence d’occurrences d’événements datés. Les hypothèses de conception et les propriétés du système qui doivent être maintenues sont exprimées comme des relations invariantes entre différents événements qui sont surveillées durant le fonctionnement. Si la violation d’une relation invariante est détectée par le système de surveillance, des actions de recouvrement peuvent avoir lieu. Ces relations sont des contraintes temporelles distribuées sur plusieurs sous-systèmes de surveillance. Chaque sous-système de surveillance est associé à un processeur. Le rôle d’un sous- système de surveillance est de détecter les violations de contraintes temporelles au fur et à mesure que les événements d’une contrainte se produisent. Il renvoie aussi l’information concernant l’occurrence de certains événements vers d’autres sous-systèmes de surveillance distants. Dans (Holloway et 1996), le modèle de surveillance proposé utilise des ensembles de relations temporelles et de séquencement permettant de prédire quand les événements sont attendus.

A titre d’exemple, la figure 14 montre la structure d’un système de localisation d’avion. Le signal radar est reçu par un contrôleur de radar. Il est envoyé, par la suite, à un processeur qui effectue le calibrage et la localisation. Le signal obtenu est envoyé à l’hôte d’une interface qui effectue un pré- traitement et envoie le signal au processeur de la console qui réalise le filtrage. Finalement, le signal est envoyé à un processeur spécialisé qui réalise l’affichage de l’information de localisation approprié sur le moniteur. Il y a une durée limite de bout en bout de 2s depuis le moment où un signal est reçu par le contrôleur du radar jusqu’à ce qu’il soit affiché par le processeur d’affichage. En plus, il y a une durée limite intermédiaire de 0.5s sur les commandes d’affichage du processeur d’affichage depuis l’étape de pré-traitement sur le processeur de l’hôte de l’interface.

Chapitre II. Distribution du système de surveillance-commande : prise en compte des aspects temporels dans les systèmes à événements discrets.

Dans un tel système, la surveillance est nécessaire afin de détecter les violations de contraintes inter-processeurs. Les violations de contraintes de délai doivent seulement être testées quand un événement se produit, et les violations de date limite ne doivent pas être testées avant l’expiration d’une certaine date limite.

Nous détaillons, dans la suite, la méthode de surveillance de contrainte temporelle développée par (Pandalai et al 2000). Cette méthode basée sur une prévision complète des dates d’occurrence des événements, est utilisée pour la surveillance des systèmes manufacturiers.