Master Info - Info 0701 2
Algorithme 2 Algorithme de Carvalho Roucairol, local au site i
R←− {j∈Vtel que ine possedes pas perm(i, j)}
etat ←− S E, SC, S etat du site i
h←− 0 entier date des demandes
last ←− 0 entier date de la derniere demande
differe ←− φensemble de sites qui retardent l’envoi d’une permission
priorit ←− f aux booleen si iprioritaire ou non
Demande d’entree en section critique
etat ←− E
last ←− h+ 1
for all j∈Rdo
Envoi msg(dem(last, i) `a j
end for
while R6=φdo
Reception msg(perm(i, j)) de j
R←− R\{j}
end while
etat ←− SC
Sortie
etat ←− S
for all j∈differe do
Envoi msg(perm(i, j)) `a j
end for
R←− differe
differe ←− ∅
Reception de msg(dem, (h0, j)) de j
h←− max(hi, h0)
priorit ←− (etat =SC)∨[(etat =E)∧(last, i)<(h0, j)]
if priorit =V RAI then
differe ←− differe ∪ {j}
else
Envoi msg(perm(i, j)) `a j
R←− R∪ {j}
if etat =Ethen
Envoi msg(dem, (last, i)) `a j
end if
end if
Liste d’Algorithmes 2014-2015/ Thibault BERNARD