AnnexeA
Un autre exemple complet de fusion
consensuelle
Dans cette annexe, nous illustrons notre algorithme de
réconciliation (chap. 3 sect. 3.2) sur le workflow d'édition
coopérative présenté comme exemple dans le chapitre 2
(figure 2.5 page 27). Pour rappel le document t conforme à la
grammaire Gexpl est projeté suivant les vues V1 =
{A,B} et V2 = {A,C} pour engendrer les
forêts (répliques partielles) tv1 et
tv2. Ces répliques partielles sont
éditées respectivement sur les sites 1 et 2 ; le coauteur 1
(resp. le co-auteur 2) ne peut éditer que les bourgeons de type A
(resp. C) (c'est à dire que V (1)
edit = {A} et Vedit(2) =
{C}) ; les documents mis à jour sont respectivement
tma j
v1 et
tma j
v2 . Nous allons donc fusionner
tma j
v1 et tma j
v2 grâce à notre algorithme. Le but
recherché ici est celui de montrer que notre algorithme prend en compte
les documents non clos (tma j
v2 )
et aussi qu'il peut s'appliquer lorsque la fusion n'engendre pas
de conflits.
Les schémas des règles de
transition
Rappelons que les schémas des transitions
(complétés pour prendre en compte les documents non clos) de
l'automate permettant de représenter les expansions des répliques
partielles suivant la vue V1 = {A,B} lorsqu'on
associe les symboles de Dyck '(' et ')' (resp. '[' et ']') au symbole visible
A (resp. B) et qu'on associe les symboles '(W' et
')W' (resp. '[W' et ']W') au bourgeon
AW (resp. BW) de type A (resp.
B), sont les suivants :
hA,w1i -?
(P1,[hC,ui,hB,vi]) si
w1 = u[v]
hA,w2i -?
(P1,[hC,ui,hB,w11i]) si
w2 = uw11 avec w11 = [W]W
hA,w3i -? (P2,[]) si w3 =
E
hA,w4i -? (AW,[]) si
w4 = (W )W
hB,w5i -?
(P3,[hC,ui,hA,vi]) si
w5 = u(v)
hB,w6i -?
(P3,[hC,ui,hA,w4i]) si
w6 = uw4
hB,w7i -?
(P4,[hB,ui,hB,vi]) si
w7 = [u][v]
hB,w8i -?
(P4,[hB,w11i,hB,vi]) si
w8 = w11[v]
hB,w9i -?
(P4,[hB,ui,hB,w11i]) si
w9 = [u]w11
hB,w10i -?
(P4,[hB,w11i,hB,w11i]) si
w10 = w11w11
hB,w11i -? (BW,[]) si
w11 = [W]W
hC,w12i -?
(P5,[hA,ui,hC,vi]) si
w12 = (u)v
hC,w13i -?
(P5,[hA,w4i,hC,vi]) si
w13 = w4v
hC,w14i -?
(P6,[hC,ui,hC,vi]) si
w14 = uv =6 E
hC,w15i -? (CW,[]) si
w15 = E
Les automates 91(1) et
91(2) 66
De même, en associant au symbole grammatical C
(resp. A) les symboles de Dyck '[' et ']' (resp. '(' et ')'), en
associant aussi au bourgeon CW (resp.
AW) les symboles de Dyck '[W' et ']W'
(resp. '(W' et ')W'), les schémas des transitions
(complets) des automates associés aux répliques partielles
suivant la vue V2 = {A,C} sont les suivants :
(A,w1) -+
(P1,[(C,u),(B,v)]) si w1
= [u]v
(A,w2) -+
(P1,[(C,w20),(B,v)]) si
w2 = w20v avec w20 = [W
]W
(A,w3) -+ (P2,[]) si w3 =
E
(A,w4) -+ (AW,[]) si
w4 = (W )W
(B,w5) -+
(P3,[(C,u),(A,v)]) si w5
= [u](v)
(B,w6) -+
(P3,[(C,w20),(A,v)]) si
w6 = w20(v)
(B,w7) -+
(P3,[(C,u),(A,w4)]) si w7
= [u]w4
(B,w8) -+
(P3,[(C,w20),(A,w4)]) si
w8 = w20w4
(B,w9) -+
(P4,[(B,u),(B,v)]) si w9
= uv =6E
(B,w10) -+ (BW,[]) si
w10 = E
(C,w11) -+
(P5,[(A,u),(C,v)]) si w11
= (u)[v]
(C,w12) -+
(P5,[(A,w4),(C,v)]) si
w12 = w4[v]
(C,w13) -+
(P5,[(A,u),(C,w20)]) si
w13 = (u)w20
(C,w14) -+
(P5,[(A,w4),(C,w20)]) si
w14 = w4w20
(C,w15) -+
(P6,[(C,u),(C,v)]) si w15
= [u][v]
(C,w16) -+
(P6,[(C,w20),(C,v)]) si
w16 = w20[v]
(C,w17) -+
(P6,[(C,u),(C,w20)]) si
w17 = [u]w20
(C,w18) -+
(P6,[(C,w20),(C,w20)]) si
w18 = w20w20
(C,w19) -+ (P7,[]) si w19 =
E
(C,w20) -+ (CW,[]) si
w20 = [W]W
Les automates 91(1)
et 91(2)
Construction de l'automate
91(1) associé à
tma j
v1
La trace visible des documents de l'expansion de
tma j
v1 est ((()[()])[()]); A étant
l'axiome de la grammaire et aussi un symbole visible (appartenant à la
vue), l'état initial de l'auto-mate 91(1) est
q10 = (A,(()[()])[()]). En ne
considérant que les états accessibles à partir de
q10 et en appliquant les schémas de
règles présentés précédemment, nous obtenons
l'automate d'arbre suivant pour la réplique tma
j
q10
q11 q11
q12
q13
q14
q15
q16 q16
|
-+ -+ -+ -+ -+ -+ -+ -+ -+
|
(P1,[q11,q12])
(P5,[q13,q14])
(P6,[q14,q11])
(P3,[q14,q15])
(P1,[q16,q12])
(CW,[]) (P2,[])
(P5,[q15,q14])
(P6,[q14,q16])
|
|
(P6,[q11,q14])
| (P6,[q1
6,q14])
|
avec avec
avec avec
|
v1 :
q11 = (C,(()[()])) et
q12 = (B,())
q13 = (A,()[()]) et
q14 = (C,E)
q1 5 = (A,E) q16
= (C,())
Mémoire - ZEKENG NDADJI Milliam Maxime
LIFA
L'état q14 est le seul
état de sortie de cet automate.
L'automate consensuel Asc 67
Mémoire - ZEKENG NDADJI Milliam Maxime
LIFA
Construction de l'automate
A(2) associé
à tmaj
v2
Ayant associé au symbole grammatical C (resp.
A) les symboles de Dyck '[' et ']' (resp. '(' et ')'), la
linéarisation de la réplique partielle
tma j
v2 (fig. 2.5) donne le mot de
Dyck ([(ù
)ù[]][[][]]()). L'automate
A(2) associé à cette réplique
a donc pour état initial q20 =
hA,[(ù)ù[]][[][]]()i
et pour transitions :
q20
q21
q22 q22
q23
q24
q25
q26
q27
q28
q29
|
-?
-?
-?
-?
-? -? -? -? -? -? -?
|
(P1,[q2
1,q22])
(P5,[q23,q24])
(P3,[q25,q26])
(P4,[q27,q22])
(P4,[q22,q27])
(Aù,[]) (P7,[])
(P6,[q24,q24])
(P2,[]) (Bù,[])
(P4,[q27,q28])
|
(P4,[q27,q29])
|
|
|
(P4,[q28,q29])
(P4,[q28,q27])
(P4,[q29,q27])
|
|
|
avec
avec avec avec
|
q21 =
hC,(ù)ù[]i
et
q22 =
hB,[[][]]()i
q23 =
hA,(ù)ùi et
q24 = hC,åi
q25 = hC,[][]i et
q26 = hA,åi
q27 =
hB,åi, q28 =
hB,[[][]]i et q29 =
hB,()i
|
Les états q23 et
q27 sont les seuls états de sortie de cet
automate.
L'automate consensuel Asc
En appliquant notre algorithme de calcul du produit synchrone
de plusieurs automates d'arbre aux automates A(1)
et A(2), on obtient l'automate du consensus
A(sc) = A(1)?Ù
A(2) ayant pour état initial
q0 =
(q10,q20) et
dont les transitions sont les suivantes :
q0
q1
q2
q3
q4
q5
q6
q7
q7
q8
q9
q10
q11
|
-? -? -? -?
-? -? -? -?
-? -? -? -? -?
|
(P1,[q1,q2])
(P5,[q3,q4]) (P3,[q5,q6])
(P1,[q7,q8])
(P7,[]) (P6,[q9,q9])
(P2,[]) (P5,[q10,q11])
(P6,[q11,q7]) |
(P3,[q11,q10]) (P7,[]) (P2,[])
(Cù,[])
|
(P6,[q7,q11])
|
avec avec avec avec
avec avec
|
q0 = (q1
0,q2 0)
q1 = (q1
1,q21) et q2 =
(q1 2,q22)
q3 =
(q13,q23) et
q4 =
(q14,q24) q5
= (q14,q25)
et q6 = (q1
5,q26)
q7 =
(q16,qs1), qs1
= hOpen C,[]i et q8 = (q1
2,qs2), qs2 = hOpen B,[]i
q9 = (qs1,q24)
q10 =
(q15,qs3), qs3
=
hOpen A,[]i et q11 =
(q14,qs1)
|
l'état q11 de A(sc) =
A(1) ?ÙA(2) est un
état de sortie ; en effet, les états qui le composent
(q14 et qs1) sont tous des
états de sortie. L'absence d'états de sortie dont les
états composites
L'automate consensuel Asc 68
Mémoire - ZEKENG NDADJI Milliam Maxime
LIFA
soient en conflit est une preuve de l'absence des conflits
dans le workflow étudié ici. Notre générateur
fournit un seul arbre (figure A.1) à partir de l'automate
A(sc).
FIGURE A.1 - AST et arbre de dérivation
généré à partir de l'automate consensuel
A(sc).
69
|
|