Vous êtes sur la page 1sur 57

Mmoire de Master 2 :

Synthse de contrleur dans les systmes


distribus synchrones
Nathalie Sznajder
2 Septembre 2005
Stage eectu sous la direction de Paul Gastin et Marc
Zeitoun
Laboratoire Spcications et Vrication
ENS Cachan
61 avenue du Prsident Wilson
94230 CACHAN
Table des matires
1 Introduction au problme du contrle distribu 1
2 tat de lart 4
2.1 Mise en place des dnitions . . . . . . . . . . . . . . . . . . . 4
2.1.1 Modles pour le problme de synthse distribue . . . . 4
2.1.2 Constructions sur les arbres . . . . . . . . . . . . . . . 10
2.1.3 Rappels sur les automates darbres . . . . . . . . . . . 10
2.2 Indcidabilit du problme en gnral . . . . . . . . . . . . . . 11
2.3 Dcidabilit du pipe-line . . . . . . . . . . . . . . . . . . . . . 13
2.3.1 Prliminaires . . . . . . . . . . . . . . . . . . . . . . . 14
2.3.2 Vision stratgies . . . . . . . . . . . . . . . . . . . 16
2.3.3 Vision comportements . . . . . . . . . . . . . . . . 18
2.3.4 Remarque sur la complexit . . . . . . . . . . . . . . . 20
2.4 Critre de dcidabilit pour spcications sur toutes les variables 20
2.4.1 Dnition . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.4.2 Procdure de dcision . . . . . . . . . . . . . . . . . . . 21
2.4.3 Indcidabilit des architectures avec information fork . 23
3 Nouveaux rsultats : Un nouveau critre de dcidabilit 24
3.1 Motivations . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.2 Preuve de dcidabilit de larchitecture A
1
. . . . . . . . . . . 25
3.2.1 Constructions sur les automates darbres . . . . . . . . 26
3.2.2 Dcidabilit de larchitecture A
1
. . . . . . . . . . . . . 29
3.2.3 Dcidabilit de larchitecture A
1
dans une smantique
0-dlai . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.3 Critre de dcidabilit pour les architectures bande passante
maximale . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3.1 Critre de dcidabilit . . . . . . . . . . . . . . . . . . 37
3.3.2 Rduction des architectures bande passante maximale 39
3.3.3 Procdure de synthse pour les architectures dcidables 40
3.3.4 Architectures indcidables . . . . . . . . . . . . . . . . 44
1
3.3.5 Indcidabilit sur architectures quelconques . . . . . . 46
4 Conclusion et perspectives 49
2
Rsum
La synthse de contrleur consiste, tant donn un systme partiellement
spci, dterminer un programme dont la synchronisation avec le systme
vrie une spcication donne. Lorsque le systme est distribu, il sagit de
construire des programmes locaux, un pour chaque processus du systme.
Des rsultats standard sur les jeux multi-joueurs information incom-
plte impliquent que ce problme est indcidable pour des spcications LTL.
Pour des architecures de communication dans lesquelles les processus sont or-
donns de faon linaire et pour lesquelles linformation est transmise entre
processus dans un seul sens, il a par contre t montr que le problme tait
(non lmentairement) dcidable pour des spcications -calcul.
Aprs avoir compar dirents modles et avoir extrait les points im-
portants des principaux rsultats antrieurs, ce rapport met en vidence un
critre de dcidabilit pour des spcications plus naturelles que celles consi-
dres prcdemment. Cette approche fournit des rsultats de dcidabilit
pour des architectures indcidables dans dautres modles.
Chapitre 1
Introduction au problme du
contrle distribu
Durant la dernire dcennie, la communaut informatique a fait dnormes
progrs dans le dveloppement doutils et techniques de vrication logi-
cielle. Il existe dans ce domaine trois approches complmentaires : lapproche
Preuves (qui essaie de prouver formellement sur le code source que le pro-
gramme vrie les spcications), lapproche Test (qui fonctionne elle sur
le code qui sexcute - et non sur le code source) et lapproche Model Che-
cking . Le Model Checking (voir comme livres de rfrence sur le sujet [3]
et [4]) commence par faire une abstraction du programme le modle sous
forme dun systme de transitions M. On se donne ensuite une spcication
(typiquement en logique temporelle), et le problme consiste rpondre
la question : est-ce que le modle M vrie la spcication ? Outre des
problmes de complexit dus lexplosion combinatoire de la taille des mo-
dles (en partie rsolus par les techniques de vrication symbolique), il a t
reproch cette mthode de vrication dintervenir uniquement la n du
dveloppement du programme. Le contrleur permet dintervenir au moment
de la conception pour synthtiser des programmes vriant la spcication.
Le problme de synthse de contrleur est donc plus gnral : il part
dun systme, contrlable et non totalement spci interagissant avec un
environnement qui lui est non contrlable. tant donne une spcication,
on veut contraindre le systme faire les choix qui permettent de vrier la
spcication. Divers problmes de contrle ont depuis longtemps t tudis
dans le cadre squentiel. Il est classique [21] que le problme est dcidable
pour des spcications rationnelles. Le systme contrler ne comporte alors
quun seul processus. Souvent, le problme se modlise par un jeu deux
joueurs, dans lequel le systme correspond larne du jeu, le contrleur
correspond un joueur (existentiel), lenvironnement au joueur universel,
1
pour lequel la spcication correspond la fonction de gain, et la synthse
du contrleur revient calculer une stratgie gagnante. Par la suite, plusieurs
extensions ont t envisages : le cas de systmes tats innis (automates
pile, temporiss, hybrides . . . - voir par exemple [5] ou [2]), et le cas de
systmes tats nis, mais distribus. Cest ce dernier type de systmes
que nous nous sommes intrsss.
Plus prcisment, on se donne un systme distribu sur une architec-
ture dnissant les communications possibles. Ce systme est ouvert : son
comportement est inuenc par lenvironnement dans lequel il sexcute. Les
systmes considrs sont distribus : ils consistent en plusieurs processus qui
communiquent par mmoire partage. Larchitecture du systme, suppose
connue et xe au cours du temps, indique les communications qui peuvent
avoir lieu. Un contrleur distribu est un systme respectant la mme ar-
chitecture de communication que le systme de dpart, donc compos de
contrleurs locaux, un par processus, espace dtats ni. Chaque contrleur
local sexcute sur lun des sites du systme, synchronis avec son processus
associ. Les contrleurs peuvent communiquer (en respectant larchitecture),
et inhiber certaines actions suivant la vue du systme quils peuvent avoir.
Cette synchronisation restreint ainsi lensemble des actions locales possibles,
en fonction de ltat courant du contrleur. Par ailleurs, on se donne une
spcication, i.e., un ensemble de comportements corrects du systme distri-
bu. Le problme est alors de dterminer sil existe un contrleur distribu
qui, une fois synchronis avec le systme, ne produit que des comportements
satisfaisant la spcication pour nimporte quels choix de lenvironnement. Si
cest le cas, la question est alors de trouver des algorithmes pour construire
un tel contrleur. Il ne sagit videmment pas de construire un contrleur
centralis qui aurait une vue globale.
Le cas distribu connat galement de nombreuses variantes, tant sur le
mode de communication des processus (synchrone - cas que nous allons tu-
dier : toutes les variables sont crites en mme temps, ou asynchrone - avec
une communication par envoi de messages, voir par exemple [15], ou [8]), que
sur le type de spcications (LTL, CTL*, -calcul, spcications portant sur
tous les canaux du systme -comme dans [11], [6]- ou bien uniquement sur les
canaux communiquant avec lenvironnement - comme dans [20], ou encore
spcications locales, qui ne portent que sur ce que voit chaque processus
- voir pour cela par exemple [14]), ou encore sur la prise en compte ou non
dun dlai dans la transmission de linformation. Des tentatives dunication
de tous ces modles ont t eectues dans [16] et [1].
Comme dans le cas squentiel, il existe un parallle naturel avec les jeux
distribus, donc les techniques de rsolution couramment utilises sont celles
utilises pour les jeux et les automates darbres. Les travaux de [20] se basant
2
sur [19] ont montr que le problme tait indcidable en gnral.
Dans ce mmoire, nous nous plaons dans le cadre dune smantique syn-
chrone, avec des programmes mmoire locale, et nous considrerons di-
rents types de spcications et de dlais. Notons que nous considrerons des
contrleurs nayant pas de restrictions sur leurs mouvements.
Lobjet du stage se base sur un rsultat publi par Finkbeiner et Schewe
[6], proposant un critre de dcidabilit pour des spcications du -calcul
portant sur tous les canaux du systme. Ce critre ne nous semblant pas
susamment n (ce type de spcications rend plus facile lindcidabilit)
et pas susamment naturel. En eet, il nous parat plus proche de la ralit
de considrer que la spcication ne porte que sur les inputs et outputs du
systme (les canaux communiquant avec lenvironnement), laissant le pro-
grammeur libre de faire passer linformation sur les canaux internes de lar-
chitecture comme il lentend. Nous avons donc tent de dvelopper un autre
critre, pour des spcications portant uniquement sur les canaux externes.
Lapport de ce mmoire se situe plusieurs niveaux : tout dabord une cer-
taine unication des dirents formalismes car, comme nous lavons vu, les
modles sont multiples. Puis, la comprhension, et parfois la simplication de
certaines preuves prsentes succintement dans des articles de confrences.
Enn, la dcouverte de nouveaux rsultats, en particulier dun nouveau cri-
tre pour des spcications portant uniquement sur les canaux de commu-
nication avec lenvironnement, et pour un nouveau type darchitectures : les
architectures bande passante maximale.
Nous prsenterons la partie suivante les direntes notations et tech-
niques qui seront utilises dans ce rapport, ainsi que les principaux rsultats
de dcidabilit et dindcidabilit sur lesquels nous nous sommes bass, avant
de prsenter dans le chapitre 3 notre nouveau critre de dcidabilit.
3
Chapitre 2
tat de lart
Nous allons dans ce chapitre dnir le cadre formel dans lequel nous allons
nous placer. Nous prsenterons ensuite les principaux rsultats existants
partir desquels nous avons travaill. Dabord, lexhibition dune premire
architecture indcidable [20], rendant le problme indcidable en gnral,
ensuite, la preuve de dcidabilit de larchitecture de type pipe-line expose
par O. Kupferman et M.Y. Vardi dans [11], et enn, un critre ncessaire et
susant dindcidabilit dans un cadre tendu [6].
2.1 Mise en place des dnitions
Il existe dans la littrature plusieurs modles pour reprsenter les architec-
tures distribues ; nous allons en prsenter quelques uns, ainsi quun nouveau
(les graphes de variables) qui a t dni durant le stage, et qui nous semblait
plus adapt notre cadre.
2.1.1 Modles pour le problme de synthse distribue
Architectures. Une architecture distribue dnit des interactions entre
processus communiquant par change de messages ou mmoire partage. On
peut la reprsenter par un tuple : (P, V, r, w) avec P un ensemble de pro-
cessus, V un ensemble de variables et, si on note env un processus spcial
reprsentant lenvironnement, r : V P env et w : V P env res-
pectivement les fonctions de lecture et dcriture sur ces variables. On pose
V = X Y T avec X = w
1
(env) lensemble des variables dentre et
Y = r
1
(env) lensemble des variables de sortie du systme. Les variables de
T sont dites internes, celles de X Y externes.
On dnit un graphe tiquet (P, ) ainsi : si r(x) = q et w(x) = p, on
4
note p
x
q. Intuitivement, p
x
q signie que p envoie de linformation q
par le canal tiquet par la variable x. On note que deux artes distinctes
sont tiquetes par des variables distinctes. Si r(z) = env et w(z) = p on
crit p
z
. De mme, si r(x) = p et w(x) = env on note
x
p.
On impose par ailleurs quil ny ait pas darc de env vers env. La gure 2.1
donne lexemple dune architecture, dite pipe-line.
P
1
P
2
. . .
P
n
x
t
1
t
2
t
n1
y
Fig. 2.1 Larchitecture pipe-line
On peut abstraire une architecture distribue en ne considrant plus un
graphe de processus (qui est la reprsentation classique) mais un graphe de
variables. On dnit le graphe (V, A) dans lequel les sommets sont les va-
riables, et les artes sont dnies ainsi : (x, y) A si w(y) = r(x) P.
On peut facilement reprsenter un graphe de processus T par un graphe de
variables 1. Les noeuds minimaux de 1 sont les variables X de larchitecture
distribue, les noeuds maximaux les variables Y et les arcs sont crs daprs
la dnition.
La gure 2.2 reprsente le graphe des variables du pipe-line de la gure 2.1.
x t
1
t
2
. . .
t
n1
y
Fig. 2.2 Larchitecture pipe-line sous forme de graphe de variables
Les gures 2.3 et 2.4 reprsentent la mme architecture sous forme de
graphe de processus et sous forme de graphe de variables.
P
0
P
1
P
2
P
3
P
4
P
5
x
0
x
1
t
0
t
1
t
2
t
3
t
4
t
5
y
0
y
1
Fig. 2.3 Architecture : graphe de processus
On peut par contre avoir un graphe de variables qui ne corresponde pas
un graphe de processus tel quon la dni. Par exemple, le graphe de variables
5
x
0
x
1
t
0
t
1
t
2
t
3
t
4
t
5
y
0
y
1
Fig. 2.4 Architecture : graphe de variables
de la gure 2.5 est parfaitement correct, mais nest pas issu dun graphe de
processus valide. En eet, soit le graphe de processus ainsi dni aurait deux
processus dirents ayant la variable x
0
en entre, ce que le modle ne permet
pas
1
. Soit, le processus p lisant x
0
et le processus q lisant x
1
crivent tous
deux sur z
1
. Ceci est interdit dans le modle si p ,= q (voir gure 2.6). Enn,
si p = q, on devrait avoir un arc (x
1
, z
0
) dans le graphe des variables.
x
0
x
1
z
0
z
1
Fig. 2.5 Exemple de graphe de variables
La reprsentation par graphe de variables est donc plus gnrale que la
reprsentation par graphe de processus. Par ailleurs, les spcications ne
considrent que les valeurs des variables, et les stratgies que lon essaiera de
synthtiser sont galement associes aux variables, et non aux processus. Il
est donc plus naturel de faire abstraction des processus et de travailler direc-
tement sur le graphe des variables, ce qui najoute aucune dicult technique.
Domaines et bande passante. Chaque variable z de V peut prendre ses
valeurs dans un ensemble ni particulier D(z). On considre que [D(z)[ > 1.
En eet, si une variable ne peut prendre quune seule valeur, elle peut tre
ignore, car elle napporte aucune information.
On appelle architecture bande passante maximale une architecture dans
1
Dautres modles [6] lautorisent, an de modliser le multicast, cf. section 2.4.
6
P
0
P
1
x
0
x
1
z
0
z
1
P
0
P
1
x
0
x
1
z
0
z
1
Fig. 2.6 Graphes de processus non valides correspondant la gure 2.5
laquelle, pour toute variable interne t T, on a
D(t) =

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

, x X, delay(t)( x) = t() et delay(t)() = .


On remarque que dans le cadre 0-dlai, on peut exprimer un arbre de run
s suivant la stratgie f en fonction de larbre de f ainsi : s = xray(f). En
eet, les nuds de larbre de stratgie tant les variables dentre, larbre de
f donne les valeurs sur les variables de sortie aux mmes instants. Pour lire le
run sur les tiquettes de larbre, il faut les enrichir avec la valeur des variables
dentre, donc des nuds. Dans le cas 1-dlai, on a s = xray(delay(f)).
2.1.3 Rappels sur les automates darbres
Cette analogie entre les arbres et les stratgies mne tout naturellement
utiliser des techniques dautomates darbres alternants ou non dterministes
pour rsoudre le problme de synthse distribue. Les automates darbres
alternants ont t introduits dans [17] comme une gnralisation des auto-
mates non dterministes. Nous prsenterons ici ces derniers comme un cas
particulier des premiers.
Un automate darbres alternant / = (Y, Q, q
0
, , ) accepte, pour un en-
semble X donn, des (X, Y )-arbres complets. Lensemble Q est lensemble
des tats de lautomate, avec q
0
ltat initial, la fonction de transition, et
une condition dacceptation (qui dnit un sous-ensemble de Q

). 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

Q)-arbre , o D est un ensemble ni. Chaque nud de correspond


un nud de t, mais plusieurs nuds de peuvent correspondre au mme
nud de t. Un nud de tiquet par (x, q) dnit une copie de lautomate
se trouvant dans ltat q et lisant le nud x de t (cest--dire t(x)). Un nud
de larbre de run et ses enfants doivent satisfaire la fonction de transition :

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

lensemble des variables dans T telles que (x, t


1
) A, et pour tout 1 < i < n,
(t
i1
, t
i
) A, (t
n
, y) A. On note D(o) =

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(o)) associant chaque entre du


systme la valeur sur toutes les variables cet instant. On rappelle que, dans
une architecture avec dlai, larbre de run 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

Z deux arbres de stratgie. On dnit leur


composition f
1
f

: 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
))

On dnit galement un autre type de composition pour le pipe-line :


tant donn un arbre de run t : D(y)

D(y) D(z) et un arbre de


stratgie f : D(x)

D(y), on dnit le comportement compos de t

tel
que xray(t

) = t et de f sur y et z comme le comportement sur y et z en


fonction de x, bas sur le comportement sur y induit par la stratgie f et le
comportement sur z qui en dcoule. Formellement on note :
Dnition 2.3.2 (Composition de stratgie et de runs)
Soit f : X

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
))

On va maintenant exposer des thormes gnraux sur direntes construc-


tions et transformations dautomates darbres, thormes qui vont nous tre
utiles pour dcider la ralisabilit.
Thorme 2.3.3 ([13] )
Pour toute formule de CTL*, on peut construire un automate darbres
/

tel que /

reconnaisse exactement les arbres satisfaisant .


15
Lautomate ainsi construit reconnat des arbres dans lesquels la structure
est apparente : les nuds sont galement tiquets par leur direction : ce sont
exactement les arbres de runs satisfaisant .
Thorme 2.3.4 ([12] )
Pour tout / automate alternant sur des X-arbres (XY )-tiquets, on
peut construire /

automate alternant sur des X-arbres Y -tiquets tel


que t /

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

mime sur un arbre t le comportement quaurait


A sur la stratgie compose dun certain programme f quon devine et t.
Il accepte donc un arbre t si et seulement si on a pu deviner un arbre f tel
que la compose selon 2.3.1 de f et de t est accepte par A.
Soit t un Y -arbre Z-tiquet accept par A

. On a donc un run ac-


ceptant de A

sur t. La racine du run est tiquete par (q


o
, ) et
lautomate lit la lettre t(). On devine y
0
= f() et on se comporte
selon A sur (q
0
, (f(), t()) cest--dire selon (q
0
, f
1
t()). On va
donc dans les tats q
1
, . . . , q
|X|
tels que ((q
1
, x
1
), . . . , (q
|X|
, x
|X|
)) |=
(q
0
, f(), t()) et dans la direction f(). Toutes les copies de lau-
tomate vont donc lire t(f()). Soit une copie de lautomate se trou-
vant dans ltat q
i
. Dans lautomate A, cela signie que lon est all
dans la direction x
i
dans larbre compos. La lettre y que 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

dans un tat s (qui tait associ une direction x) et dans un


nud y correspondant f(x
1
) va lire t(f(x
1
)), deviner f(x
1
x)
et se comporter en suivant (s, (f( x
1
x), t(f( x
1
)))), qui est bien
gal f
1
t( x
1
x). Le run de A

correspond bien un run de A


sur la compose dune stratgie f et de t. De plus, la suite dtats
dans larbre de run tant la mme, le run de A est acceptant.
Rciproquement, soit t un Y -arbre Z-tiquet et f un X-arbre Y -
tiquet tel que f
1
= f
1
t L(A). Soit un run acceptant de A
sur f
1
. Alors on construit un run acceptant 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

fonctionne ainsi : lorsquil lit une valeur z


sur larbre, il devine la valeur que le processus prcdent est en train dcrire
(programme f quon devine) et va dans cette direction car cest la valeur
quon lira linstant suivant (prise en compte du dlai). Les tats dans
lesquels se trouvent les direntes copies de lautomate linstant suivant
mmorisent la valeur qua lue le processus dont on devine la stratgie et
inuent sur la valeur de f quon va deviner (f( x
i
) si on est dans ltat
associ la direction x
i
).
Lalgorithme de dcidabilit fonctionne comme suit :
17
On construit un automate /

qui reconnat lensemble des arbres de


comportement satisfaisant la formule (en se servant du thorme 2.3.3).
Cet automate contient les valeurs des inputs sur ses tiquettes.
On construit lautomate /
0
qui accepte les arbres t tels que xray(t)
L(/

). Cest--dire quil accepte uniquement les arbres accepts par


/

pour lesquels la partie de ltiquette correspondant linput est la


mme que le noeud tiquet, en supprimant cette information devenue
redondante. Lautomate /
0
accepte donc des arbres t : D(x)

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(/

). Si il existe une stratgie distribue accepte


par /

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

). On a donc un run acceptant de A

sur t
1
. La racine du
run est tiquete par (q
0
, ) et lit t
1
(). Lautomate A

devine une valeur


y
1
(qui va tre gale f()) et choisit un ensemble dtats (q
1
, . . . q
|X|
)
tels que (q
1
, x
1
), . . . , (q
|X|
, x
|X|
) |= ((q
0
, ), t
1
()). Lautomate se trouve
maintenant dans un nud tiquet par (q
i
, y
1
) et lit t
1
(y
1
) = t
1
(f()). On
se comporte donc comme A sur (f(), t
1
(f())) = t(x), pour x X. Les
ls de ce nud dans larbre de run sont tiquets par les tats (s
j
, y
2
) avec
y
2
= f(x
i
) et les s
j
tels que (s
1
, x
1
) . . . (s
|X|
, x
|X|
) |= (q
i
, y
1
, t
1
(y
1
)) =
(q
i
, t(x)). Par suite, lorsque larbre du run de A

est dans un nud tiquet


par (q, y = f(
X
)), il lit t
1
(
Y
y) (pour
Y
Y

). Ses ls dans larbre
de run seront tiquets par les dirents q
x
et y

(= 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

correspond un run de A sur la composition


1
dun certain arbre (de
stratgie) f quon devine et de t
1
. Les deux runs tant tiquets par les
mmes tats, le run de A est acceptant, et donc il existe un arbre f tel que
f
1
t
1
soit accept par A.
Rciproquement, soient f et t
1
tels que f
1
t
1
L(A). On a alors un
run acceptant de A sur f
1
t
1
. On construit un run acceptant 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 /

lautomate reconnaissant les arbres de comportement


globaux satisfaisant .
19
On construit /
0
acceptant les arbres t tels que xray(t) L(/

). 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

on dit que p _ q si et seulement si q U


p
.
Dnition 2.4.1 (Information fork)
On dit quune architecture a un information fork si et seulement si on ne
peut pas totalement pr-ordonner tous ses processus.
La gure 2.10 donne des graphes dans lesquels le prordre est total. La
gure 2.11 met en vidence la fourche dinformation dans des architectures
avec information fork.
env
P
0
P
1
a
a
env
P
0
P
1
a, b
a
env P
1
P
2
P
3
a b c
d
Fig. 2.10 Exemples de graphes de processus sans information fork
2.4.2 Procdure de dcision
Le rsultat principal de [6] est le suivant.
Thorme 2.4.2
Le problme de synthse sur une architecture A est dcidable pour des
spcications -calcul portant sur toutes les variables si et seulement si
21
env
P
0
P
1
a
b
env
P
0
P
1
P
2
P
3
a, b
a
d
c
env P
1
P
2
P
3
P
4
P
5
a
b
c
c
d
d
e
e
f
b
f
Fig. 2.11 Exemples de graphes de processus avec information fork
A est sans information fork.
Lorsquune architecture ne contient pas dinformation fork, lalgorithme
de synthse commence par eectuer quelques transformations dessus : es-
sentiellement il sagit de regrouper les processus ayant la mme quantit
dinformation, et de supprimer les arcs allant dun processus moins inform
vers un processus plus inform.
Les processus ayant accs la mme quantit dinformation peuvent si-
muler les stratgies de leurs variables rciproques : on peut donc les fusionner
en un seul processus et obtenir ainsi une architecture totalement ordonne
quivalente larchitecture initiale. Dans le mme ordre ide, les arcs allant
dun processus moins bien inform un processus mieux informs sont redon-
dants car ces arcs retour peuvent tre simuls par le processus le mieux
inform. On peut donc construire une architecture quivalente larchitecture
totalement ordonne dj obtenue en supprimant tous les arcs retour .
Une fois ces transformations eectues, on obtient une architecture de la
forme prsente la gure 2.12.
Cest en fait un pipe-line dans lequel chaque processus peut recevoir des
entres de lenvironement. Cette architecture reste dcidable, et avec des tech-
niques dautomates darbres, car les processus sont totalement ordonns : le
premier processus a accs toute linformation. La synthse de programme
est donc une gnralisation de la construction par automate darbres prsen-
22
env
P
1
P
2
. . .
P
n
x
1
, . . . , x
n
x
2
, . . . , x
n
x
n
y
1
y
2
y
n
Fig. 2.12 Forme gnrique des architectures dcidables
te dans [11] (et que nous avons rappele la section 2.3) : il sagit, partir
de lautomate darbres reconnaissant les stratgies globales du systme, de
construire successivement des automates darbres reconnaissant des strat-
gies globales pour un nombre de plus en plus petits de processus, tels quil
existe des stratgies pour les processus retirs de larchitecture globale,
telles que le comportement global induit satisfait la spcication. Comme
la section prcdente, la preuve repose sur un thorme assurant que cette
opration de quotient sur les automates darbres est possible.
2.4.3 Indcidabilit des architectures avec information
fork
La preuve dindcidabilit repose sur lide que ds que lenvironnement
envoie de linformation sparment deux processus distincts, cela sut pour
retrouver la preuve dindcidabilit donne dans [20]. En eet, rajouter de la
communication entre les processus dans ce cas-l napporte rien, car la spci-
cation - portant galement sur les canaux internes - peut imposer dencoder
linformation transmise, rendant ainsi la valeur en entre inutilisable pour le
deuxime processus.
23
Chapitre 3
Nouveaux rsultats : Un nouveau
critre de dcidabilit
Dans ce chapitre nous prsentons un critre de dcidabilit pour des sp-
cications du -calcul ne contraignant que les variables dentre et de sortie
du systme (et non les canaux internes), sur les architectures bande pas-
sante maximale, dans une smantique 0-dlai. Nous exposons dabord ce qui
nous a amen dnir un tel critre, puis nous prsentons la preuve de d-
cidabilit dune architecture servant de base la dcidabilit du critre, et
enn le critre proprement dit : la notion dinformation incomparable.
3.1 Motivations
Type de spcications
Le critre propos dans [6] - qui autorisait les spcications contraindre
toutes les variables du systme - ne nous semblait pas satisfaisant : contraindre
les variables internes force parfois lindcidabilit ; que se passe-t-il si lon veut
tre plus n? Dun point de vue intuitif, il semble raisonnable de supposer
que les processus lintrieur dune architecture sont libres de communi-
quer de la faon dont ils le souhaitent pour obtenir le rsultat attendu, qui,
lui, repose sur les variables dentre et de sortie uniquement. Cest dailleurs
le cadre propos par Pnueli et Rosner dans [20]. Par la suite O. Kupfer-
man et M.Y. Vardi (dans [11]) ont dmontr des rsultats de dcidabilit
sur certaines architectures (en partie expose au chapitre prcdent) pour
des spcications CTL* contraignant toutes les variables du systme. Cette
extension du pouvoir dexpression des formules nous semble justie dans ce
cas prcis car il sagissait de dcidabilit ; le rsultat est donc plus fort. Par
24
contre, ce type de spcication rduit le nombre darchitectures dcidables :
nous montrons la section 3.2 une architecture indcidable pour une spci-
cation contraignant toutes les variables, mais qui devient dcidable si on lve
cette dernire contrainte. Ce type de spcications nous semble donc trop
fort pour un critre (ncessaire et susant) de dcidabilit.
Bande passante
Par ailleurs, lorsque les canaux internes ne sont pas contraints par la
spcication, un facteur qui inuence beaucoup la dcidabilit de larchitec-
ture est celui de la bande passante de ces canaux - la quantit dinformation
quils peuvent transmettre. Cest pourquoi, dans un premier temps, nous
nous sommes proposs de dmontrer un nouveau critre de dcidabilit, sur
des architectures bande passante maximale, cest--dire des architectures
pour lesquelles les bandes passantes des canaux internes sont susamment
grandes pour faire passer toute linformation possible. Cette contrainte sur
les bandes passantes est dailleurs souvent une condition ncessaire de dci-
dabilit : des architectures dcidables si lon est bande passante maximale
deviennent indcidables si on restreint dune certaine manire la capacit des
canaux.
Par ailleurs, nous considrons pour ce critre une smantique 0-dlai.
3.2 Preuve de dcidabilit de larchitecture A
1
Nous allons dabord prouver la dcidabilit de larchitecture de la -
gure 3.1 (ou 3.2)ci-dessous dans laquelle [D(x
0
)[ [D(y)[. Cette architecture
va se rvler tre larchitecture sous-jacente de toutes les architectures dci-
dables dans ce contexte, cest donc sa dcidabilit qui induit la dcidabilit
de toutes les architectures nayant pas dinformation incomparable. Cette
architecture contient un information fork au sens de [6] (form par les va-
riables x
0
et x
1
et par les processus P
0
et P
1
) et est donc indcidable pour
des spcications du -calcul contraignant toutes les variables du systme.
Nous allons montrer que dans le cadre que nous nous sommes xs :
spcications ne portant pas sur Y ,
bande passante susante,
cette architecture devient dcidable. Nous exposons tout dabord une construc-
tion gnrale sur les automates darbres, puis nous montrons comment elle
sapplique la dcidabilit de larchitecture de la gure 3.2, pour des spci-
cations du -calcul, dans une smantique 1-dlai, puis dans une smantique
0-dlai.
25
P
1
P
0
X
1
Z
1
X
0
Z
0
Y
Fig. 3.1 Architecture A
1
: graphe de processus
x
1
x
0
y
z
1
z
0
Fig. 3.2 Architecture A
1
: graphe de variables
3.2.1 Constructions sur les automates darbres
Rappels sur les arbres
On rappelle les thormes suivants :
Thorme 3.2.1 ([10] )
tant donne une formule du -calcul sur un ensemble AP de propo-
sitions atomiques et un ensemble X de directions, il existe un automate
alternant parit /
,X
reconnaissant exactement les (X, 2
AP
)-arbres sa-
tisfaisant .
On rappelle que, tant donn un (X, Y )-arbre t on note xray(t) le (X, X
Y )-arbre t auquel on a ajout la direction du noeud dans chaque tiquette.
Formellement, pour X

, x X, xray(t)(x) = (x, t(x)) et xray(t)() =

On dnit galement, pour tout (X, Y )-arbre t un (X Z, Y )-arbre


wide
Z
(t), dont les tiquettes ne tiennent pas compte de Z. Formellement,
pour tout (
X
,
Z
) (X Z)

, 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 /

sur des (X, Y )-arbres


tel que /

accepte un arbre t si et seulement si / accepte xray(t).


On note /

= 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 /

sur des (X, Y )-abres tel que /

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 /

sur des (X, Y )-arbres tel


que /

accepte un arbre t si et seulement si / accepte delay(t).


On note /

= 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
/

automate darbres non dterministe sur des (X


0
X
1
, Z
0
)-arbres tel
que f
Z
0
L(/

) 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 /

mime le comportement quaurait


lautomate / sur la compose du (X
0
X
1
, Z
0
)-arbre f
Z
0
quon lit et dun
(X
0
X
1
, Z
1
)-arbre f
Z
1
que lon devine. Larbre f
Z
1
devant tre avec dlai
sur X
0
, lautomate /

devine les valeurs Z(x


1
) = f
Z
1
(
0
x
0
,
1
x
1
) lorsquil
est dans ltat associ au noeud (
0
,
1
) et mmorise sa valeur dans ltat
associ chaque direction (
0
x
0
,
1
x
1
). Ainsi, on sassure que la valeur
devine est indpendante de la direction sur X
0
choisie. Dans chaque tat
(q, z
1
), en lisant ltiquette z
0
, lautomate /

se comporte comme / lorsque


ce dernier se trouve dans ltat q et lit ltiquette z
0
, z
1
. Le langage ainsi
reconnu correspond bien celui dcrit par le thorme.
Dmonstration: Soit A = (Q, Z
0
Z
1
, q
0
, , ). On dnit lautomate A

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
)

. Pour simplier les notations, on pose


z
0
= f
Z
0
(
0
.
1
), z
1
= f
Z
1
(
0
,
1
) et q = (
0
,
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
)

Q un run acceptant de A sur


f
Z
0
+ f
Z
1
. Posons

: (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

est un run acceptant de A

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

est un run acceptant de A

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

et une stratgie f ayant


pour domaine de dnition X

, on note f() = f() f(). On rappelle


quon identie les stratgies des arbres dont les directions reprsentent les
valeurs joues par lenvironnement et les tiquettes les valeurs crire sur les
ls internes et de sortie. Un arbre de run suivant une stratgie f est un arbre
dont les directions sont galement les valeurs joues par lenvironnement, et
les tiquettes donnent les valeurs quon peut lire, au mme instant sur les
dirents ls dentre et de sortie. Les dirents runs possibles se lisent donc
sur les direntes branches de larbre de run. Dans le cas dune smantique
29
1-dlai, on remarque que larbre des runs associ f est xray(delay(f)). Par
la suite, lorsquon considrera les stratgies comme des arbres, on dsignera
les noeuds par des variables du type , lorsquon considrera les stratgies par
rapport un run, on utilisera plutt les notations s
i
pour dsigner lhistorique
des valeurs joues.
Exemple
Pour larchitecture A
1
, si on note f
z
0
, f
z
1
, f
y
respectivement les stratgies
des variables z
0
, z
1
et y et f la stratgie globale du systme, s
0
s
1
est un
f-run si pour tout i N :
s
i+1
[z
0
, z
1
] = f(s
i
[x
0
, x
1
]) = f
z
0
(s
i
(x
0
)), f
z
1
(f
y
(s
i1
(x
0
)), s
i
(x
1
)). On dnit
un arbre de f-run s : (D(x
0
) D(x
1
))

(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
/

automate de Rabin alternant sur des (D(x


0
) D(x
1
), D(x
0
)
D(x
1
) D(z
0
) D(z
1
))-arbres. Cet automate accepte un arbre t si
et seulement si il satisfait .
un automate de Rabin alternant / = cover(/

),
un automate de Rabin alternant /

= wait(/) sur des (D(x


0
)
D(x
1
), D(z
0
)D(z
1
))-arbres. Lautomate /

reconnat en fait les arbres


de stratgies globales gagnantes.
/

automate de Rabin non dterministe quivalent /

.
/
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

, ce qui implique que larbre de run induit par


cette stratgie distribue s = xray(delay(f)) appartient, par construction
des dirents automates, L(A

) et la stratgie est gagnante. Donc, si


L(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

) (car f est gagnante), donc 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

) et, daprs le thorme 3.2.6, f


0

L(A
1
) et f
z
0
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
/

automate darbres non dterministe sur des (X, Z


0
)-arbres tels que
f
Z
0
L(/

) 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 /

de deviner, dans chaque noeud () de larbre


f
Z
0
la valeur z
1
= f
Z
1
() de larbre quon compose avec f
Z
0
. Formellement
on crit :
Dmonstration: Soit A = (Q, Z
0
Z
1
, q
0
, , ). On dnit lautomate A

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

, on a, pour tout x X, (x) = A(x), ce qui permet dcrire


que

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

.On a, par dnition dun run,

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

tait gal lensemble


des (X, Z
0
)-arbres tels quil existe un (X, Z
1
)-arbre tel que la compose des
deux est accepte par A.
Dcidabilit de larchitecture dans le cadre 0-dlai
Notations Dans le cadre 0-dlai, on rappelle que la stratgie pour une
variable y ayant comme variable en entre la variable x est dnie comme
34
la fonction f
y
: (D(x))
+
D(y). La correspondance avec un arbre se fait
donc en tiquetant la racine par . Avec la smantique 0-dlai, les arbres de
runs se calculent partir des arbres de stratgie en rajoutant simplement la
direction du noeud dans ltiquette. Formellement, pour une stratgie f, un
f-run s scrit s = xray(f). Pour larchitecture A
1
, si on note f
y
, f
z
0
, et f
z
1
les
stratgies des variables y, z
0
et z
1
, et f la stratgie globale du systme, on dit
donc que s
0
s
1
est un f-run si pour tout i N, s
i
[z
0
, 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
))). Un arbre de f-run s ici est donc tel que
s : (D(x
0
) D(x
1
))

(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 :
/

automate de Rabin alternant sur des (D(x


0
) D(x
1
), D(x
0
)
D(x
1
) D(z
0
) D(z
1
) )-arbres. Cet automate accepte
un arbre t si et seulement si il satisfait .
un automate de Rabin alternant / = cover(/

).
/

automate de Rabin non dterministe quivalent /.


/
1
automate de Rabin non dterministe tel que /
1
= div
0
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 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

), et la stratgie distribue construite est


gagnante.
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(f) L(A

), donc f L(A). On pose f


0
= wide
D(x
0
)
(f
z
0
), et
f
1
: (D(x
0
) D(x
1
))

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

va simplement simuler la stratgie sur la variable


t, et inversement, si il existe une stratgie gagnante 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

tant larchitecture singleton, elle est dcidable, et donc


A est dcidable. Cette dirence vient du type de spcications considres ;
dans [6], Finkbeiner et Schewe sintressent des spcications contraignant
toutes les variables du systme, tandis quici, les variables internes sont lais-
ses libres. Cest pourquoi la stratgie construite dans larchitecture A de
lexemple est gagnante : la spcication est la mme pour les deux architec-
tures et la variable t peut prendre la valeur que lon veut. De faon gnrale,
linformation provenant de lenvironnement peut donc tre transmise par
deux canaux tiquets diremment, si les strat gies lautorisent, et ce, quelle
que soit la spcication. Cest pourquoi le critre dinformation fork nest
pas pertinent dans ce cadre.
3.3.2 Rduction des architectures bande passante maxi-
male
Lexemple de rduction prsent la section 3.3.1 se gnralise toutes
les architectures bande passante maximale. Plus prcisment, on a la pro-
position suivante :
Proposition 3.3.4
Soit 1 = (V, A) avec V = X Y T un graphe de variables. Alors 1 se
rduit 1

= (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

. Alors, on pose pour


tout t T, avec D(t) =

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

) dans lequel les artes


de A

relient les variables selon leur accessibilit dans le graphe initial.


3.3.3 Procdure de synthse pour les architectures d-
cidables
On remarque que la rduction prcdente ne change pas le critre : les
deux graphes (avant et aprs rduction) sont quivalents pour la dcidabilit
et la ralisabilit si je sais construire une stratgie distribue pour lun,
je sais construire une stratgie distribue pour lautre qui induit les mmes
runs, et inversement.
On va montrer que les architectures bande passante maximale ne conte-
nant pas dinformation incomparable sont dcidables.
Fusion de variables de sortie ayant accs la mme information
Une architecture ne contenant pas dinformation incomparable peut tre
totalement pr-ordonne pour les variables de Y (daprs le lemme 3.3.3).
Les variables y
0
et y
1
de Y telles que y
0
y
1
et y
1
y
0
peuvent en fait tre
fusionnes. En eet elles ont accs la mme quantit dinformation, et les
stratgies associes vont avoir le mme domaine de dnition. Formellement,
partir dun graphe de variables simpli 1 = (V = X Y, A), et dune
fonction : Y N
n
qui pr-ordonne les variables, on construit un graphe
de variables 1

= (V

= X Y

, A

= (x, (y) [ (x, y) A) avec Y



= N
n
et pour tout i Y

, 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

. Sur un graphe de variables de la


forme V = XY , une stratgie distribue f scrit comme f = (f
y
)
yY
. En
eet, il ny a pas de variable intermdiaire dont on aurait besoin de calculer
la valeur pour appliquer la stratgie sur un l de sortie. La stratgie globale,
qui lie les variables dentre aux variables de sortie, est donc dans ce cas
prcis simplement la juxtaposition des stratgies locales f
y
, pour y Y
sur R(y) X. On commence remarque que, si y
1
et y
2

1
(i), alors
par dnition, Acc
1
(y
1
) X = Acc
1
(y
2
) X cest--dire R(y
1
) = R(y
2
).
On peut donc poser pour tout i N
n
, g
i
= (f
y
)
y
1
(i)
. On a donc g =

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

et rciproquement, et les runs induits sont les


mmes. Donc 1 est ralisable si et seulement si 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(/

), qui accepte les (D(x


0
) D(x
1
) D(x
n
), D(y
0
)
D(y
1
) D(y
n
) )-arbres, arbres correspondant aux
arbres accepts par /

pour lesquels ltiquetage correspondait bien la


direction du noeud et dans lesquels on a eac la direction du noeud dans
ltiquette, puis /

automate darbres non dterministe quivalent /, et


/
0
= narrow
D(x
0
)
(/

). Puis on construit, pour 1 i n les automates


/
i
= div
0
D(y
ni+1
)
(/

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

et la stratgie f est gagnante.


43
Inversement, supposons quil existe un ensemble de stratgies f
y
i
:
(D(x
1
) . . . D(x
i
))
+
D(y
i
) pour 0 i n telles que la stratgie com-
pose soit gagnante. Cest--dire que f = (f
y
0
, f
y
1
, . . . , f
yn
) L(A
0
). Alors,
par application successive du thorme 3.2.8, on a que, pour 1 i n,
(f
y
0
, . . . , f
y
i
) L(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

des variables de A telle que 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

Vous aimerez peut-être aussi