• Aucun résultat trouvé

Sur l'élimination itérative des situations de blocage dans un système

N/A
N/A
Protected

Academic year: 2022

Partager "Sur l'élimination itérative des situations de blocage dans un système"

Copied!
11
0
0

Texte intégral

(1)

RAIRO. I NFORMATIQUE THÉORIQUE

M AURICE T CHUENTE

Sur l’élimination itérative des situations de blocage dans un système

RAIRO. Informatique théorique, tome 14, no1 (1980), p. 57-66

<http://www.numdam.org/item?id=ITA_1980__14_1_57_0>

© AFCET, 1980, tous droits réservés.

L’accès aux archives de la revue « RAIRO. Informatique théorique » im- plique l’accord avec les conditions générales d’utilisation (http://www.numdam.

org/conditions). Toute utilisation commerciale ou impression systématique est constitutive d’une infraction pénale. Toute copie ou impression de ce fichier doit contenir la présente mention de copyright.

Article numérisé dans le cadre du programme Numérisation de documents anciens mathématiques

(2)

R.A.I.R.O. Informatique théorique/Theoretical Informaties (vol. 14, n° 1, 1980, p. 57 à 66)

SUR L'ÉLIMINATION ITÉRATIVE DES SITUATIONS DE BLOCAGE DANS UN SYSTÈME (*)

par Maurice TCHUENTE (*)

Communiqué par M. SINTZOFF

Résumé. — On s'intéresse à une méthode itérative proposée pour éliminer, dans un système, les évolutions qui mènent à des situations de blocage : on présente deux méthodes d'analyse permettant, dans certains cas simples, de démontrer le caractère fini de cette itération.

Summary. — We consider an itérative scheme proposed for the élimination of deadends in a system:

we present two methods which permit, in some simple cases, to demonstrate that the itération is finite.

INTRODUCTION

Un système non déterministe S = [5X | S2 | . . . | SN] est défini par la donnée de N instructions conditionnelles

St: si At alors x : = af(x),

où X est l'ensemble des états possibles du système; At est un prédicat sur X; on dira que At garde St; OLt est une application de X dans X.

A un instant t, si xeX est l'état du système, et si l'instruction Sj est sélectionnée pour exécution, alors l'état du système à l'instant t+ 1 est a7(x) si Aj(x) = vrai, et x si Aj(x) = faux; le non-déterminisme se traduit par le fait que n'importe quelle instruction peut être sélectionnée pour exécution à l'instant t;

ainsi, toute suite à éléments dans {S1, S2, • • •, SN } correspond à une évolution possible du système à partir d'un état initial.

Soit par ailleurs B un prédicat sur X appelé but; dans la suite un prédicat P sur X sera confondu avec {x e X : P (x) = vrai}.

(*) Reçu mars 1979, révisé juillet 1979.

l1) Laboratoire I.M.A.G., Grenoble.

R.A.I.R.O. Informatique théorique/Theoretical Informaties, 0399-0540/1980/ 57/$ 5.00

© AFCET-Bordas-Dunod

(3)

Lorsque le système se trouve dans un état

x$Ax v A2 v . . . v AN v B,

aucun des prédicats A, n'est satisfait, et le système ne peut plus évoluer vers le but B; x sera alors appelé un état de blocage.

Ce modèle est particulièrement adapté à la formalisation de la coopération entre plusieurs processeurs; B représente alors les états de bon fonctionnement du système; c'est par exemple le cas des algorithmes d'exclusion mutuelle avec autostabilisation dans un réseau d'automates [2, 6].

Partant d'un système S, on s'intéresse à la détermination d'un nouveau système T=[T1\T2\ . . .\TN] qui est une version améliorée de S en ce sens que :

(1) toutes les évolutions de T sont possibles dans S;

(2) tout état initial d'où il est possible d'atteindre B par S est un état initial d'où il est possible d'atteindre B par T;

(3) les évolutions de S qui mènent à une situation de blocage (se terminent sans atteindre B) sont éliminées dans T;

II faut noter que T, bien que ne se bloquant pas, peut cycler indéfiniment sans jamais atteindre le but B.

L'une des méthodes itératives proposées dans [4, 7] permet d'obtenir les prédicats Bt qui gardent les Tt, comme bornes inférieures de suites décroissantes de prédicats :

B1+1^B1^At; Bt= /\Bl

II est clair que cette technique est intéressante surtout lorsque ces bornes sont atteintes en un nombre fini de pas; c'est évidemment le cas lorsque les A{ sont des parties finies de X. On expose ici deux méthodes d'analyse qui, dans certains cas simples où les At sont de cardinalité infinie, permettent de démontrer que l'itération en question est finie.

I. NOTATIONS ET DÉFINITIONS

Les symboles v , A , ~~i, désignent respectivement la disjonction, la conjonction et la négation. On note Z (resp. Q) l'ensemble des nombres entiers (resp. rationnels).

Les instructions d'un système S = [Si | S2 | . . . | SN] sont notées : si At alors st ( i = l , 2, . . . , N),

(4)

ÉLIMINATION DES SITUATIONS DE BLOCAGE DANS UN SYSTÈME 5 9 OÙ :

— X est l'ensemble des états possibles du système;

— At est un prédicat sur X; on dira que At garde St;

— st est l'instruction d'affectation x : = af(x).

Au système S est associé un prédicat B appelé but, tel que B - -

Les états de blocage du système sont caractérisés par

N

V ^

DÉFINITION : Transformateurs de prédicats pre ( . , . ) . Soit R un prédicat sur X :

— pre (sif R) caractérise l'ensemble des états tels que, après exécution de l'affectation sif R est satisfait;

— pre (St, R) caractérise l'ensemble des états tels que le prédicat qui garde St

est satisfait et, après exécution de Sif R est satisfait :

if R);

— pre (S, R) caractérise l'ensemble des états tels qu'il existe une instruction St

dont l'exécution mène à la satisfaction de R :

N

pre(5, R)= V pre(Sf, R).

i = l

On vérifie aisément que les transformateurs de prédicats pre(st-, .), pre(5f, .) et pre (S, .) sont monotones :

k1 => k2 entraîne pre(/, /q) => pre(/, k2) {I = st, Sif S).

II. FORMALISATION ET SOLUTION DU PROBLÈME [4, 7]

Le problème consiste, partant de

St: si At alors x: = OLi(x) ( f = l , . . . , N),

à construire

Tt : si Bt alors x : = a£(x) (î= 1, . . . , N),

vol. 14, n ° l , 1980

(5)

où les Bt sont les solutions maximales du système suivant : (a) Bt => A t ( î = l , . . . , i V ) ,

(b) Bt => pre(s;,££) ( i = l , . . . , N), (1) où BB = BiVB2v ... vBN vB,

ce système peut encore s'écrire :

Bt => pre(S£,jBB) (i = l, . . . , N). (1) La validité d'un système équivalent à (1) est formellement analysée dans [7] pour le cas où B = faux, c'est-à-dire où Tdoit cycler indéfiniment.

Interprétation

(a) exprime que toute évolution de T est possible dans S;

(b) exprime le fait que, partant d'un état x qui satisfait Bif on atteint après exécution de Tt soit le but B, soit un état satisfaisant un prédicat Bj, ce qui exclut le blocage.

Le fait que nous recherchions la solution maximale garantit que toute évolution de S menant au but B sera préservée dans T.

On est donc ramené à la recherche de la solution maximale d'une inéquation associée à une fonction monotone dans le treillis complet (0>(X))n.

THÉORÈME [5] :Soit(E, ^)un treillis complet, et f une application monotone de E dans E.

1. L'inéquation x^f(x) et V équation de point fixe x = f(x) admettent la même solution maximale x.

2. Si de plus, pour toute suite décroissante de E, [xn; n^O} on a f(!\Xn)= /\f(Xn)

et si 1 désigne Vêlement maximal du treillis, alors

Solution itérative du problème [4, 7]

vrai désigne le prédicat toujours satisfait; on part d'une initialisation Bf = vrai ( i = l , . . . , N)

R.A.I.R.O. Informatique théorique/Theoretical Informaties

(6)

ÉLIMINATION DES SITUATIONS DE BLOCAGE DANS UN SYSTÈME 61

pour n^O,

B^+1=pve(Si,BBn) ( î = l , . . . , JV),

N

BBn= V BnjWB, on a alors

DÉFINITION : On dit que l'itération est finie, ou stationnaire, si : II existe n ^ 0 :

Bï = Bï + l ( î = l , . . . , N ) .

Ceci correspond aux cas où la méthode itérative permet d'obtenir la solution en un nombre fini de pas.

Commentaire

Dans la plupart des problèmes tels que la synchronisation, l'ensemble des états du système, X, est fini; en conséquence, l'ensemble des parties de X, noté éP(X), est aussi fini et les suites générées par le processus itératif sont décroissantes dans un ensemble fini et sont donc stationnaires; le seul problème qui subsiste alors est celui du volume de calculs qui peut devenir prohibitif.

Lorsque X est infini, la suite { £"; n ^ 0 } peut soit avoir une infinité de termes distincts, soit être stationnaire. Ces deux comportements étant fondamentale- ment différents, il est intéressant de pouvoir dire à quelle catégorie un système appartient. Nous présentons ici deux méthodes d'analyse permettant de répondre à cette question dans certains cas simples.

Signalons qu'il existe dans la littérature des tentatives pour remplacer, dans le cas non stationnaire, la suite exacte infinie par une suite approchée finie [4].

m. MÉTHODE I

Rappelons que st désigne l'instruction d'affectation

La méthode I suppose connue l'expression explicite des transformateurs de prédicats pre(s;, .); l'idée est alors très simple car, connaissant une expression formelle des éléments des suites {B"; n^O}, on donne une condition suffisante

vol. 14, n ° l , 1980

(7)

pour que ces suites appartiennent à une partie finie de & (X), ce qui garantit leur caractère stationnaire.

Supposons que l'on ait {1, 2, . . . , N} =1 u J avec :

— pour iel, a( est une bijection de X dans X; l'application réciproque est notée cpf;

— p o u r ; e J, OLJ est constante : OLj(x) = bj, V x e X .

NOTATIONS : (F [Xx X]x 6) désigne le monoïde des applications de X dans lui- même.

O* est le sous-monoïde de (F[Xi X]x o) généré par O

<D* (C) est la fermeture de <I>* (C) par rapport aux opérations A , v .

PROPRIÉTÉ 1 :Vrc^l : on a £ ? e , 4f AO>*(C) etBnje{Aj, Ç)},pour iel Qtje J.

Démonstration : Nous raisonnons par récurrence sur n.

n=\ : B\=Ai{i=\, ..., N) et la propriété est vraie.

Supposons le résultat acquis pour n — 1 et montrons qu'il est encore vrai pour n; posons

BBn~1=Bn1~1 v . . . v B ; "1 VB;

pour j e J,

sj, BBnn-l\~1) = J 'x' S 1

Ç> sinon;

pour iel,

Si, BB""1)

y

en utilisant l'hypothèse de récurrence on déduit que BnieAi;AO*(C). •

PROPRIÉTÉ 2 : Si, pour tout iel, pour tout Ae{Alt . . . , AN, B}, A{ A®*(A)

est fini dans £P(X), alors l'itération est stationnaire.

Démonstration : On montre que A{A^{C) est fini; la suite {B"; n ^ O } , décroissante dans un ensemble fini, est donc stationnaire. •

(8)

ÉLIMINATION DES SITUATIONS DE BLOCAGE DANS UN SYSTÈME 6 3 Exemple 1 : Énoncé (nous adoptons une présentation imagée afin de favoriser l'intuition) : Soit une région plane [a, b] x [c, d] dont une partie est recouverte d'eau. Un oiseau qui s'y promène, vole d'un point à l'autre avec les contraintes suivantes : lorsqu'il s'envole d'un point (xlf x2), il ne peut se poser qu'en l'un des points (0, 0), (x1 + l , x2 — 1), (Xi + 2, x2 +1). Peut-il ainsi se promener indéfiniment sans jamais se mouiller ?

Solution : soit L c [a, b] x [c, d ] l'ensemble des régions non recouvertes d'eau.

On a alors un système S = [Sx \ S2 \ S3].

Sl: si L alors {xlt x2): = (0, 0),

52 '• si L alors (xx, x2) : = (xx + 1, x2 — 1), 53 : si L alors (xif x2) : = (x1 + 2, x2 + 1).

En posant B = 0, le problème revient à construire un nouveau système T déduit de S par élimination des évolutions qui mènent à des situations de blocage. La propriété qui suit montre qu'on est dans un cas où l'itération est stationnaire.

PROPRIÉTÉ 3 : Soit X = Um (m^ 1), S = [Sx \ . . . | SN] où les fonctions af sont de deux formes :

iel: (xlt . . . , x j - • (fli xO l, . •., amxam) + vt, jeJ: (xlf . . . , X J - H J J ,

où ate{ - 1 , 1}, VjGQm; G permutation de {1, 2, . . . , m}.

Si Aif . . ., AN, B sont bornés dans Rm, alors l'itération est stationnaire.

Démonstration : Adoptons les notations introduites plus haut; après réduction des vt au même dénominateur, on peut montrer que les fonctions réciproques cp e O* sont de la forme :

(xlf . . . , xm)-^(fc1xO i, . . . , bmxOm) + (e1v, . . . , emv)

oxxbie{—l,l},eieZ(i=l, . .., m); G permutation de {1, 2, . . . , m}, v fixe dans Q.

Montrons que pour iel, Ae{Alt . . . , AN, B}, AtAO*(A) est fini.

En effet xeAif yeA, cpeO*, x = q>(y) entraîne

(xlf . . . , xm) = (b1yai, . . . , bmy^m) + (eiv, . . . , emv) On déduit :

m *y m N

I | ^i | = i—r sup I | £,i | où A^4 = V Aj \

vol. 14, n°l, 1980

(9)

Les paramètres qui interviennent dans l'égalité (*), à savoir bit ejf a, sont en nombre fini, majoré par une constante indépendante de x et y. Ceci entraîne que Ai A®* {A) est fini; d'après la propriété 2, l'itération est stationnaire. •

IV. MÉTHODE II

A tout système S = [5i | . . . \SN] ayant X pour ensemble d'états, on peut associer le graphe orienté G défini comme suit :

X est l'ensemble des sommets; pour tout xeB.ona une boucle en x; pour tout xeAi(i=l, . . . , JV), on a un arc allant de x à oc£(x).

Il est clair que le graphe G représente le comportement dynamique de 5; les états que le système peut avoir en évoluant à partir d'un état x sont représentés par les sommets qu'on peut atteindre à partir de cet état, en suivant les arcs de G.

DÉFINITION : Une impasse de G de longueur p est un chemin [x0, xlf ..., xp] tel que xp^A1 v A2 v . .. v.4^ v B et tous les chemins de G contenant l'arc (x0, x j sont de longueur ^p. Les évolutions de S qui mènent à une situation de blocage sont donc des impasses de G.

PROPRIÉTÉ 4 : V i e {1,2, .. ., N}, Vw^l, VxeAi'.xeBïoxest origined'un chemin de longueur n commençant par l'arc (x, oc,(x)).

Démonstration : Si n=l, B}=At et le résultat est acquis; pour n^2, la démonstration se fait par récurrence sur n. •

Notons

S" = [ S ï | . . . | S ; j ] (n^l); Sl=St;

S": si B? alors x: = OLi(x).

G" le graphe orienté associé à S".

PROPRIÉTÉ 5 : 1. Gn se déduit de G par suppression des impasses de longueur 2. L'itération est stationnaire si et seulement si les impasses de G ont une longueur majorée par une constante.

Démonstration : 1. G" se déduit de G""1 par suppression des impasses de . longueur 1; on raisonne ensuite par récurrence sur n.

2. Évident. •

PROPRIÉTÉ 6 : Posons \|/ = {a1, .. ., <xN }; \|/* le sous-monoïde de (F [Xx X^o) engendré par \|/. Pour xeX, posons \|/*(x) = {a(x), oce\|/*}. S'il existe leN tel que

MxeAA, Card(\|/*(x)n^L4)^/, où AA = Atv .. . vAN, Alors l'itération est stationnaire.

(10)

ÉLIMINATION DES SITUATIONS DE BLOCAGE DANS UN SYSTÈME 6 5

Démonstration : Si [x0, xly . . . , xn] est une impasse de G de longueur n, alors Xf(ï = 0, . . . , n— 1) sont des sommets distincts de \|/*(x0) n AA, donc n^L

Les impasses de G étant de longueur majorée par /, l'itération est stationnaire. •

Nous sommes maintenant en mesure de traiter des cas qui échappent à la méthode /, d'abord parce que les oc, ne sont supposées ni bijectives, ni constantes, et parce qu'on ne fait aucune hypothèse sur le but B.

PROPRIÉTÉ 7 : Soit Z = [Rm, S = [S1 \ . . . \SN] un système où les St sont de la forme

si At alors ( xl t . . . , xm) : = ( f l i XO l, . . . , amxaj - h vi f

où ats{ —1, 0, 1}, VJEQ™, <J est une permutation de { 1, 2, . . . , m}; si les At sont bornés dans lRm, alors l'itération est stationnaire.

Démonstration : On montre que les fonctions oc e { at, . . . , ocN }* sont de la forme

( ft )

où bte{ —1, 0, 1}, exeZ, a une permutation de {1, 2, . . ., m}, v fixe dans Q.

Par une technique strictement analogue à celle de la propriété 3, on montre que les conditions de la propriété 6 sont vérifiées; l'itération est donc stationnaire. •

DISCUSSION

Nous avons analysé l'une des méthodes itératives proposées dans [4, 7] pour l'élimination des situations de blocage dans un système, en recherchant des conditions suffisantes pour que l'itération soit stationnaire.

Dans le cas où la suite générée a une infinité de termes distincts, il suffit d'examiner les trois exemples

*•= { H }

£3: {[n, +oo[; n ^ l }

pour se rendre compte que les notions de convergence et d'approximation doivent être manipulées avec précaution. Il s'agit en effet de savoir dans quelle mesure et en quel sens une technique itérative générant une suite décroissante de prédicats sur un ensemble X :

{ avec Bt= AÖ?

vol. 14, n°l, 1980

(11)

peut être considérée comme une méthode effective de calcul de Bt. Ce problème n'a pas été abordé ici et est analogue à ce que A. Arnold et M. Nivat appellent dans [1] notion de calcul infini d'un programme récursif. Comme dans [1], en munissant l'ensemble X d'une structure d'espace métrique, on peut apporter des éléments de réponse.

Plus précisément, si d est une distance sur X, on peut définir pour toute partie A de X les notions suivantes :

diamètre de A,

diam(,4) = sup{d(a, b); a, beA};

voisinage de A de rayon r,

V(A, r) = {xeX', 3aeA, d(x, a)^r}.

On peut alors définir au moins deux niveaux d'efficacité :

niveau 1 : diam (£?-£;) tend vers 0 quand n tend vers l'infini;

niveau 2 : pour tout r positif, il existe n' tel que pour n^.n' :

Les exemples £x et E2 correspondent respectivement aux niveaux 1 et 2.

Par contre l'exemple E3 échappe aux deux critères et dans ce cas on peut dire que la méthode itérative n'est pas efficace.

REFERENCES

1. A. ARNOLD et M. NIVAT, Non Deterministic Commutation Spaces, Second International workshop on semantics of programming languages, Bad-Honnef, mars 1979.

2. E. W. DIJKSTRA, Self-Stabilizing Systems in Spite of Distributed Control, Comm.

A.C.M., vol. 17, 1974, p. 643-644.

3. E. W. DIJKSTRA, A Discipline of Programming, Prentice-Hall, New Jersey, 1976.

4. M. SINTZOFF, Inventing Program Construction Rules, Dans Constructing Quality Software, P. HIBBARD et S.SCHUMAN, éd., North. Holland, Amsterdam, 1978, p. 471-501.

5. A. TARSKI, A Lattice Theoretical Fixpoint Theorem and its Applications, Pac. J. Math., vol. 5, 1955, p. 285-310.

6. M. TCHUENTE, Sur r auto-stabilisation dans un réseau d'automates, R.R., n° 111, 1978, Maths Appliquées Grenoble.

7. A. VAN LAMSWEERDE et M. SINTZOFF , Formai Dérivation of Strongly Correct Concurrent Programs, Acta Informatica, vol. 12, 1979, p. 1-31.

Références

Documents relatifs

Écrire un algorithme qui demande un nombre de départ et qui affiche les dix nombres suivants.. Élaborer un algorithme permettant le calcul de la somme des entiers de 1

Pour illustrer les possibilités de cette méthode, on Vapplique aux cas de 2, 3 ou A files d'attente en cascade; pour deux files, on montre ainsi — presque sans calcul — que si le

physique (problèmes de perturbation), peuvent être transformées en des équations intégrales de Fredholm, lorsque les conditions aux limites sont

Dans, l’essai ALOFT (Aliskiren Observation of Heart Failure Treatment) qui a inclus 302 patients ayant une insu ff isance cardiaque stade II à IV, une hypertension artérielle et

(b) On utilise l’invariant de boucle et la condition de sortie de boucle (dans le cas d’une boucle ”while”) pour d´eterminer les valeurs des grandeurs significatives `a la sortie

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des

ASIR (« Adaptive Statistical Iterative Reconstruction ») fait partie de la première génération des algorithmes itératifs utilisé en tomographie. Il est l’un des plus utilisé

Dans le projet « OTOVEIL : Développer des Outils Techniques et organisationnels de conseil pour la surveillance et la prévention sanitaire dans les élevages biologiques »,