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
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
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),
É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
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
É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
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. •
É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
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.
É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
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.