Académique Documents
Professionnel Documents
Culture Documents
Sznajder M2
Sznajder M2
xX
D(x). (2.1)
Ainsi, les domaines de dnition de tous les canaux internes sont identiques,
et chaque canal permet de faire suivre la valeur des canaux dentre.
Excutions (comportements, runs). Ltat du systme un instant
x est la valeur des variables, et est dcrit par une fonction dinterprtation
s : V
zV
D(z)
telle que s(z) D(z) pour tout z V . On dsigne par s[Z] la restriction de
s Z V . On remarque quon peut identier s[Z] un tuple index par Z.
On dnit un run (inni) comme une suite dtats s
0
s
1
. . . s
n
. . . .
Calculs et dlai. On travaille dans un cadre synchrone et temps discret.
chaque instant, lenvironnement fournit de nouvelles valeurs pour les variables
dentre. Chaque processus calcule alors de nouvelles valeurs quil crit sur
ses variables de sortie, pour obtenir ltat atteint linstant suivant. Nous
considrerons deux variantes pour ce calcul :
1. smantique sans dlai (ou 0-dlai). Dans cette smantique, chaque pro-
cessus recoit en entre linstant i lensemble des valeurs dj calcules
par ses prdcesseurs (dans le graphe des processus) linstant i gale-
ment. Ceci suppose le graphe des processus (ou des variables) acyclique,
puisquentre linstant i et linstant i + 1, le calcul se propage des en-
tres vers les sorties. Lenvironnement fournit donc des valeurs pour
les variables dentre, qui sont utilises par les processus minimaux du
graphe pour eux-mme calculer leurs sorties, etc.
7
2. smantique avec dlai (ou 1-dlai ). Dans cette smantique, les valeurs
des variables sont supposes connues linstant initial. Pour passer de
linstant i linstant i + 1, chaque processus utilise dans son calcul les
valeurs disponibles linstant i sur les variables quil lit et assigne les
variables sur lesquelles il peut crire. Autrement dit, dans la smantique
avec dlai, les valeurs lues par chaque processus proviennent de ce qui
a t crit linstant prcdent.
Une excution particulire sur une telle architecture sera donc un run
s
0
s
1
. . . s
n
. . . , identiable un mot sur lalphabet
zV
D(z).
Spcications. En plus de larchitecture, on se donne une spcication
qui dcrit un ensemble de comportements. La spcication peut tre donne
par exemple par une formule du -calcul, en CTL* ou en LTL sur lalphabet
des dirents tuples de valeurs possibles forms par les variables du systme,
i.e. =
zZV
D(z). La spcication porte donc sur les mots constitus
par les runs du systme. Le langage de spcication est
1. externe sil ne permet de spcier que sur la valeur des variables ex-
ternes. En particulier, la validit dune formule sur une excution ne
dpend que de la projection de lexcution sur Z = X Y .
2. interne sil permet de spcier sur la valeur de toutes les variables :
Z = V .
Stratgies. On dnit prsent les programmes associs lcriture de
chaque variable, programmes quon identie des stratgies dans un jeu
environnement contre lquipe des processus. Pour un graphe de variables
(V, A), soit z V . On note
R(z) = A
1
(z)
son ensemble de lecture. Une stratgie pour la variable z est une fonction
g
z
: (
tR(z)
D(t))
+
D(z)
si lon est en 0-dlai. On dit dans ce cas-l que le run s
0
s
1
est un g
z
-run
si, pour tout i 0,
s
i
(z) = g
z
(s
0
[R(z)] . . . s
i
[R(z)]).
Dans une smantique 1-dlai, on dnit galement la stratgie lorsque le
canal dentre est vide, ce qui nous donne en fait la valeur de z linstant
8
initial. Une stratgie pour z est donc une fonction
g
z
: (
tR(z)
D(t))
D(z).
On dit que le run s
0
s
1
est un g
z
-run dans une smantique 1-dlai si, pour
tout i 1,
s
i
(z) = g
z
(s
0
[R(z)] . . . s
i1
[R(z)]) et
s
0
(z) = g
z
().
Par la suite, on utilisera la notation s
i
[X] pour s
0
[X] s
i
[X], cest--dire la
version avec mmoire de linterprtation des variables.
On appellera stratgie distribue un tuple g = (g
z
)
zTY
de stratgies
locales (quon notera parfois sous forme ensembliste). tant donn une stra-
tgie distribue g = (g
z
)
zTY
, on dit quun run est un g-run si cest un g
z
-run
pour tout z T Y . On dit quune telle stratgie g ralise une proprit
LTL si tout g-run satisfait . On dira aussi que g est gagnante (vis--vis
de la proprit , qui sera souvent sous-entendue),
Le problme de synthse. On dnit enn le problme de synthse (ou
de ralisabilit) de la faon suivante : tant donne une architecture A, une
formule de spcication , on cherche sil existe des stratgies (f
z
)
zTY
pour les variables internes et de sortie, telles que tous les runs respectant ces
stratgies satisfassent la spcication , et si cest le cas, on veut synthtiser
de telles stratgies mmoire nie.
Exemple. Sur larchitecture reprsente sur la gure 2.4, le problme de
synthse distribue 0-dlai va donc tre, tant donne une formule sur lal-
phabet = D(x
0
)D(x
1
)D(y
0
)D(y
1
), de trouver les programmes/stratgies
g
t
0
: D(x
0
)
+
D(t
0
)
g
t
1
: D(x
0
)
+
D(t
1
)
g
t
2
: D(x
1
)
+
D(t
2
)
g
t
3
: D(t
0
)
+
D(t
3
)
g
t
4
: (D(t
1
) D(t
2
))
+
D(t
4
)
g
t
5
: (D(t
1
) D(t
2
))
+
D(t
5
)
g
y
0
: (D(t
3
) D(t
4
))
+
D(y
0
)
g
y
1
: D(t
5
)
+
D(y
1
)
telles que pour tout run respectant ces stratgies locales, cest--dire tout run
s
0
s
1
tel que pour tout i, s
i
(z) = g
z
(s
i
(R(z))), s
0
[X Y ] s
1
[X Y ]
satisfait .
9
2.1.2 Constructions sur les arbres
Les stratgies se reprsentent tout naturellement sous forme darbres.
Dans le cas 1-dlai, une stratgie est un arbre par dnition. Dans le cas
0-dlai, la stratgie nest pas dnie sur le mot vide. On tend une telle
stratgie f
z
: (
tR(z)
D(t))
+
D(z) en un arbre en posant f
z
() = , o
/ X Y Z. De la mme faon, un ensemble de runs se reprsente par
un arbre.
On introduit prsent des constructions sur les arbres, qui permettent
en particulier de passer dun arbre de stratgie larbre des comportements
induits par la stratgie.
Pour t un (X, Y )-arbre, on note xray(t) le (X, (X)Y )-arbre tel que
xray(t)() = (, t()), et, pour tout X
, x X, xray(t)( x) =
(x, t( x)).
Pour X, Y et Z ensembles nis, et pour t un (X, Y )-arbre, on construit
wide
Z
(t) un (X Z, Y )-arbre tel que pour tout (
X
,
Z
) (X Z)
,
(wide
Z
(t))(
X
,
Z
) = t(
X
). Les tiquettes de wide
Z
(t) ne tiennent
donc pas compte de la valeur dans Z du nud.
Pour t un (X, Y )-arbre, on note delay(t) le (X, Y )-arbre tel que pour
tout X
). La fonc-
tion : Q Y B
+
(X Q) (o B
+
(X Q) est lensemble des formules
boolennes positives sur XQ) associe un tat de lautomate et une lettre
10
une formule donnant les nouvelles congurations possibles de lautomate. Par
exemple, si X = 0, 1, (q, y) = (0, q
1
) (0, q
2
) (0, q
2
) (1, q
2
) (1, q
3
)
signie que lorsque lautomate est dans ltat q et lit la lettre y, il peut soit
envoyer deux copies, dans ltat q
1
et dans ltat q
2
, dans la direction 0, soit
envoyer une copie dans ltat q
2
dans la direction 0, et deux copies, dans
ltat q
2
et dans ltat q
3
dans la direction 1.
Un run sur un automate darbres alternant / sur un (X, Y )-arbre t est un
(D, X
dD
(
D
d) ((
D
)
|Q
, t((
D
)
|X
)).
Un chemin inni est tiquet par la suite innie dtats visits. Un run est
acceptant si tous ses chemins innis satisfont la condition dacceptation .
Il existe dautres dnitions des automates darbres alternants, les re-
prsentant comme des jeux (les tats tant diviss en deux groupes pour
reprsenter les joueurs universel et existentiel) (voir par exemple [9]).
Un automate darbres non dterministe est un automate darbres alter-
nant dans lequel la fonction de transition est dnie de telle sorte quelle
nenvoie quune seule copie de lautomate dans chaque direction. Un run
dun automate non dterministe sur un (X, Y )-arbre t peut tre vu comme
un arbre (X, Y Q) qui serait larbre t auquel on a rajout dans ltiquette
de chaque nud ltat visit par lautomate ce moment.
On rappelle le thorme suivant :
Thorme 2.1.1 ([18] )
Un automate darbres alternant de Rabin avec m tats et k paires peut
tre transform en un automate non dterministe quivalent, avec m
O(mk)
tats et O(mk) paires.
2.2 Indcidabilit du problme en gnral
Pnueli et Rosner ont exhib dans [20] plusieurs architectures pour les-
quelles le problme de synthse distribue tait indcidable pour des spci-
cations LTL. La preuve se base sur une rduction du problme de larrt
dune machine de Turing. Larchitecture indcidable de base est larchitecture
totalement dconnecte, cest--dire constitue de deux processus ayant cha-
cun une variable dentre et une variabled de sortie, et ne communiquant pas
11
entre eux (voir gure 2.7). La preuve repose sur une rduction du problme
de larrt dune machine de Turing.
P
0
P
1
x
0
x
1
y
0
y
1
Fig. 2.7 Architecture A
0
En eet, tant donne M une machine de Turing quelconque, on peut
dnir une spcication LTL
M
telle que
M
est ralisable sur A
0
si et
seulement si M sarrte sur bande vide. Plus prcisment, supposons que
les domaines D(x
0
) et D(x
1
) valent 0, 1 et que les domaines D(y
0
) et
D(y
1
) permettent de coder les direntes congurations de M ainsi quun
symbole spcial $. Alors on peut crire une formule de spcication LTL
pour laquelle la seule ralisation possible soit pour chaque processus dcrire
la suite de congurations de la machine de Turing M. Nous allons la dcrire
informellement. Cette spcication est de la forme
M
=
1
(
2
3
) (2.2)
avec :
la formule
1
impose que les canaux dentre (i.e. lenvironnement)
ncrivent un symbole 1 que si les deux canaux de sortie ont crit un
symbole $ linstant prcdent, et que la dirence entre le nombre de
1 crit sur chaque l nexcde jamais 1. Par la forme de
M
, lenviron-
nement perd sil viole cette contrainte.
la deuxime formule (
2
) assure
que chaque canal de sortie ncrive que des $ jusqu ce que son
canal dentre crive 1, moment partir duquel il crit le code de la
premire conguration de la machine de Turing M, suivi dune suite
non vide de $.
que, par la suite, chaque fois quun processus reoit un 1 sur son
canal dentre, il crive sur son canal de sortie une conguration
lgale de la machine de Turing M,
que, chaque fois quil y a un 1 sur les deux canaux dentre, les
congurations C
0
et C
1
sorties sur les canaux y
0
et y
1
respectent les
conditions suivantes :
C
0
= C
1
si le nombre de 1 est le mme sur les deux canaux dentre,
12
C
0
C
1
si il y a un 1 de plus sur le canal dentre x
0
que sur le
canal dentre x
1
,
C
1
C
0
si il y a un 1 de plus sur le canal dentre x
1
que sur le
canal dentre x
0
,
avec C
0
C
1
signiant que les congurations C
0
et C
1
sont deux
congurations successives de la machine de Turing M.
et enn,
3
impose que si il y a un nombre inni de 1 sur les canaux
dentre, alors sur les canaux de sortie sera code une conguration
nale de la machine de Turing.
On peut montrer que la seule stratgie distribue ralisant la spcication
0,M
=
1
2
fait crire des $ sur chaque canal de sortie jusqu ce que le
canal dentre correspondant crive un 1. Puis, quand on lit le k-ime 1 sur
le canal dentre, elle fait crire sur le canal de sortie la k-ime conguration
de la machine de Turing M. Cest galement la seule stratgie gagnante pour
M
, qui assure en plus la convergence de M. On a donc le rsultat suivant :
Lemme 2.2.1
La spcication
M
est ralisable sur A
0
si et seulement si M sarrte sur
bande vide.
On a donc lindcidabilit du problme de synthse sur larchitecture A
0
.
On constate que la partie importante de la formule
M
est la sous-
formule
2
qui impose aux deux congurations sur les deux canaux de sortie
dtre ordonnes correctement, alors que les stratgies que lon cherche
ne peuvent pas savoir ce qua reu lautre processus. On voit l la source
principale dindcidabilit : une spcication globale est trop forte pour des
stratgies locales.
2.3 Dcidabilit du pipe-line
La preuve de dcidabilit de cette architecture a t prsente dans [20]
pour les spcications LTL, puis reprise et gnralise dans [11] pour des sp-
cications CTL* qui sautorisent, contrairement au papier originel, contraindre
les variables internes (i.e. les variables dans T). En eet, O. Kupferman et
M. Vardi sintressaient dans ce papier la dcidabilit des architectures. Or,
si lon sait dcider le problme de synthse dans le cas de formules spciant
toutes les variables du systme, on sait galement le dcider pour des for-
mules ne sautorisant contraindre que les variables dentre et de sortie, le
second ensemble de formules tant inclus dans le premier.
Nous nous plaons ici, comme dans [11], dans une smantique 1-dlai, et
avec des spcications CTL*.
13
2.3.1 Prliminaires
On considre que si deux variables y et z ont le mme ensemble de lec-
ture et sont en lecture des mmes variables (R(y) = R(z) et A(y) = A(z)),
alors on les fusionne en une seule variable x dont le domaine de dnition
est D(x) = D(y) D(z). On dnit donc une architecture pipe-line comme
une architecture dans laquelle chaque variable na quune variable en lec-
ture : pour tout z Y T, [R(z)[ = 1. Intuitivement, dans un pipe-line,
linformation est transmise de processus en processus, en droite ligne depuis
le canal dentre jusquau canal de sortie. Soit une formule de CTL* et une
architecture distribue de type pipe-line.
P
1
P
2
. . .
P
n
x
t
1
t
2
t
n
y
Fig. 2.8 Larchitecture pipe-line
Soit x la variable dentre et D(x) lensemble de ses valeurs, et soit t
i
tT
D(t) D(y).
Un arbre de run (ou de comportement) t est donc un D(x)-arbre (D(x)
D(o))-tiquet t : D(x)
D(x) D(y)
induit par un arbre de stratgie f : D(x)
D(y) est :
t() =
t(s) = s, f() pour tout s D(x)
t(s
1
. . . s
n
) = s
n
, f(s
1
s
n1
) pour tous (s
1
, . . . , s
n
) D(x)
n
On dnit la composition de deux stratgies dans le cas du pipe-line avec
une smantique 1-dlai. Il sagit de calculer par une seule fonction (la fonction
compose) les valeurs en sortie de deux processus en fonction des valeurs
en entre du premier, valeurs tenant compte du dlai dans la transmission
des informations (voir gure 2.9). Cest--dire que la stratgie compose va
calculer la valeur de la variable y en fonction de lentre sur x ainsi que la
valeur de la variable z en fonction des entres sur la variable y jusqu linstant
prcdent. Ainsi les comportements induits par les stratgies distinctes ou par
la stratgie compose sont identiques.
On note formellement en se basant sur labstraction des arbres :
14
x
y
z f
y
: D(x)
D(y)
f
z
: D(y)
D(z)
x
y
z
f
y
1
f
z
: D(x)
D(y) D(z)
Fig. 2.9 Vision de larchitecture pour une stratgie compose
Dnition 2.3.1 (Composition de stratgies avec dlai )
Soit f : X
Y et f
: Y
: X
Y Z comme suit :
f
1
f
() =
f(), f
()
f
1
f
(x
1
x
n
) =
f(x
1
x
n
), f
(f()f(x
1
) f(x
1
x
n1
))
tel
que xray(t
Y un programme et t : Y
Z un comportement. On
dnit leur composition f
1
t : X
Y Z ainsi :
f
1
t() = (, )
f
1
t(x
1
x
n
) =
f(x
1
x
n1
), t(f() f(x
1
x
n1
))
tel que /
si et seulement si xray(t) /.
Le problme de synthse de programmes dans le cas du pipe-line est r-
solu en se basant sur lide suivante : il sagit de considrer le pipe-line au
dpart comme une architecture singleton, avec plusieurs canaux de sortie,
puis de dcider si la stratgie gagnante pour larchitecture singleton peut
tre distribue de faon correspondre la structure du pipe-line. Pour cela,
deux approches similaires peuvent tre adoptes. La premire, prsente par
[11], est ce que nous avons appel la vision stratgies . Elle se base sur
la dnition de la composition de stratgies 2.3.1. On calcule une stratgie
globale pour toutes les variables du pipe-line, puis, inductivement, on d-
compose cette stratgie initiale en stratgies spciques chaque variable de
larchitecture, par des constructions dautomates darbres. La deuxime ap-
proche a t dveloppe au cours du stage et est trs proche de la prcdente.
La dirence rside dans le fait quau lieu de calculer une stratgie globale
pour les variables du pipe-line, on calcule les runs du pipe-line satisfaisant la
spcication, puis, en utilisant la dnition 2.3.2, on extrait inductivement
les direntes stratgies pour les variables qui, composes avec le compor-
tement du reste du pipe-line, vont induire un comportement accept. Nous
prsentons dans les parties suivantes ces deux approches successivement.
2.3.2 Vision stratgies
La construction pour dcider de lexistence dune stratgie distribue sa-
tisfaisant se base principalement sur le thorme suivant :
Thorme 2.3.5 ([11] )
Soit un automate darbres non dterministe / acceptant des X-arbres
Y Z-tiquets. On peut construire un automate /
alternant reconnais-
sant des Y -arbres Z-tiquets T tels quil existe un arbre de stratgie
f tel que la composition f
1
T soit accepte par /. On note L(/
) =
shape
Y
(L(/)).
Dmonstration: (Ide de preuve) Soit A = (Q, Y Z, q
0
, , ) automate
non dterministe avec Q lensemble dtats, Y Z lensemble dtiquetage,
16
q
0
ltat initial, la fonction de transition et la condition dacceptation.
On construit lautomate du thorme ainsi : A
= (Q, Z, q
0
,
, ) avec
(q, z) =
yY
((s
1
,x
1
),...,(s
|X|
,x
|X|
))|=(q,(y,z))
(s
1
, y) . . . (s
|X|
, y).
Lide est que lautomate A
va donc
deviner correspondra f(x
i
). Lautomate A
se comporte suivant
(q
i
, (f(x
i
), t(f())) = (q
i
, f
1
t(x
i
)). Il choisit lensemble dtats
(s
1
, . . . , s
|X|
) tel que ((s
1
, x
1
), . . . , (s
|X|
, x
|X|
)) |= (q
i
, (f(x
i
), t(f()))
et envoie toutes les copies dans la direction f(x
i
). Par suite, une copie
de A
sur t en devinant
les bonnes valeurs de f et en choisissant les ensembles dtats qui
tiquettent le run de A.
Intuitivement, lautomate A
D(o)
(en se servant du thorme 2.3.4).
On construit lautomate /
0
qui accepte les arbres t tels que delay(t)
L(/
0
). /
0
accepte donc les stratgies globales qui induisent un
comportement satisfaisant . En eet t L(/
0
) si et seulement si
xray(delay(t)) L(/
0
, alors est ralisable. On procde par induction.
Pour 1 i n 1
On construit /
i
automate non dterministe quivalent /
i1
.
On construit /
i
= shape
D(t
i
)
automate alternant acceptant des
D(t
i
)-arbres D(t
i+1
) D(t
n
)-tiquets T, programmes pour
les variables t
i+1
, t
n
tels quil existe un programme f pour t
i
(un
D(t
i1
)-arbre D(t
i
)-tiquet) tel que f
1
T L(/
i
) (en utilisant le
thorme 2.3.5).
L(/
n
) est non vide si et seulement si il existe une stratgie f
y
pour
y telle quil existe une stratgie f
n
pour t
n
telle quil existe . . . une
stratgie f
1
pour t
1
telle que f
1
1
1
f
n
1
f
y
soit une stratgie
gagnante pour , cest--dire que tout f
1
1
1
f
n
1
f
y
-run satisfasse
.
On a donc L(/
n1
) est non vide si et seulement si est ralisable.
2.3.3 Vision comportements
Nous exposons prsent lapproche considrant les comportements du
systme. Pour cela, nous avons besoin dun thorme similaire au tho-
rme 2.3.5 mais permettant dextraire des stratgies darbres de comporte-
ments globaux. Nous avons dvelopps cette approche car elle nous semblait
au premier abord plus naturelle. Ltape initiale de [11] qui consiste s-
lectionner les stratgies globales gagnantes conduit en fait considrer le
pipe-line comme une architecture singleton pour lequel on calcule une stra-
tgie. Intuitivement, il nous semblait plus naturel de considrer quels taient
les comportements acceptants (puisque contraint les comportements), puis
den dduire les stratgies pour les processus.
18
Thorme 2.3.6
Soit un automate darbres non dterministe /acceptant des X-arbres Y
Z-tiquets. On peut construire un automate /
alternant reconnaissant
des Y -arbres Z-tiquets t tels quil existe un arbre de stratgie f tel que la
composition f
1
t soit accepte par /. On note L(/
) = shape
Y
(L(/)).
Dmonstration: (Ide de preuve) Soit A = (Q, Y Z, q
0
, , ) automate
non dterministe avec Q lensemble dtats, Y Z lensemble dtiquetage,
q
0
ltat initial, la fonction de transition et la condition dacceptation.
On construit lautomate du thorme ainsi : A
= (QY, Z, (q
0
, ),
,
Y ) avec
((q, y), z) =
y
1
Y
((s
1
, x
1
), . . . , (s
|X|
, x
|X|
)) |= (q, (y, z))
((s
1
, y
1
), y
1
) . . . ((s
|X|
, y
1
), y
1
).
Soit t
1
L(A
sur t
1
. La racine du
run est tiquete par (q
0
, ) et lit t
1
(). Lautomate A
(= f(
X
x)) tels que
xX
(q
x
, x) (q, y, t
1
(
Y
y)) = (q, f(
X
), t
1
(
f(
X
)). Ainsi, ce run de
A
sur t
1
en devinant la stratgie f et en choisissant les ensembles dtats tiquetant
le run acceptant de A.
On a donc L(A
) = shape
Y
(L(A)).
Lalgorithme de dcision est le suivant :
On construit /
). On
procde ensuite par induction :
1 i n 1
On construit /
i1
automate non dterministe quivalent /
i1
.
On construit /
i
= shape
D(t
i
)
(L(/
i1
). /
i
accepte des arbres de
comportement t : D(t
i
)
D(t
i+1
) . . . D(t
n
) tels quil existe un
arbre de stratgie f : D(t
i1
)
D(t
i
) tel que f
1
t L(/
i1
)
/
n1
accepte des arbres de comportement t pour t
n
tels quil existe
une stratgie f
n1
pour t
n1
, . . . une stratgie f
1
pour t
1
telles que
f
1
1
(. . . (f
n1
1
t)) L(/
0
). On construit /
n
tel que t L(/
n
) si
et seulement si delay(t) L(/
n1
)(/
n
= wait(/
n1
)) et on a un
automate darbres acceptant des arbres de stratgie f
n
pour t
n
tels
quil existe une stratgie f
n1
pour t
n1
, . . . une stratgie f
1
pour t
1
telles que f
1
1
(. . . (f
n1
1
t)) L(/
0
).
L(/
n
) non vide si et seulement si est ralisable.
2.3.4 Remarque sur la complexit
On remarque que dans lune comme lautre des constructions, le thorme
de base faisant marcher la preuve a besoin dun automate non dterministe
pour construire un automate alternant. Donc, pour passer linduction, on
doit transformer lautomate alternant nouvellement construit en un automate
non dterministe. Cette opration ayant un cot exponentiel et devant tre
rpte O(n) fois pour un pipe-line de taille n, on obtient une complexit
non lmentaire a priori pour la dcidabilit du pipe-line.
2.4 Critre de dcidabilit pour spcications
sur toutes les variables
B. Finkbeiner et S. Schewe [6] ont tendu ce rsultat de dcidabilit du
pipe-line et ont exhib un critre uniforme dindcidabilit : linformation
fork. Ce critre est vrai pour des spcications du -calcul qui contraignent
toutes les variables du systme (internes et externes). Par ailleurs, le modle
utilis autorise le multicast de linformation cest--dire quune mme
variable peut tiqueter plusieurs artes. Ici encore, les preuves reposent sur
des techniques dautomates darbres. Nous ne les dvelopperons pas, mais
prsenterons plutt les ides intuitives sur lesquelles repose ce critre. Ici,
nous allons utiliser comme dnition dinformation fork la caractrisation
prsente dans [6], utilisant le formalisme des graphes de processus.
20
2.4.1 Dnition
Soit (P, V, r, w) une architecture distribue classique. On dnit un ordre
_ sur les processus tel que p _ q si et seulement si p a au moins autant
dinformation que q . Formellement, si on pose
E
p
= z V/z / r
1
(p)
lensemble des variables invisibles pour p, et
U
p
= q P/ il ny a pas de chemin de lenvironnement p dans E
p
, wide
Z
(t)(
X
,
Z
) = t(
X
).
Enn, pour tout (X, Y )-arbre t, on peut construire un (X, Y )-arbre delay(t)
tel que pour tout X
, x X, delay(t)( x) = t(x
0
), avec x
0
X une
valeur arbitraire de direction de la racine.
26
Thorme 3.2.2 ([12] )
Soit un automate darbres alternant / sur des (X, X Y )-arbres. On
peut construire un automate darbres alternant /
= cover(/).
Thorme 3.2.3 ([12] )
Soient X,Y et Z des ensembles nis. Soit un automate darbres alternant
/ sur des (X Z, Y )-arbres. On peut construire un automate darbres
alternant /
accepte t si et seulement si
/ accepte wide
Z
(t).
On note /
= narrow
Z
(/).
Thorme 3.2.4 ([12] )
Soit / un automate darbres alternant sur des (X, Y )-arbres. On peut
construire un automate darbres alternant /
= wait(/).
La construction
Pour un (X
0
X
1
, Z
0
)-arbre f
Z
0
et un (X
0
X
1
, Z
1
)-arbre f
Z
1
, on dnit
f la compose des deux comme tant un (X
0
X
1
, Z
0
Z
1
)-arbre tel que
(
1
,
2
) (X
0
X
1
)
:
f(
1
,
2
) = (f
Z
0
(
1
,
2
), f
Z
1
(
1
,
2
))
et on note f = (f
Z
0
, f
Z
1
).
Dnition 3.2.5
Soit f un (X
0
X
1
, Z)-arbre. On dit que f est avec dlai sur X
0
si
pour tout (
0
,
1
) (X
0
X
1
)
et pour tout x
0
, x
0
X
0
, x
1
X
1
,
f(
0
x
0
,
1
x
1
) = f(
0
x
0
,
1
x
1
)
Thorme 3.2.6
Soient X
0
, X
1
, Z
0
, Z
1
des ensembles nis. Si on a un automate darbres
non dterministe / sur des (X
0
X
1
, Z
0
Z
1
)-arbres, on peut construire
/
) si et seulement si il existe f
Z
1
(X
0
X
1
, Z
1
)-arbre avec
dlai sur X
0
tel que (f
Z
0
, f
Z
1
) L(/).
27
On note /
= div
Z
1
(/).
Intuitivement, lautomate darbres /
sur
les (X
0
X
1
, Z
0
)-arbres ainsi :
A
= (QZ
1
, Z
0
, {q
0
} Z
1
,
, Z
1
}
avec pour tout (q, z
1
) QZ
1
, et pour tout z
0
Z
0
,
((q, z
1
), z
0
) =
A (q, (z
0
, z
1
)),
Z Z
X
1
1
x
0
X
0
,
x
1
X
1
(A(x
0
, x
1
), Z(x
1
)), (x
0
, x
1
).
Soit f
Z
0
L(A
). f
Z
0
: (X
0
X
1
)
Z
0
. Soit
: (X
0
X
1
)
QZ
1
un run acceptant de A
sur f
Z
0
. Ce qui signie que pour tout
(X
0
X
1
)
xX
0
X
1
( x)
(), f
Z
0
()).
On pose
: (X
0
X
1
)
Q
f
Z
1
: (X
0
X
1
)
Z
1
tels que
= (, f
Z
1
).
On veut montrer que est un run acceptant de A sur (f
Z
0
, f
Z
1
).
Soit (
0
,
1
) (X
0
X
1
)
tant un
run de A
il existe A Q
X
0
X
1
et il existe Z Z
X
1
1
tels que
pour tout (x
0
, x
1
) X
0
X
1
, (
0
x
0
,
1
x
1
) = A(x
0
, x
1
) et
f
Z
1
(
0
x
0
,
1
x
1
) = Z(x
1
) par dnition de
. La fonction Z
ne dpend que de x
1
donc on a bien pour tout x
0
, x
0
X
0
, pour
tout x
1
X
1
, pour tout (
0
,
1
) (X
0
, X
1
)
, f
Z
1
(
0
x
0
,
1
x
1
) =
f
Z
1
(
0
x
0
,
1
x
1
), ce qui montre que f
Z
1
est avec dlai sur X
0
. Par
ailleurs,
(x
0
,x
1
)X
0
X
1
A(x
0
, x
1
) (q, z
0
, z
1
) par dnition de
,
donc
(x
0
,x
1
)X
0
X
1
A(x
0
, x
1
) =
(x
0
,x
1
)X
0
X
1
(
0
x
0
,
1
x
1
)
((
0
,
1
), (f
Z
0
, f
Z
1
)(
0
,
1
)). Donc est bien un run (acceptant) de
28
A sur (f
Z
0
, f
Z
1
) et il existe bien un arbre f
Z
1
: (X
0
X
1
)
Z
1
avec
dlai sur X
0
tel que (f
Z
0
, f
Z
1
) L(A).
Lautre sens de limplication est similaire. Soit f
Z
0
: (X
0
X
1
)
Z
0
et f
Z
1
: (X
0
X
1
)
Z
1
arbre avec dlai sur X
0
tels que (f
Z
0
, f
Z
1
)
L(A). On a donc : (X
0
X
1
)
: (X
0
X
1
)
Q Z
1
tel que pour tout
(
0
,
1
) (X
0
X
1
)
(
0
,
1
) = ((
0
,
1
), f
Z
1
(
0
,
1
)). Alors
sur f
Z
0
. En eet, soit (
0
,
1
) (X
0
X
1
)
.
Pour tout (x
0
, x
1
) X
0
X
1
, x
0
X
0
,
(
0
x
0
,
1
x
1
) = ((
0
x
0
,
1
x
1
), f
Z
1
(
0
x
0
,
1
x
1
)) = ((
0
x
0
,
1
x
1
), f
Z
1
(
0
x
0
,
1
x
1
)
avec
(x
0
,x
1
)X
0
X
1
(
0
x
0
,
1
x
1
) ((
0
,
1
), par dnition de
run de A et de f
Z
1
, arbre avec dlai sur X
0
. On peut donc dnir
Z Z
X
1
1
par Z(x
1
) = f
Z
1
(
0
x
0
,
1
x
1
) et A Q
X
0
X
1
tel que
pour tout (x
0
, x
1
) X
0
X
1
, A(x
0
, x
1
) = (
0
x
0
,
1
x
1
). On
a donc, par dnition de
(x
0
,x
1
)(X
0
X
1
)
(
(
0
x
0
,
1
x
1
)
(
0
,
1
), f
Z
0
(
0
,
1
)) et
sur f
Z
0
.
On a ainsi montr que le langage accept par lautomate A
tait gal
lensemble des arbres qui, composs avec un (X
0
X
1
, Z
1
)-arbre avec dlai
sur X
0
sont accepts par lautomate de dpart A.
3.2.2 Dcidabilit de larchitecture A
1
On montre prsent quelle est la procdure de synthse de programmes
pour larchitecture A
1
, tant donne une formule quelconque du -calcul.
Notations
On rappelle quon dnit une fonction dinterprtation des variables s qui
associe chaque variable une valeur dans son domaine de dnition. s
0
donne
les valeurs des variables linstant initial, puis pour tout i N, s
i
[X] donne
les valeurs joues par lenvironnement linstant i, s
i
[Y Z] donne les valeurs
joues sur les ls internes et de sortie. On note s
i
pour s
0
s
1
s
i
, lhistorique
des valeurs joues jusqu linstant i. Pour X
(D(x
0
) D(x
1
) D(z
0
) D(z
1
))
tel que pour tout (
0
,
1
) (D(x
0
) D(x
1
))
, (x
0
, x
1
) D(x
0
) D(x
1
),
s(
0
x
0
,
1
x
1
) = x
0
, x
1
, f(
0
,
1
), et s(, ) = . Pour le run
s
0
(x
0
) s
1
(x
0
) . . .
s
0
(x
1
) s
1
(x
1
) . . .
s
0
(y) s
1
(y) . . .
s
0
(z
0
) s
1
(z
0
) . . .
s
0
(z
1
) s
1
(z
1
) . . .
selon la stratgie f, larbre de stratgie est tiquet sur les noeuds de ce run
par f(, ) = s
0
(z
0
), s
0
(z
1
) les valeurs initiales pour les variables z
0
et z
1
.
Le noeud (s
0
(x
0
), s
0
(x
1
)) est tiquet par f(s
0
(x
0
), s
0
(x
1
)) = (s
1
(z
0
), s
1
(z
1
))
et ainsi de suite. La branche correspondante dans larbre de run s est de la
forme :
s(, ) =
s(s
0
(x
0
), s
0
(x
1
)) = (s
0
(x
0
), s
0
(x
1
), s
0
(z
0
), s
0
(z
1
))
= (s
0
(x
0
), s
0
(x
1
), f(, ))
(car nous sommes dans une smantique 1-dlai)
s((s
0
(x
0
), s
0
(x
1
)) (s
1
(x
0
), s
1
(x
1
))) = (s
1
(x
0
), s
1
(x
1
), s
1
(z
0
), s
1
(z
1
))
= (s
1
(x
0
), s
1
(x
1
), f(s
0
(x
0
), s
0
(x
1
)))
etc.
Procdure de dcision
Soit une formule de CTL
sur D(x
0
) D(x
1
) D(z
0
) D(z
1
). Pour
rsoudre le problme de synthse sur cette architecture, on construit les au-
tomates suivants :
30
/
),
un automate de Rabin alternant /
.
/
1
automate de Rabin non dterministe tel que /
1
= div
D(z
1
)
(/
). /
1
accepte des (D(x
0
) D(x
1
), D(z
0
))-arbres, cest--dire des arbres de
stratgies pour z
0
ayant connaissance de la valeur de x
1
tels quil existe
des arbres de stratgie pour z
1
tels que la stratgie compose des deux
soit accepte par /
.
/
1
= narrow
D(x
1
)
(/
1
) automate sur des (D(x
0
), D(z
0
))-arbres qui ac-
cepte les arbres accepts par /
1
qui ne dpendent pas de x
1
.
On a donc le rsultat suivant :
Thorme 3.2.7
La synthse dans le cas 1-dlai pour larchitecture ci-dessus est ralisable
si et seulement si le langage de lautomate /
1
est non vide.
Dmonstration: Supposons quil existe f
z
0
L(A
1
). Alors f
0
= wide
D(x
1
)
(f
z
0
)
L(A
1
) par dnition de la construction narrow. Donc, daprs le tho-
rme 3.2.6, il existe f
1
un (D(x
0
)D(x
1
), D(z
1
))-arbre avec dlai sur D(x
0
)
tel que (f
0
, f
1
) appartient L(A
). La fonction f
z
0
est la stratgie pour la
variable z
0
. On dnit la stratgie sans mmoire f
y
pour la variable y ainsi :
f
y
: D(x
0
)
D(y)
f
y
() = s
0
(y)
f
y
(s
i
(x
0
)) = s
i
(x
0
)
On dnit aussi la stratgie pour la variable z
1
:
f
z
1
: (D(y) D(x
1
))
D(z
1
)
f
z
1
(, ) = f
1
(, )
f
z
1
(s
i
[y, x
1
]) =
f
1
(s
1
(y) s
i
(y) x, s
i
(x
1
)) pour x D(x
0
) quelconque
si s
j
(y) D(x
0
) pour j > 1
0 sinon
La fonction f
z
1
est bien dnie car f
1
est avec dlai sur D(x
0
), donc quel
que soient x, x
D(x
0
), f
1
(s
1
(y) s
i
(y) x, s
i
(x
1
)) = f
1
(s
1
(y) s
i
(y)
31
x
, s
i
(x
1
)). On dnit la stratgie globale du systme comme tant la fonc-
tion
f : (D(x
0
) D(x
1
))
D(z
0
) D(z
1
)
f(, ) = f
z
0
(), f
z
1
(, )
f(s
0
[x
0
, x
1
]) = f
z
0
(s
0
[x
0
]), f
z
1
(f
y
(), s
0
[x
1
])
f(s
i+1
[x
0
, x
1
]) = f
z
0
(s
i+1
[x
0
]), f
z
1
(f
y
(s
i
[x
0
]), s
i+1
[x
1
])
On montre que larbre de stratgie f est gal larbre (f
0
, f
1
). En eet, pour
tout (
0
,
1
) (D(x
0
) D(x
1
))
, on a f
z
0
(
0
) = f
0
(
0
,
1
), par construc-
tion. Par ailleurs, pour tout (
0
,
1
) (D(x
0
) D(x
1
))
, et pour tout
x
1
D(x
1
), f
z
1
(f
y
(
0
),
1
x
1
) = f
z
1
(s
0
(y)
0
,
1
x
1
) = f
1
(
0
x,
1
x
1
)
pour x quelconque appartenant D(x
0
). On a donc, pour tout (
0
,
1
)
(D(x
0
) D(x
1
))
, f(
0
,
1
) = (f
0
, f
1
)(
0
,
1
), et larbre de stratgie glo-
bale f est reconnu par A
1
) est non vide, alors il existe une stratgie distribue gagnante pour la
spcication .
Inversement, supposons la spcication ralisable. Alors il existe
f
z
0
: D(x
0
)
D(z
0
)
f
y
: D(x
0
)
D(y)
f
z
1
: (D(y) D(x
1
))
D(z
1
)
stratgies telles que la stratgie compose f soit gagnante. Le run induit
s = xray(delay(f)) L(A
). On
pose
f
0
= wide
D(x
0
)
(f
z
0
)
f
1
: (D(x
0
) D(x
1
))
D(z
1
)
(, ) f
z
1
()
s
i
[x
0
, x
1
] f
z
1
(f
y
(s
i1
(x
0
)), s
i
(x
1
))
On remarque que pour tout (
0
,
1
) (D(x
0
)D(x
1
))
, pour tout x
0
, x
0
D(x
0
), pour tout x
1
D(x
1
),
f
1
(
0
x
0
,
1
x
1
) = f
z
1
(f
y
(
0
),
1
x
1
)
= f
1
(
0
x
0
,
1
x
1
)
donc f
1
est avec dlai sur D(x
0
). Par ailleurs, pour tout (
0
,
1
) (D(x
0
)
32
D(x
1
))
, x
0
D(x
0
), x
1
D(x
1
),
(f
0
, f
1
)(
0
x
0
,
1
x
1
) = f
0
(
0
x
0
,
1
x
1
), f
1
(
0
x
0
,
1
x
1
)
= wide
D(x
1
)
(f
z
0
)(
0
x
0
,
1
x
1
), f
z
1
(f
y
(
0
),
1
x
1
))
= f
z
0
(
0
x
0
), f
z
1
(f
y
(
0
),
1
x
1
)
= f
Donc (f
0
, f
1
) = f et (f
0
, f
1
) L(A
1
). Donc, sil existe une stratgie distribue gagnante
pour la spcication sur larchitecture A
1
, alors le langage de lautomate
A
1
est non vide.
3.2.3 Dcidabilit de larchitecture A
1
dans une sman-
tique 0-dlai
La preuve de dcidabilit est assez similaire celle prsente dans le cadre
1-dlai.
Construction sur les automates darbres
On reprend la notation pour la composition darbres de la section 3.2.1 : la
compose dun (X, Z
0
)-arbre et dun (X, Z
1
)-arbre est un (X, Z
0
Z
1
)-arbre,
se note (f
Z
0
, f
Z
1
) et est dnie, pour tout X
par
(f
Z
0
, f
Z
1
)() = f
Z
0
(), f
Z
1
().
Le thorme sur lequel se base la preuve de dcidabilit dans le cas 0-dlai
est le suivant :
Thorme 3.2.8
Soient X, Z
0
, Z
1
des ensembles nis. Si on a un automate darbres / non
dterministe reconnaissant des (X, (Z
0
Z
1
)-arbres, on peut construire
/
) si et seulement si il existe f
Z
1
un (X
0
X
1
, Z
1
)-arbre tel que
(f
Z
0
, f
Z
1
) L(/).
La dirence avec le thorme 3.2.6 est quici larbre f
Z
1
nest pas avec dlai
sur X
0
.
On note /
= div
0
Z
1
(/).
Intuitivement, comme pour le thorme 3.2.6, lautomate /
va imiter sur
un arbre f
Z
0
le comportement quaurait lautomate / sur larbre compos
par f
Z
0
et un arbre f
Z
1
quon devine. La contrainte de dlai sur X
0
tant ici
33
leve, il sut lautomate /
sur
les (X, Z
0
)-arbres ainsi :
A
= (Q, Z
0
, q
0
,
, )
avec, pour tout q Q, pour tout z
0
Z
0
,
(q, z
0
) =
z
1
Z
1
A (q, (z
0
, z
1
))
x X
(A(x), x)
Soit f
Z
0
: X
Z
0
arbre accept par A
. Soit : X
Q un run acceptant
de A
sur f
Z
0
, ce qui signie que, pour tout X
xX
( x)
((), f
Z
0
()). Soit () X
. Alors, il existe z
1
Z
1
, A Q
X
tels
que
xX
(A(x) ((), (f
Z
0
(), z
1
)), par dnition de
. On pose alors
f
Z
1
() = z
1
, et on a
xX
(A(x) ((()), (f
Z
0
(), f
Z
1
())). Or, par
dnition de
xX
( x) ((), (f
z
0
(), f
Z
1
())) = ((), (f
Z
0
, f
Z
1
)()) et
est galement un run acceptant de A sur (f
Z
0
, f
Z
1
).
Inversement, soient f
Z
0
: X
Z
0
, f
Z
1
: X
Z
1
deux arbres tels
que (f
Z
0
, f
Z
1
) L(A). Donc il existe : X
Q run acceptant de A
sur (f
Z
0
, f
Z
1
). Soit X
xX
( x)
((), (f
Z
0
, f
Z
1
)()) = ((), (f
Z
0
(), f
Z
1
())). On pose z
1
= f
Z
1
(), A
Q
X
tel que, pour tout x X, A(x) = ( x) et on a
xX
( x)
z
1
Z
1
A((),(f
Z
0
(),z
1
))
xX
(A(x), x)
=
((), f
Z
0
().
Donc est galement un run (acceptant) de A
sur f
Z
0
.
On a ainsi montr que le langage accept par A
(D(x
0
) D(x
1
) D(z
0
) D(z
1
))
s(, ) = (, , f(, )) = (, , )
s(
0
x
0
,
1
x
1
) = (x
0
, x
1
, f(
0
x
0
,
1
x
1
))
Procdure de dcision La procdure de dcision dans le cas 0-dlai est la
mme que dans le cas 1-dlai, sauf pour lemploi de la construction div
0
D(z
1
)
au lieu de div
D(z
1
)
.
Prcisment, on construit les automates suivants :
/
).
/
). /
1
accepte des (D(x
0
)D(x
1
), D(z
0
))-arbres, cest--dire des arbres
de stratgies pour z
0
ayant connaissance de la valeur de x
1
tels quil
existe des arbres de stratgie pour z
1
tels que la stratgie compose des
deux soit accepte par /
.
/
1
= narrow
D(x
1
)
(/
1
) automate sur des (D(x
0
), D(z
0
) )-arbres
qui accepte les arbres accepts par /
1
qui ne dpendent pas de x
1
.
Et, comme la section 3.2.2, on a le rsultat suivant :
Thorme 3.2.9
Le problme de synthse pour larchitecture A
1
dans le cas 0-dlai est
ralisable si et seulement si le langage de lautomate /
1
est non vide.
Dmonstration: Supposons quil existe f
z
0
L(A
1
). Alors, larbre f
0
:
(D(x
0
) D(x
1
))
D(z
0
) tel que f
0
= wide
D(x
1
)
(f
z
0
) est accept par
lautomate A
1
par dnition de la construction narrow. Daprs le tho-
rme 3.2.8, il existe f
1
: (D(x
0
) D(x
1
))
D(z
1
) tel que (f
0
, f
1
) soit
accept par A. On dnit pour les variables z
0
, y et z
1
les stratgies f
z
0
,
arbre appartenant L(A
1
), f
y
: D(x
0
)
+
D(y) stratgie sans mmoire
35
telle que f
y
(s
i
[x
0
]) = s
i
[x
0
], et
f
z
1
: (D(y) D(x
1
))
+
D(z
1
)
f
z
1
(s
i
[y, x
1
]) =
f
1
(s
i
(y), s
i
(x
1
)) si s
j
(y) D(x
0
) pour j 0
0 sinon
La stratgie globale du systme est dnie comme suit :
f : (D(x
0
) D(x
1
))
+
(D(z
0
) D(z
1
))
f(s
i
[x
0
, x
1
]) = (f
z
0
(s
i
(x
0
)), f
z
1
(f
y
(s
i
(x
0
)), s
i
(x
1
)))
= (f
z
0
(s
i
(x
0
)), f
z
1
(s
i
[x
0
, x
1
]))
On remarque que pour tout i N, f
z
0
(s
i
(x
0
)) = f
0
(s
i
[x
0
, x
1
]) par construc-
tion. Par ailleurs, f
z
1
(s
i
(x
0
), s
i
(x
1
)) = f
1
(s
i
[x
0
, x
1
]). Donc, f = (f
0
, f
1
)
et par suite, f L(A). Larbre de f-run s = xray(f) appartient donc,
par dnition de cover, L(A
D(z
1
) tel que f
1
(, ) = et f
1
(s
i
[x
0
, x
1
]) =
f
z
1
(f
y
(s
i
(x
0
)), s
i
(x
1
)). On remarque que, pour tout (
0
,
1
) (D(x
0
)
D(x
1
))
,
(f
0
, f
1
)(
0
,
1
) = (f
0
(
0
,
1
), f
1
(
0
,
1
))
= (f
z
0
(
0
), f
z
1
(f
y
(
0
),
1
))
= f(
0
,
1
)
Donc (f
0
, f
1
) = f et par suite, (f
0
, f
1
) L(A) = L(A
). Par le tho-
rme 3.2.8, f
0
L(A
1
), et, par dnition de f
0
et de narrow, f
z
0
L(A
1
).
Ainsi, L(A
1
est non vide si et seulement si la spcication est ralisable sur
larchitecture A
1
.
3.3 Critre de dcidabilit pour les architec-
tures bande passante maximale
On dnit un critre de dcidabilit pour les architectures dans lesquelles
la contrainte sur la bande passante est leve et pour des spcications ne
36
parlant que des valeurs dentre et de sortie du systme. Par ailleurs on
sintresse une smantique 0-dlai.
3.3.1 Critre de dcidabilit
On note pour une architecture (V, A) : Acc = A
. On va dnir un pr-
ordre sur Y tel que pour tout y
0
, y
1
Y , y
0
y
1
si et seulement si y
1
a
plus dinformation que y
0
. Formellement, on note y
0
y
1
si et seulement
si Acc
1
(y
0
) X Acc
1
(y
1
) X.
Dnition 3.3.1
Une architecture (V = X Y T, A) est information incomparable si
il existe x
0
et x
1
X tels que Acc(x
i
) Y Acc(x
1i
) ,= , i = 0, 1.
On rappelle que pour toute variable z V , on note R(z) = A
1
(z).
x
0
x
1
y
0
y
1
Fig. 3.3 Schma darchitecture information incomparable
Thorme 3.3.2
Une architecture est dcidable pour des spcications du -calcul si et
seulement si elle nest pas information incomparable.
Nous allons le dmontrer dans les sections suivantes.
On obtient facilement le lemme suivant :
Lemme 3.3.3
Une architecture est information incomparable si et seulement si on ne
peut pas totalement pr-ordonner les processus de Y selon le pr-ordre a
plus dinformation que.
Dmonstration: Si il existe y
0
et y
1
Y tels que y
0
y
1
et y
1
y
0
alors il
existe x
0
X tel que y
0
A
(x
0
) et y
1
/ A
(x
0
) (par dnition de y
0
y
1
),
et il existe x
1
X tel que y
1
A
(x
1
) et y
0
/ A
(x
1
) (par dnition de
y
1
y
0
). Alors y
0
Acc(x
0
) Y \Acc(x
1
) et y
1
Acc(x
1
) Y \Acc(x
0
) et
larchitecture est information incomparable.
37
Inversement, soient y
0
, y
1
Y et x
0
, x
1
X tels que y
0
Acc(x
0
)
Y \Acc(x
1
) et y
1
Acc(x
1
) Y \Acc(x
0
). Alors x
0
Acc
1
(y
0
) X mais
x
0
/ Acc
1
(y
1
) X donc y
0
y
1
et x
1
Acc
1
(y
1
) X mais x
1
/
Acc
1
(y
0
) X donc y
1
y
0
.
Ce critre se base sur une approche dirente de celle faite dans [6]. Le
critre d information fork dni dans ce papier est plus prcis que la
notion daccessibilit utilise ici : lindcidabilit est obtenue quand il existe
deux processus dont les tiquettes des chemins menant de lenvironnement
ces processus sont incomparables au sens ensembliste. Cette dnition nest
pas adapte notre cas. En eet considrons larchitecture A suivante dans
laquelle toutes les variables ont mme domaine (la gure de gauche reprsente
le graphe des processus, celle de droite, le graphe des variables) :
P
1
P
2
x
0
x
1
t
y
0
, y
1
x
0
x
1
t
y
0
y
1
Elle contient clairement une information fork selon [6] : les variables x
0
et
x
1
et les processus P
1
et P
2
. Cependant on remarque que, dans notre cadre,
il existe une rduction vers larchitecture A
:
P
x
0
, x
1
y
0
, y
1
x
0
x
1
y
0
y
1
En eet, si on a une stratgie gagnante pour larchitecture A, alors la stra-
tgie pour larchitecture A
,
on peut avoir la mme stratgie sur les variables y
0
et y
1
dans larchitecture
A en faisant simplement passer la valeur de la variable x
0
sur t.
Supposons quil existe une stratgie distribue f
t
, f
y
0
, f
y
1
sur A. Alors
on pose : g
y
0
(s
i
(x
0
, x
1
)) = f
y
0
(f
t
(s
i
(x
0
)), s
i
(x
1
)) et g
y
1
(s
i
(x
0
, x
1
)) =
38
f
y
1
(f
t
(s
i
(x
0
)), s
i
(x
1
)), et si f
t
, f
y
0
, f
y
1
est gagnante, alors g
y
0
, g
y
1
aussi. In-
versement, sil existe g
y
0
, g
y
1
stratgie distribue gagnante pour A
, alors on
pose f
t
(s
i
(x
0
)) = s
i
(x
0
), f
y
0
= g
y
0
et f
y
1
= g
y
1
, qui sont correctement dnies
car pour tout i, s
i
(t) = f
t
(s
i
(x
0
)) = s
i
(x
0
).
Larchitecture A
= (V
, A
) avec V
= X Y et A
= Acc (X Y ).
Dmonstration: Soit (f
z
)
zY T
une stratgie distribue sur V. Pour unier
les notations on pose articiellement pour tout x X, f
x
(s
i
(x)) = s
i
(x).
On dnit ensuite inductivement sur t T Y sur le graphe (acyclique) V
les fonctions f
t
ainsi :
f
t
(s
i
[Acc
1
(t) X]) = f
t
(f
v
(s
i
[Acc
1
(v) X]))
vR(z)
.
Et on pose pour tout z Z, g
z
(s
i
[R
(z)]) = f
z
(s
i
[Acc
1
(z) X]). La
fonction est bien dnie car R
(z) = Acc
1
(z) X. On montre maintenant
que (g
z
)
zY T
est quivalente (f
z
)
zY T
, cest--dire que pour tout i N,
pour tout z Z, g
z
(s
i
[R
(z)]) = f
z
(s
i
[R(z)]. En eet, soit t T Y tel
que R(t) X. Alors f
t
(s
i
[Acc
1
(t) X]) = f
t
(f
v
(s
i
[R(v)]))
vR(z)
) par
dnition et donc f
t
(s
i
[Acc
1
(t) X]) = f
t
(s
i
[R(t)) = f
t
(s
i
[R(t)]). Soit t
T Y , f
t
(s
i
[Acc
1
(t) X]) = f
t
(f
v
(s
i
[R(v)]))
vR(z)
), donc, par induction,
pour tout v tel que v R(t), f
v
(s
i
[Acc
1
(v) X]) = f
v
(s
i
[R(v)]). Donc,
f
t
(s
i
[Acc
1
(t) X]) = f
t
(f
v
(s
i
[R(v)])
vR(z)
= f
t
(s
i
[R(t)]) par dnition
39
dun f-run. Donc, pour tout z Y T, g
z
(s
i
[R
(z)]) = f
z
(s
i
[Acc
1
(z)X]).
Intuitivement, on a construit des stratgies qui simulent celles quavaient
les variables internes en les calculant directement sur les ls de sortie.
Inversement, soit (g
z
)
zY
stratgie distribue sur V
xX
(D(x){}), f
t
( s
i
[R(t)]) =
vR(t)
s
i
(v) (et
non f
t
( s
i
[R(t)]) = s
i
[R(t)]). Notons que, dans un f-run, pour tout t TY ,
s
i
(t) = f
t
(s
i
[R(t)]) = s
i
[R(t)]. Donc, par induction, pour tout i N, pour
tout t T Y , s
i
(t) = s
i
[Acc
1
(t) X]. On peut donc dnir, pour tout
y Y f
y
(s
i
[R(y)]) = f
y
(s
i
[Acc
1
(y) X]) = f
y
(s
i
[R
(y)]) = g
y
(s
i
[R
(y]),
et on a immdiatement que la stratgie distribuee sur V (f
z
)
zY T
est
quivalente la stratgie distribue (g
z
)
zY
sur V
.
On peut donc conclure que tout graphe de variables V = (XY T, A)
est quivalent un graphe de variables V
= (XY, A
= (V
= X Y
, A
, D(i) =
y
1
(i)
D(y).
Lemme 3.3.5
1 est ralisable pour formule du -calcul si et seulement si 1
est ra-
lisable pour .
40
Dmonstration: Soit (f
y
)
yY
une stratgie distribue pour V. On construit
une stratgie distribue (g
i
)
iNn
pour V
iNn
g
i
=
yY
f
y
= f et en particulier f si et seulement si g .
Inversement, soit (g
i
)
iNn
stratgie distribue sur V
. Pour tout y Y ,
on dnit f
y
comme la projection sur D(y) de g
(y)
et on a immdiatement
que g = f.
Fusion des variables dentre relies aux mmes variables de sortie
En rduisant dabord larchitecture une architecture sans variables in-
ternes, puis en fusionnant les variables ayant accs la mme quantit din-
formation, on obtient une architecture dans laquelle on peut totalement
ordonner les lments de Y : y
1
< y
2
< . . . < y
n
donc par dnition
R(y
1
) R(y
2
) . . . R(y
n
). On dnit un pr-ordre sur les variables
de X tel que x
1
x
2
si et seulement si Acc(x
2
) Acc(x
1
). Larchitec-
ture tant totalement ordonne pour les variables de sortie, elle est gale-
ment totalement pr-ordonne pour les variables dentre selon lordre ci-
dessus. Soit la fonction qui ordonne les variables de X. On a : X N
n
et partir dune architecture 1 = (X Y, A) dj totalement ordonne
sur Y , on construit une architecture 1
= (N
n
Y, A
) avec (i, y) A
si et seulement si (R(y)) = i (A
= (i, y)/x
1
(i), (x, y) A.
Pour tout i N, D(i) =
x
1
(i)
D(x). On montre maintenant que pour
tout y Y ,
xR(y)
D(x) =
(y)
D(x
). En eet,
x
(y)
D(x
) =
A
1
(y)
x
1
(x
)
D(x) =
x{
1
(x
)|x
A
1
(y)}
D(x). Or, par dnition
de A
,
1
(x
) [ x
A
1
(y) = A
1
(y), donc
(y)
D(x
) =
xR(y)
D(x).
Donc, sil existe une stratgie distribue (f
y
)
yY
sur 1 alors cest galement
une stratgie distribue sur 1
est ralisable.
On constate que le critre est invariant pour ces transformations.
41
Algorithme de dcision
Aprs avoir eectu ces direntes transformations sur larchitecture, on
obtient un graphe de variables de la forme :
x
0
x
1
. . . x
n1
x
n
y
0
y
1
. . . y
n1
y
n
Les architectures de cette forme sont dcidables. En eet, un graphe de
variables nest pas directement issu dun graphe de processus dans notre
cadre (cest une gnralisation de la gure 2.5 prsente la section 2.1.1),
mais on montre que cest quivalent larchitecture suivante :
P
1
. . .
P
n1
P
n
x
0
y
0
x
1
y
1
t
1
t
n2
x
n1
y
n1
t
n1
x
n
y
n
En eet, si on transforme le graphe ci-dessus en graphe des variables, on
obtient le graphe suivant :
x
0
x
1
. . . x
n1
x
n
y
0
y
1
. . . y
n1
y
n
t
1
. . .
t
n1
graphe qui, aprs la rduction de la section 3.3.2, est gal :
x
0
x
1
. . . x
n1
x
n
y
0
y
1
. . . y
n1
y
n
Pour rsoudre le problme de synthse, on peut donc se servir de faon
inductive de la procdure dcrite la section 3.2 en smantique 0-dlai. Soit
42
formule du -calcul. Par le thorme 3.2.1, il existe /
automate darbres
alternant sur des (D(x
0
) D(x
1
) D(x
n
), D(x
0
) D(x
1
)
D(x
n
) D(y
0
) D(y
1
) D(y
n
) )-arbres, arbres
accepts si et seulement si ils vrient la spcication . On construit ensuite
/ = cover(/
i1
) (avec /
0
= /
0
), automate non dterministe ac-
ceptant des (D(x
1
) D(x
ni+1
), D(y
0
) D(y
ni
))-
arbres de stratgie globale pour les variables y
0
, . . . , y
ni
ayant connais-
sance de la valeur de x
ni+1
, tels quil existe un arbre de stratgie pour
la variable y
ni+1
tel que la stratgie compose des deux soit accepte
par /
i1
,
/
i
= narrow
D(x
ni+1
)
(/
i
), automate sur des (D(x
1
) D(x
ni
), D(y
0
)
D(y
ni
) )-arbres, acceptant les arbres de stratgie glo-
bale pour les variables y
0
, . . . , y
ni
.
On remarque que cet algorithme est un passage linduction de la pro-
cdure prsente la section 3.2.3. On a encore le rsultat
Thorme 3.3.6
Le problme de synthse est ralisable si et seulement si le langage de
lautomate /
n
est non vide.
Dmonstration (Ide de preuve) : Supposons quil existe f
y
0
: D(y
0
)
{} appartenant L(A
n
). Alors f
0
= wide
D(x
1
)
(f
y
0
) appartient L(A
n
) et,
daprs le thorme 3.2.8, il existe un arbre f
y
1
: D(x
1
)
+
D(y
1
) {} tel
que (f
0
, f
y
1
) = (f
y
0
, f
y
1
) L(A
n1
). On note (f
y
0
, f
y
1
)
f
1
. Par induction, il
existe
f
i
: (D(x
1
) . . . D(x
i
))
+
(D(y
0
) {} . . . D(y
i
) {})
L(A
ni
), do f
i
= wide
D(x
i+1
)
(
f
i
) L(A
ni
). Par le thorme 3.2.8,
on sait quil existe f
y
i
+1
: (D(x
1
) . . . D(x
i+1
))
+
D(y
i+1
{})
tel que (f
i
, f
y
i+1
) = (
f
i
, f
y
i+1
) =
f
i+1
L(A
ni1
). Finalement, on ob-
tient lexistence de f
yn
: (D(x
1
) . . . D(x
n
))
+
D(y
n
) {} tel que
(
f
n1
, f
yn
) L(A
0
). Pour tout 0 i n, R(y
i
) = {x
1
, . . . , x
i
} et f
y
i
ainsi construit est tel que : f
y
i
: (D(x
1
) . . . D(x
i
))
+
D(y
i
) {}
est bien une stratgie pour la variable y
i
. La stratgie compose (
f
n1
, f
yn
)
appartenant L(A
0
), on a que la stratgie f = wide
D(x
0
)
((
f
n1
, f
yn
) qui
est la stratgie globale du systme telle quaucune variable ne dpende de
la valeur de x
0
(qui ne communique avec personne) appartient A. Donc
le run induit appartient A
ni
). Donc nalement, f
y
0
L(A
n
) et le langage de A
n
est donc non vide.
3.3.4 Architectures indcidables
Cette section montre que linformation incomparable est bien un critre
dindcidabilit. Nous le prouvons dabord dans le cadre de la bande passante
maximale, mais on verra en section 3.3.5 que le rsultat est valide sur archi-
tectures quelconques, donnant ainsi une condition susante dindcidabilit.
Thorme 3.3.7
Les architectures information incomparable sont indcidables pour les
spcications LTL.
Dmonstration: On note X et U les oprateurs next et until de LTL. On
fait une rduction du problme de synthse sur larchitecture A
0
introduite
dans [20], rappele dans les gures 3.4 et 3.5.
P
0
P
1
x
0
x
1
y
0
y
1
Fig. 3.4 Larchitecture A
0
- graphe de processus
x
0
x
1
y
0
y
1
Fig. 3.5 Larchitecture A
0
- graphe de variables
Soit A une architecture information incomparable. Notons x
0
et x
1
ses variables dentre et y
0
, y
1
ses variables de sortie dnissant linfor-
mation incomparable : cest--dire que y
i
Acc(x
i
) Y \Acc(x
1i
). Soit
44
X =
xX\{x
0
,x
1
}
D(x) et
Y =
yY \{y
0
,y
1
}
D(y). On pose = D(x
0
)
XD(x
1
) D(y
0
)
Y D(y
1
). Soit
0
= D(x
0
) D(x
1
) D(y
0
) D(y
1
).
On dnit une rduction red qui une formule
0
de LTL(
0
) associe =
red(
0
) de LTL() dnie par induction structurelle sur
0
comme suit :
si
0
= (x
0
, x
1
, y
0
, y
1
) pour x
i
D(x
i
), y
i
D(y
i
), alors on pose
red(
0
) =
x
X, y
Y
(x
0
, x, x
1
, y
0
, y, y
1
),
si
0
=
0
1
alors red(
0
) = red(
0
) red(
1
),
si
0
=
0
alors red(
0
) = red(
0
),
si
0
= X
0
, alors red(
0
) = X(red(
0
)),
si
0
=
0
U
1
alors red(
0
) = red(
0
) U red(
1
).
La spcication dnit un langage L
. Soit
0
la projection natu-
relle de sur
0
.
Remarque 3.3.8
Un run s
o
s
1
satisfait = red(
0
) si et seulement si
0
(s
0
s
1
) satis-
fait
0
.
En eet,
s
0
s
1
=
x
X, y
Y
(x
0
, x, x
1
, y
0
, y, y
1
) si et seulement si s
0
si et seulement si
0
(s
0
) (x
0
, x
1
, y
0
, y
1
) si et seulement si
0
(s
0
s
1
) (x
0
, x
1
, y
0
, y
1
) =
0
.
s
0
s
1
red() = red() si et seulement si s
0
s
1
red()
si et seulement si (par induction)
0
(s
0
s
1
) si et seulement
si
0
(s
0
s
1
) .
s
0
s
1
red(
0
1
) = red(
0
) red(
1
) si et seulement si
s
0
s
1
red(
0
) ou s
0
s
1
red(
1
), si et seulement si, par
induction,
0
(s
0
s
1
)
0
ou
0
(s
0
s
1
)
1
si et seulement
si
0
(s
0
s
1
)
0
1
.
s
0
s
1
red(X) = Xred() si et seulement si s
1
red()
si et seulement si, par induction,
0
(s
1
) si et seulement si
0
(s
0
s
1
) X.
s
0
s
1
red(
0
U
1
) = red(
0
)Ured(
1
) si et seulement sil existe
j tel que s
j
s
j+1
red(
1
) et pour tout k < j, s
k
red(
1
)
si et seulement si, par induction,
0
(s
j
s
j+1
)
1
et pour tout
k < j,
0
(s
k
)
0
si et seulement si
0
(s
0
s
1
)
0
U
1
.
On veut montrer que
0
est ralisable sur A
0
si et seulement si est
ralisable sur A. Grce la proposition 3.3.4, on peut supposer que A ne
possde aucune variable interne.
Soit (f
y
0, f
y
1) une stratgie distribue sur A
0
ralisant
0
. Alors, on
construit une stratgie g distribue sur A qui ralise = red(
0
) en posant
g
y
k (s
i
[R(y
k
)]) = f
y
k (s
i
(x
k
)) pour k = 0, 1, (3.1)
et on complte g arbitrairement sur les autres sorties de A. Notons que
(3.1) dnit bien des stratgies, car A na pas de variable interne et x
k
45
R(y
k
). Soit s
0
s
1
un g-run sur A. Par dnition, pour k = 0, 1, on a
s
i
(y
k
) = g
y
k (s
i
[R(y
k
)]) = f
y
k(s
i
(x
k
)), donc
0
(s
0
s
1
) est un f-run sur
A
0
, qui satisfait donc
0
. Daprs la remarque 3.3.8, s
0
s
1
satisfait .
Finalement, g ralise .
Inversement, soit (g
z
)
zY
stratgie distribue ralisant . On va dnir
des stratgies f
y
k : D(x
k
)
+
D(y
k
) (k = 0, 1) sur A
0
, satisfaisant
0
,
qui simulent les stratgies joues dans A dans le cas o lenvironnement ne
joue que des 0 sur les entres direntes de x
0
et x
1
. Pour toute fonction s
dinterprtation des variables de A
0
, on dnit une fonction dinterprtation
s
(x
k
) = s(x
k
) pour k = 0, 1 et pour tout
x X\{x
0
, x
1
}, s
(x) = 0. On pose
f
y
k(s
i
(x
k
)) = g
y
k(s
i
[R(y
k
)]) pour k = 0, 1. (3.2)
Clairement, si s
0
s
1
est un f-run de A
0
, alors s
0
s
1
est un g-run de A
dont la projection sur
0
est s
0
s
1
. Donc s
0
s
1
satisfait = red(
0
),
et nouveau par la remarque 3.3.8, le f-run s
0
s
1
=
0
(s
0
s
1
)
satisfait
0
. Donc f = (f
y
0
, f
y
1
) ralise
0
.
La fonction red dnit donc une rduction du problme de synthse
distribue sur larchitecture A
0
vers le problme de synthse distribue sur
larchitecture A, architecture donne information incomparable. Le pro-
blme de synthse tant indcidable pour A
0
, on obtient lindcidabilit
pour nimporte quelle architecture contenant un information incomparable.
3.3.5 Indcidabilit sur architectures quelconques
Le critre dinformation incomparable est susant pour lindcidabilit
mme dans le cas dune architecture bande passante non maximale. En eet
la rduction dune architecture information incomparable vers larchitecture
/
0
de Pnueli-Rosner peut se faire ds quon peut transmettre sparment un
bit dinformation vers les deux sorties. La dirence dans la preuve tient au
fait quici on ne peut pas a priori transformer le graphe de variables de faon
supprimer les variables internes, ntant pas sr de pouvoir transmettre toute
linformation jusquaux variables de sortie. Il sagit donc ici de ne transmettre
le long des chemins que linformation dont on a besoin.
Plus formellement, on peut rcrire la rduction de la faon suivante :
On se place dans le cas o, quel que soit x X, [D(x)[ = 2. Soient x
0
et
x
1
les variables de X et y
0
, y
1
les variables de Y constituant linformation
incomparable. La spcication dnit un langage L
. Soit
0
= D(x
0
)
D(x
1
) D(y
0
) D(y
1
). On dnit une rduction qui une formule
0
LTL(
0
) associe = red(
0
) une formule de LTL() de la mme faon qu
la section 3.3.4. La remarque 3.3.8 reste vraie.
46
On remarque tout dabord que x X, t T, [D(t)[ [D(x)[, et on
peut donc dnir des injections f
x,t
: D(x) D(t). Pour plus de simplicit,
on supposera par la suite que x X, t T, D(x) D(t).
Supposons quil existe une stratgie distribue f
y
0, f
y
1 sur A
0
satisfai-
sant
0
, alors il existe une stratgie distribue sur A qui satisfait = red(
0
).
En eet, soit t
0
1
, . . . , t
0
n
et t
1
1
, . . . , t
1
m
deux suites disjointes dtiquettes dartes
telles que (x
0
, t
0
1
), (x
1
, t
1
1
), (t
0
n
, y
0
), (t
1
m
, y
1
) A, et, pour tout 1 < i < n,
1 < j < m, (t
0
i
, t
0
i+1
) A, (t
1
j
, t
1
j+1
) A. Deux telles suites existent car
y
i
Acc(x
i
)Acc(x
1i
, i = 0, 1. Alors on dnit des stratgies locales sur
les chemins ainsi distingus qui vont transmettre linformation donne par
lenvironnement sur lentre x
j
, j = 0, 1 jusqu la stratgie crivant sur le
canal y
j
, qui va elle se comporter comme f
y
j .
Formellement, pour 1 k n, on dnit g
t
0
k
que lon note g
k
pour simplier
les notations. g
k
est une stratgie sans mmoire telle que pour k < n,
g
k
(s) = s(t
0
k1
)
g
y
0(s
i
[t R(y
0
)]) =
f
y
0(s
i
[t R(y
0
)](t
0
n
) si s
i
[t R(y
0
)](t
0
n
) D(x
0
)
+
0 sinon
On remarque que, si les processus se comportent suivant leurs stratgies,
on a, pour tout 1 k n, g
k
(s
i
[R(t
0
k
)]) = s
i
(t
0
k1
) = g
k1
(s
i
[R(t
0
k2
]) =
. . . = s
i
(x
0
). Donc, g
y
0( s
i
[R(y
0
)]) = f
y
0 ( s
i
(t
0
n
)) = f
y
0( s
i
(x
0
)). On fait de
mme pour les g
t
1
j
et g
y
1. Pour toutes les autres variables z T Y , on dnit
par exemple g
z
= 0. Soit s
0
s
1
un g-run sur A. Alors, pour tout i, pour
tout z X Y T, s
i
(z) = g
z
( s
i
(R(z))). Donc
{x
0
,z
1
,y
0
,y
1
}
( s
i
) = s
i
avec
s : x
0
, x
1
, y
0
, y
1
D(x
0
) D(x
1
) D(y
0
) D(y
1
)
s(z) = s(z) pour z x
0
, x
1
, y
0
, y
1
Donc s
i
(y
j
) = g
y
j ( s
i
(R(y
j
))) = f
y
j ( s
i
(x
j
)) = f
y
j (s
i
(x
j
)) pour j = 0, 1, et
s
0
s
1
est bien un f-run sur A
0
. Comme f
y
0, f
y
1 est gagnante pour
0
,
alors g
z
, z V est gagnante pour red(
0
) (daprs la remarque) et il existe
une stratgie distribue gagnante pour .
Inversement, supposons quil existe g
z
[z Y T stratgie distribue
satisfaisant . On va dnir f
y
0 : D(x
0
)
+
D(y
0
) et f
y
1 : D(x
1
)
+
D(y
1
). Les f
y
i sont les stratgies pour larchitecture A
0
satisfaisant
0
. Lide
est que les processus de A
0
vont simuler les stratgies joues sur toutes les
variables appartenant respectivement Acc
1
(y
i
), i = 0, 1 dans le cas o
lenvironnement ne joue que des 0 sur les entres direntes de x
0
et x
1
. On
dnit inductivement sur z Acc
1
(Y ) (induction possible car le graphe est
47
acyclique) des fonctions f
z
:
f
z
: (D(x
0
) D(x
1
))
+
D(z)
f
x
0(s
i
[x
0
, x
1
]) = s
i
(x
0
)
f
x
1(s
i
[x
0
, x
1
]) = s
i
(x
1
)
f
x
((s
i
[x
0
, x
1
]) = 0 D(x) pour x Xx
0
, x
1
f
z
((s
i
[x
0
, x
1
]) = g
z
(f
v
(s
i
[x
0
, x
1
])
vR(z)
)
Remarque : f
y
j ne dpend que de x
j
, j = 0, 1.
En eet, on montre par induction que si z nest pas dans Acc(x
j
) alors f
z
ne dpend pas de x
j
, j = 0, 1. Pour x X x
j
, cest vident. Si z
T Y Acc(x
j
), alors pour tout v R(z) on a v / Acc(x
j
). La stratgie
pour la variable z est dnie f
z
((s
i
[x
0
, x
1
]) = g
z
(f
v
(s
i
[x
0
, x
1
])
vR(z)
). Par
hypothse dinduction, f
v
(s
i
[x
0
, x
1
]) ne dpend pas de x
j
, pour tout v
R(z), donc f
z
ne dpend pas non plus de x
j
. Finalement, y
1j
nappartient
pas Acc(x
j
), et donc f
y
1j ne dpend pas de x
j
. Donc les fonctions f
y
0 et
f
y
1 sont bien des stratgies pour A
0
. Soit s
0
s
1
un f-run de A
0
. On dnit
s
0
s
1
g-run de A tel que
s
i
: V
zV
D(z)
s
i
(x
j
) = s
i
(x
j
) pour j = 0, 1
s
i
(x) = 0 pour x Xx
0
, x
1
Soit z T Y , s
i
(z) = g
z
(s
i
[R(z)]) par dnition dun g-run. Par induc-
tion, pour tout v R(z), pour tout i, s
i
(v) = f
v
(s
i
[x
0
, x
1
]), donc s
i
(z) =
g
z
(f
v
(s
i
[x
0
, x
1
])
vR(z)
) = f
z
((s
i
[x
0
, x
1
]). Donc s
i
(y
j
) = f
y
j ((s
i
[x
0
, x
1
]) =
s
i
(y
j
) pour j = 0, 1. Donc pour tout f-run s
0
s
1
sur A
0
, il existe un g-run
s
0
s
1
sur A tel que
{x
0
,x
1
,y
0
,y
1
}
(s
0
s
1
) = s
0
s
1
. Comme tout g-run
est gagnant, alors s
= red(
0
) et s =
{x
0
,x
1
,y
0
,y
1
}
(s
)
0
et f
y
0, f
y
1
est une stratgie distribue gagnante.
On a donc une rduction du problme de synthse distribue sur lar-
chitecture A
0
vers le problme de synthse distribue sur nimporte quelle
architecture information incomparable. Le problme de synthse tant ind-
cidable pour A
0
, on obtient lindcidabilit pour nimporte quelle architecture
information incomparable. En eet, on constate que les seules informations
transmises sont les variables x
0
et x
1
, que lindcidabilit de A
0
est conserve
si [D(x
0
)[ = [D(x
1
)[ = 2, cest--dire quand linformation transmise est la
plus petite possible, et on obtient donc lindcidabilit galement pour les
architectures bande passante xe information incomparable.
48
Chapitre 4
Conclusion et perspectives
Nous avons donc au cours du stage tudi un certain nombre de tech-
niques utilises pour rsoudre les problmes de synthse de contrleur dans
le cas distribu. Lindcidabilit arrive trs vite lorsque linformation trans-
mise par lenvironnement se divise en plusieurs branches distinctes, mais
nous avons dmontr un critre ncessaire et susant de dcidabilit plus
n que celui de [6] pour des spcications ne contraignant que les variables
externes du systme, dans le cas 0-dlai, et pour des architectures bande
passante maximale. La dicult technique principale pour prouver la d-
cidabilit darchitectures dans lesquelles lenvironnement communique avec
plusieurs processus de faon spare vient du fait que les informations de
lenvironnement sont stockes dans les noeuds des arbres de stratgie, et
les techniques dautomates darbres habituellement utilises sont inadaptes
pour suivre ces fourches de linformation.
Nous aimerions prsent tendre ce rsultat aux architectures quelconques
- i.e. bande passante xe. Une tape dans la ralisation de cet objectif est
de rsoudre larchitecture A
2
de la gure 4.1.
P
1
P
2
x
0
x
1
t
x
2
y
Fig. 4.1 Larchitecture A
2
En eet, nous savons depuis [20] que larchitecture de la gure 4.2 est in-
49
dcidable pour des spcications LTL (la preuve repose sur la mme ide que
la preuve dindcidabilit de A
0
prsente la section 2.2 avec la variation
que la spcication cette fois impose que, lorsque x
0
transmet la valeur 1,
sur le canal de sortie soit crite une conguration de la machine de Turing
encode par x
1
, ce qui fait que le processus P
0
doit transmettre la congu-
ration dj encode sur t et P
1
ne connat pas plus la valeur de x
0
que dans
larchitecture A
0
).
P
1
P
2
x
0
x
1
t
x
2
y
0
y
1
Fig. 4.2 Architecture indcidable
Cette preuve dindcidabilit ne peut pas tre applique telle quelle pour
larchitecture A
2
, car cette architecture ne possde quun l de sortie et on ne
peut donc forcer avec des spcications en logique temporelle la simulation
dune machine de Turing. Les direntes contraintes que devraient respecter
des stratgies locales synthtises sur les variables de A
2
nous poussent
regarder les preuves dindcidabilit pour les arbres contraintes dgalit.
Une autre direction de recherche que nous aimerions explorer serait de
trouver un critre de dcidabilit pour les architectures bande passante
maximale, mais avec une smantique 1-dlai. En eet, lintroduction du dlai
dans une architecture comme celle prsente la gure 4.3 si elle est bande
passante maximale, peut transmettre linformation jusqu la variable y, mais
que se passe-t-il si les informations sont transmises de faon croise ?
Enn, ainsi que nous lavons fait remarquer en section 2.2, la principale
source dindcidabilit provient du fait que les spcications LTL sont glo-
bales, alors que les stratgies recherches sont locales. Nous aimerions donc
restreindre le langage de spcication de telle sorte que dans ce nouveau mo-
dle, toutes les architectures soient dcidables. Une piste serait dadapter le
critre de spcication causale de [7] en tenant compte des bandes passantes.
50
P
1
P
2
P
3
P
4
P
5
P
6
x
1
x
2
t
1
t
2
t
3
t
4
t
5
t
6
t
7
y
Fig. 4.3
51
Bibliographie
[1] A. Arnold, A. Vincent, and I. Walukiewicz. Games for synthesis of
controllers with partial observation. Theoret. Comput. Sci., 303 :734,
2003.
[2] E. Asarin, O. Maler, and A. Pnueli. Symbolic controller synthesis for
discrete and timed systems. In Hybrid Systems, pages 120, 1994.
[3] B. Berard, M. Bidoit, A. Finkel, A. Laroussinie, F.and Petit, L. Petrucci,
and P. Schnoebelen. Systems and Software Verication. Model-Checking
Techniques and Tools. Springer, 2001.
[4] E. Clarke, O. Grumberg, and D. Peled. Model Checking. MIT Press,
2000.
[5] A. P. E. Asarin, O. Maler and J. Sifakis. Controller synthesis for timed
automata. In Proc. System Structure and Control. Elsevier, 1998.
[6] B. Finkbeiner and S. Schewe. Uniform distributed synthesis. In Proc.
20th Annual IEEE Symposium on Logic in Computer Science (LICS
2005). IEEE Computer Society, 2005.
[7] P. Gastin, B. Lerman, and M. Zeitoun. Causal memory distributed
games are decidable for series-parallel systems. In FSTTCS04, 2004.
[8] P. Gastin, B. Lerman, and M. Zeitoun. Distributed games and distri-
buted control for asynchronous systems. In M. Farach-Colton, editor,
Proceedings of LATIN 04, volume 2976 of Lect. Notes Comp. Sci., pages
455465. Springer, 2004.
[9] D. Kirsten. Alternating tree automata and parity games. Lect. Notes
Comp. Sci., pages 153167, 2002.
[10] O. Kupferman and M. Vardi. -calculus synthesis. In Proc. 25th Interna-
tional Symposium on Mathematical Foundations of Computer Science,
52
volume 1893 of Lecture Notes in Computer Science, pages 497507.
Springer-Verlag, 2000.
[11] O. Kupferman and M. Vardi. Synthesizing distributed systems. In Pro-
ceedings of LICS 01. Computer Society Press, 2001.
[12] O. Kupferman and M. Vardi. Churchs problem revisited. The Bulletin
of Symbolic Logic, 5(2) :245263, June 1999.
[13] O. Kupferman, M. Vardi, and P. Wolper. An automata-theoretic ap-
proach to branching-time model checking. J. ACM, 47 :312360, March
2000.
[14] P. Madhusudan and P. Thiagarajan. Distributed controller synthesis for
local specications. In Proceedings of ICALP 01, volume 2076 of Lect.
Notes Comp. Sci., pages 396407. Springer, 2001.
[15] P. Madhusudan and P. Thiagarajan. A decidable class of asynchronous
distributed controllers. In Proceedings of CONCUR 02, volume 2421 of
Lect. Notes Comp. Sci. Springer, 2002.
[16] S. Mohalik and I. Walukiewicz. Distributed games. In Proceedings of
FSTTCS 03, volume 2914 of Lect. Notes Comp. Sci. Springer, 2003.
[17] D. Muller and P. Schupp. Alternating automata on innite trees. Theo-
ret. Comput. Sci., 54 :267276, 1987.
[18] D. Muller and P. Schupp. Simulating alternating tree automata by non-
deterministic automata : New results and new proofs of theorems of
rabin, mcnaughton and safra. Theoret. Comput. Sci., 2(1) :90121, 1995.
[19] G. Peterson and J. Reif. Multiple-person alternation. In 20th Annual
Symposium on Foundations of Computer Science (San Juan, Puerto
Rico, 1979), pages 348363. IEEE, New York, 1979.
[20] A. Pnueli and R. Rosner. Distributed reactive systems are hard to syn-
thetize. In Proceedings of 31th IEEE Symp. FOCS, pages 746757, 1990.
[21] P. Ramadge and W. Wonham. The control of discrete event systems. In
Proceedings of IEEE, volume 77, pages 8198, 1989.
53