Académique Documents
Professionnel Documents
Culture Documents
sendToken if e+ist N su h that requested/N1 3 granted/N1 for some su h N send#to.en$ N$ granted% ha'e-o.en false MAIN while true non- riti al se tion if not ha'e-o.en myNum myNum ! " for all other nodes N send#request$ N$ myId$ myNum% re ei'e#to.en$ granted% ha'e-o.en true inCS true riti al se tion granted/myID1 myNum inCS false send-o.en RECEIVE integer sour e$ reqNum while true re ei'e#request$ sour e$ reqNum% requested/sour e1 ma+#requested/sour e1$ reqNum% if ha'e-o.en and not inCS send-o.en
Algoritmo DS preliminar
integer array/in oming1 inDefi it /0$444$01 integer inDefi it 0 integer outDefi it 0 send message p"5 send#message$ destination$ myID% p65 in rement outDefi it receive message p75 re ei'e#message$ sour e% p85 in rement inDefi it/sour e1 and inDefi it send signal p95 when inDefi it 3 " or #inDefi it : " and is-erminated and outDefi it : 0% p;5 ) some edge ) with inDefi it/)1 <: 0 p=5 send#signal$ )$ myID% p>5 de rement inDefi it/)1 and inDefi it receive signal p?5 re ei'e#signal$ -% p"05 de rement outDefi it
Environment node
computation p"5 for all outgoing edges ) p65 send#message$ )$ myID% p75 in rement outDefi it p85 await outDefi it : 0 p95 announ e system termination
El algoritmo no es seguro.
Algoritmo de Dijkstra-Scholten
integer integer integer integer array/in oming1 inDefi it /0$444$01 inDefi it 0 outDefi it 0 parent -"
send message p"5 when parent <: -" p65 send#message$ destination$ myID% p75 in rement outDefi it receive message p85 re ei'e#message$ sour e% p95 if parent : -" p;5 parent sour e p=5 in rement inDefi it/sour e1 and inDefi it send signal p>5 when inDefi it 3 " p?5 ) some edge ) for whi h #inDefi it/)1 3 "% or #inDefi it/)1 : " and ) <: parent% p"05 send#signal4 )$ myID% p""5 de rement inDefi it/)1 and inDefi it p"65 or when inDefi it : " and is-erminated and outDefi it : 0 p"75 send#signal$ parent$ myID% p"85 inDefi it/parent1 0 p"95 inDefi it 0 p";5 parent : -" receive signal p"=5 re ei'e#signal$ -% p">5 de rement outDefi it