Modèles du Vrai
Parallélisme

Eric Goubault
Commissariat à l'Energie Atomique, Saclay
email: Eric.Goubault@cea.fr
http://www.di.ens.fr/~goubault
http://www.enseignement.polytechnique.fr/profs/informatique/
Eric.Goubault

avec Pierre-Louis Curien (PPS)
James Leifer (INRIA Rocquencourt)
Jean-Jacques Lévy (INRIA Rocquencourt)
Catuscia Palamidessi (INRIA Futurs)

Remarques et références


Plan du cours

Plan du cours

Motivation du cours

Rappels -- Systèmes de transitions (cf. cours 3)


Définition 1   Un système de transitions est une structure
(S,i,L,Tran)

Exemple






``Vrai'' et ``faux'' parallélisme




a |
b ~ a.b+b.a?

Identifier non-déterminisme et parallélisme est moralement malsain:

Faut-il l'interpréter comme exclusion mutuelle entre a et b ou exécution asynchrone de a avec b?

Raffinement d'actions


Raffinement d'actions



Si a | b ~ a.b+b.a, alors (a.a') | b et a.a'.b+b.a.a' doivent aussi être équivalents (si ~ est une congruence):

Mais il manque la trace a.b.a' dans le deuxième cas! (et on aime en général que ~ contienne l'équivalence de trace...)

Catégorie




On en fait une catégorie avec pour morphismes les simulations (Glynn Winskel et al.).

Un système de transition T
1 simule un système de transitions T0 à la condition que si T0 peut effectuer une action a dans un certain contexte, alors T1 peut effectuer a également dans un contexte similaire.

Un morphisme f: T
0 ® T1 definit la façon dont les états et les transitions de T0 sont reliés aux états et transitions de T1.

Morphismes



Définition 2   Soit T0=(S0,i0,L0,Tran0) et T1=(S1,i1,L1,Tran1) deux systèmes de transition. Un morphisme f: T0 ® T1 est un couple f=(s,l) où,

Morphismes partiels




Les morphismes partiels permettent à T1 de ne pas effectuer d'action quand T0 le fait.
Définition 3   Soient T0=(S0,i0,L0,Tran0) et T1=(S1,i1,L1,Tran1) deux systèmes de transition. Un morphisme partiel f: T0 ® T1 est un couple f=(s,l) où,

Transitions silencieuses




On complète un système de transition T=(S,i,L,Tran) en T*=(S*,i*,L*,Tran*), Exemple





Bisimulation - rappel, cours 3




Idée d'expérimentation formalisée:

Une relation binaire S Í P × P entre agents est une bisimulation (forte) si (P,Q) Î S implique, pour tout a Î S,
Maintenant P et Q sont (fortement) équivalents ou (fortement) bisimilaires si et seulement si il existe une bisimulation S telle que (P,Q) Î S.

On écrit P ~ Q quand P et Q sont bisimilaires.

Exemple




On considère les agents A et B définis par:
A = a.A'
A'=
c
.A
et
B = c.B'
B' =
b
.B

Peut-on trouver un équivalent pour (A | B) \ c ?

Exemple




La réponse est oui

Soient,
C0 =
b
.C1 + a.C2
C1 = a.C3
C2 =
b
.C3
C3 = t.C0

Alors, (A | B) \ c ~ C1.

Preuve···

Exemple




Soit S= { ((A| B) \ c,C1),((A'| B)\ c,C3), ((A | B')\ c,C0),((A'| B')\ c,C2) }.

Alors S est une bisimulation forte. Il suffit de tester toutes les actions que les 8 agents peuvent exécuter, par exemple,
=1.75em
(A| B') \ cC0
b
 
aet
b
 
a(A | B) \ c(A' | B') \ cC1C2

Arbres de synchronisation (cf. cours 3)




Un arbre de synchronisation est un système de transition (S,i,L,tran) tel que: BranL sera la sous-catégorie pleine de la catégorie des systèmes de transition sur l'alphabet L.

Bisimulations et morphismes


Morphismes P-ouverts



Un morphisme est P-ouvert ssi pour tout diagramme commutatif:
PpXmfQqY

il existe un morphisme p' tel que p' ° m=p et f ° p'=q.

Morphismes Bran
L-ouverts



Ce sont les morphismes ``zig-zag'' (s,IdL): T ® T' tels que pour tout état s de T:

Si (s(s),a,s') est dans T', alors il existe un état u de T tel que (s,a,u) est dans T et s(u)=s'.

Preuve


Preuve

Preuve

P-bisimilarité



X
1 et X2 du modèle M sont P-bisimilaire si il existe un span de morphismes P-ouverts:
Xf1f2X1X2

P-bisimilarité et bisimilarité forte




Deux systèmes de transition avec le même alphabet L sont BranL-bisimilaires ssi ils sont fortement bisimilaires au sens de Milner.

Preuve


Preuve

Preuve

Produits Cartésiens



Comme dans les ensembles, ils vérifient la ``propriété universelle'':
" Y" f1$ ! h" f2X1 × X2p1p2X1X2

Produits Cartésiens




Soient deux systèmes de transitions T0=(S0,i0,L0,Tran0) et T1=(S1,i1,L1,Tran1). Leur produit est T0 × T1=(S,i,L,Tran) avec, Autres Constructions catégoriques



Le coproduit (``propriété universelle duale'' du produit cartésien) de deux systèmes de transitions T0=(S0,i0,L0,Tran0) et T1=(S1,i1,L1,Tran1) est T0 Å T1=(S,i,L,Tran) avec, Produits Synchronisés



Un cas particulier: produit fibré suivant.

Référence plus générale: Arnold et M.Nivat.

Soient T
0=(S0,i0,L0,Tran0) et T1=(S1,i1,L1,Tran1) deux systèmes de transition. Leur produit synchronisé (à la CSP) est T=(S,i,L,Tran) avec,

Définition


Sémantique de processus parallèles

Les états globaux du système de transition résultant P sont donc des n-uplets (n=nombre de processus communicants) s=(s1,...,sn) avec si état local du processus Pi.

Jusqu'à une exponentielle de plus par rapport au cas séquentiel!

Dans le cas d'un langage proche de CCS, on pourra trouver dans [Winskel] une sémantique dénotationnelle, utilisant produits cartésiens, coproduits etc.



This document was translated from LATEX by HEVEA.