92
r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic approach for designing stabilizing silent tasks Bertrand Ducourthial Laboratoire Heudiasyc (UMR UTC-CNRS 6599) Computer Science Dpt Universit´ e de Technologie de Compi` egne SSS’2007 Ninth International Symposium on Stabilization, Safety, and Security of Distributed Systems, 14th - 16th November 2007, Paris, France

r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

1 123 92

r-semi-groups: a generic approach fordesigning stabilizing silent tasks

Bertrand Ducourthial

Laboratoire Heudiasyc (UMR UTC-CNRS 6599)Computer Science Dpt

Universite de Technologie de Compiegne

SSS’2007Ninth International Symposium on Stabilization,

Safety, and Security of Distributed Systems,

14th - 16th November 2007, Paris, France

Page 2: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

2 223 92r-semi-groups: a generic approach for

designing stabilizing silent tasks

1 Contribution

2 Generic approach with r-semi-groups

3 Main results

4 Using r-semi-groups

5 Conclusion

Page 3: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

2 323 92Summary

1 Contribution

2 Generic approach with r-semi-groups

3 Main results

4 Using r-semi-groups

5 Conclusion

Page 4: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

3 423 92Contribution

• Static versus dynamic task• a static task is specified by a result

• specification ≡ predicats on configurations• silent algorithms

(without self-stabilization consideration)• example: leader election

• a dynamic task is specified by a behavior• specification ≡ predicats on executions• example: token circulation

Page 5: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

3 523 92Contribution

◦ Static versus dynamic task

• Our contribution: r-semi-groups• complete framework to design

• static tasks• self-stabilizing static tasks

Page 6: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

3 623 92Contribution

◦ Static versus dynamic task

• Our contribution: r-semi-groups• complete framework to design

• static tasks• self-stabilizing static tasks

• Interest• design of algorithms• local conditions for ensuring global

(self-)stabilization• easy proof by reusing generic results

proofs established for all r-semi-groups

Page 7: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

4 723 92Related work

• Generic approaches to prove self-stabilizingproperties of distributed algorithms[Arora93, Afek98, Theel00, Gouda03, Oehlerking05]

not as generic as r-semi-groups

• Path algebra, max-plus algebra[Aho74,Gondran79,Baccelli92]

two laws, relation with algorithms more complex

• Relations between algebraic structures andcomputations on networks[Bilardi90]

not a framework to design distributed application

Page 8: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

4 823 92Summary

1 Contribution

2 Generic approach with r-semi-groupsAlgorithm ≡ operatorA quick reminder on algebraWhat kind of operators?

3 Main results

4 Using r-semi-groups

5 Conclusion

Page 9: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

5 923 92Thinking the algorithm as an operator

privatedata

alg

ori

thm

ou

tpu

t

inp

utsfrom the

ancestorsto thesuccessors

a node

Static task:algorithm ≡

output← f (private data, input[1], . . . , input[n])

Page 10: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

6 1023 92Thinking the algorithm as an operator

privatedata

alg

ori

thm

ou

tpu

t

inp

utsfrom the

ancestorsto thesuccessors

a node

Algorithm (message passing):

R1 Upon receipt of a message m sent by u:if m 6= input[u], then

input[u]← moutput ← f (private data, input[1], . . . , input[n])/* local computation with the local r -operator */

send(output) to the neighborsend if

R2 Upon timeout expiration:output ← f (private data, input[1], . . . , input[n])send(output) to the neighborsreset the timeout

Page 11: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1123 92A quick reminder on algebra

magma (S, �)

magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 12: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1223 92A quick reminder on algebra

magma (S, �)

magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 13: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1323 92A quick reminder on algebra

magma (S, �)magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 14: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1423 92A quick reminder on algebra

magma (S, �)magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

���

���

����

���

���

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 15: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1523 92A quick reminder on algebra

magma (S, �)magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

���

���

����

���

���

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 16: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1623 92A quick reminder on algebra

magma (S, �)magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 17: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

7 1723 92A quick reminder on algebra

magma (S, �)magma (S, �)

?� associative

monoid

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

�����

������

�����

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 18: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 1823 92What kind of operators?

• A sort of idempotency is needed

Page 19: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 1923 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

Page 20: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 2023 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

• What if transient failure?• could stabilize on an illegitimate value

[DistComp01]

• self-stabilizing on acyclic networks

Page 21: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 2123 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

• What if transient failure?• could stabilize on an illegitimate value

[DistComp01]

• self-stabilizing on acyclic networks

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

3

min3 3

initial configuration terminal configuration

3

min255

3

min3 3

3

min2

initial configuration terminal configuration transient failure

3

min255

3

min3 3

3

min2

3

min2 2

initial configuration terminal configuration transient failure illegitimateterminal config.

Page 22: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 2223 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

• What if transient failure?• could stabilize on an illegitimate value

[DistComp01]

• self-stabilizing on acyclic networks

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

3

min3 3

initial configuration terminal configuration

3

min255

3

min3 3

3

min2

initial configuration terminal configuration transient failure

3

min255

3

min3 3

3

min2

3

min2 2

initial configuration terminal configuration transient failure illegitimateterminal config.

Page 23: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 2323 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

• What if transient failure?• could stabilize on an illegitimate value

[DistComp01]

• self-stabilizing on acyclic networks

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

3

min3 3

initial configuration terminal configuration

3

min255

3

min3 3

3

min2

initial configuration terminal configuration transient failure

3

min255

3

min3 3

3

min2

3

min2 2

initial configuration terminal configuration transient failure illegitimateterminal config.

Page 24: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

8 2423 92What kind of operators?

◦ A sort of idempotency is needed

• Idempotent Abelian semi-groups s-operator

• ∧, ∨, min, max, gcd, lcm, ∩, ∪... [Tel91]

• associative, commutative and idempotent

• What if transient failure?• could stabilize on an illegitimate value

[DistComp01]

• self-stabilizing on acyclic networks

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

initial configuration

3

min255

3

min3 3

initial configuration terminal configuration

3

min255

3

min3 3

3

min2

initial configuration terminal configuration transient failure

3

min255

3

min3 3

3

min2

3

min2 2

initial configuration terminal configuration transient failure illegitimateterminal config.

Page 25: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

9 2523 92What kind of operators?

• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)

defined on N ∪ {+∞} or {0, . . . , 255}...

3

min

c

255

3

min

c

3 3

initial configuration terminal configuration

3

min

c

255

3

min

c

3 3

3

min

c

1

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

legitimateterminal configuration

3

min

c

3 3

Page 26: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

9 2623 92What kind of operators?

• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)

defined on N ∪ {+∞} or {0, . . . , 255}...

3

min

c

255

3

min

c

3 3

initial configuration terminal configuration

3

min

c

255

3

min

c

3 3

3

min

c

1

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

legitimateterminal configuration

3

min

c

3 3

Page 27: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

9 2723 92What kind of operators?

• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)

defined on N ∪ {+∞} or {0, . . . , 255}...

3

min

c

255

3

min

c

3 3

initial configuration terminal configuration

3

min

c

255

3

min

c

3 3

3

min

c

1

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3m

inc

1 2

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

legitimateterminal configuration

3

min

c

3 3

Page 28: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

9 2823 92What kind of operators?

• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)

defined on N ∪ {+∞} or {0, . . . , 255}...

3

min

c

255

3

min

c

3 3

initial configuration terminal configuration

3

min

c

255

3

min

c

3 3

3

min

c

1

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

legitimateterminal configuration

3

min

c

3 3

Page 29: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

9 2923 92What kind of operators?

• Some operators tolerate transient failures• minc(x , y) = min(x , y + 1)

defined on N ∪ {+∞} or {0, . . . , 255}...

3

min

c

255

3

min

c

3 3

initial configuration terminal configuration

3

min

c

255

3

min

c

3 3

3

min

c

1

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

3

min

c

255

3

min

c

3 3

3

min

c

1

3

min

c

1 2

initial configuration terminal configuration

transientfailure

3

min

c

2 3

legitimateterminal configuration

3

min

c

3 3

Page 30: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

10 3023 92What kind of operators

Summary of properties

Operator Properties of the algorithm Proof

associative andcommutative

silent task if there is no circuit

associative, com-mutative and

silent taskTel91

idempotent not self-stabilizingDistComp01

idempotentr-operator

silent taskSIROCCO98,DistComp01

strictly idemp. self-stabilizingr-operator withtotal order

- read-write demon, shared mem-ory (registers) DistComp01

- unreliable messages passingSSS05,JACIC06

strictly idempo-tent r-operator

self-stabilizing, shared memory,fully distributed demon TCS03

with partial order

Page 31: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

10 3123 92Summary

1 Contribution

2 Generic approach with r-semi-groups

3 Main results

4 Using r-semi-groups

5 Conclusion

Page 32: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

11 3223 92r-semi-group

A generalization of the idempotent Abeliansemi-group with interesting properties forcomputation in networks

magma (S, �)

?� associative

monoid

?

e� identity element(on the left andthe right)

semi-group � preorder relationa � b ≡ ∃c, a = b�c

?

� anti-symmetric

semi-groupnaturally ordered

without null equation(x�y = e� ⇒ x = y = e�)

cancellative semi-group

���

���

��

��

���

���

every element iscancellativex�y = x�z ⇒ y = z

?

every elementhas an inverse

(x�x−1 = x−1�x = e�)

group

︸ ︷︷ ︸Classical Algebra

�������

every elementis cancellative

@@

@@

@@

@@R

without nullequation

free semi-groupnaturally ordered

without nullequation

︸ ︷︷ ︸Language Algebra

@@

@@

@@R

idempotencyx�x = x

idempotentsemi-group

(a � b⇒ a = b�a)

?

� com-mutative

idempotent abeliansemi-group

s-operator︸ ︷︷ ︸Idempotent Algebra

�r : x 7→ xr-semi-group

r-operator

� r : x 7→ x r-idempotencyr(x)�x = r(x)

�r : x 7→ x r-commutativityr(x)�y = r(y)�x

� r : x 7→ x r-associativityx�(y�y) = x�y�r(z)

Page 33: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3323 92Construction of the r-operators

Required properties

• Weak left cancellation• idempotency vs. cancellation

• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)always true

• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation

false for min on N (consider x = 2, y = 3, z = 4)

• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N

; weak left cancellationmin is weak left cancellative

Page 34: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3423 92Construction of the r-operators

Required properties

• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)

always true

• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation

false for min on N (consider x = 2, y = 3, z = 4)

• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N

; weak left cancellationmin is weak left cancellative

Page 35: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3523 92Construction of the r-operators

Required properties

• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)

always true

• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation

false for min on N (consider x = 2, y = 3, z = 4)

• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N

; weak left cancellationmin is weak left cancellative

Page 36: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3623 92Construction of the r-operators

Required properties

• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)

always true

• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation

false for min on N (consider x = 2, y = 3, z = 4)

• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N

; weak left cancellationmin is weak left cancellative

Page 37: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3723 92Construction of the r-operators

Required properties

• Weak left cancellation• idempotency vs. cancellation• ∀x , y , z ∈ S, (y = z)⇒ (x�y = x�z)

always true

• ∀x , y , z ∈ S, (x�y = x�z)⇒ (y = z)cancellation

false for min on N (consider x = 2, y = 3, z = 4)

• ∀y , z ∈ S, (∀x ∈ S, x�y = x�z)⇒ y = ztrue for min on N

; weak left cancellationmin is weak left cancellative

Page 38: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3823 92Construction of the r-operators

Required properties

◦ Weak left cancellation

• Local topology awareness

private data / input[1] / input[2] =private data / input[2] / input[1]

; rank 2 commutativitymin is rank 1 commutative (commutative)

Page 39: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

12 3923 92Construction of the r-operators

Required properties

◦ Weak left cancellation

◦ Local topology awareness

• Termination

removing doubles in expressions:private data / input / input =private data / input

; rank 2 idempotencymin is rank 1 idempotent (idempotent)

Page 40: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

13 4023 92Construction of the r-operators

Generalization of the semi-group

• s-operator ⊕ (infimum) e.g., min

idempotent Abelian semi-group

associative (x ⊕ y) ⊕ z = x ⊕ (y ⊕ z)commutative x ⊕ y = y ⊕ xidempotent x ⊕ x = xidentity element x ⊕ e⊕ = x

Page 41: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

13 4123 92Construction of the r-operators

Generalization of the semi-group

◦ s-operator ⊕ (infimum) e.g., min

• r -operator e.g., minc(x , y) = min(x , y + 1)

r-semi-group

/ is an r -operator on S if there exists anendomorphism r : S→ S such that / is :

r -associative (x / y) / r(z) = x / (y / z)r -commutative r(x) / y = r(y) / xr -idempotent r(x) / x = r(x)right identity elt x / e/ = x

(S, /) admits an order relation

Page 42: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

13 4223 92Construction of the r-operators

Generalization of the semi-group

◦ s-operator ⊕ (infimum) e.g., min

◦ r -operator e.g., minc(x , y) = min(x , y + 1)

• idempotency• idempotent r -operator:∀x ∈ S, x/x = x; x �/ r(x)usefull for termination

• strictly idempotent r -operator:x ≺/ r(x)usefull for self-stabilization

Page 43: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4323 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 44: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4423 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 45: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4523 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 46: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4623 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 47: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4723 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 48: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4823 92r-semi-group: a summary

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

r : S→ S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r : S → S

⊳ rank 2 com-mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S

r : S → S

4⊳ transi-tive on S

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

⊳ r-commutative

r endomorphismof (S, ⊳)

⊳ weak leftcancellative

⊳ r-idempotent

magma (S, ⊳) e⊳ right iden-tity element

⊳ r-associative

e⊳ unique

r surjectiveon S

r(x) = e⊳ ⊳ x

r unique, r(e⊳) = e⊳

∀x ∈ S \ {e⊳}, r(x) 6= e⊳

r injectiveon S

(r(S), ⊳) magma

r bijectiveon S

r isomorphismof (S, ⊳)

4⊳ reflexi-ve on S

x 4⊳ y ≡e⊳⊳x⊳y = e⊳⊳x

4⊳ order re-lation on S∀x, y ∈ S, r(x)⊳y ∈ r(S)

r : S → S

r2(x)⊕r

2(y) ≡r2(x)⊳r(y)

internal com-position lawon r

2(S)

4⊳ transi-tive on S

(r2(S),⊕) idempotentAbelian semi-group

(⊕ s-operator on r2(S))

⊕ associative on r2(S)

4⊳ antisym-metric on S⊳ rank 2 com-

mutative on S

⊕ idempotenton r

2(S)

⊕ commuta-tive on r

2(S)

⊳ rank 2 idem-potent on r(S)

⊳ rank 2 com-mutative on r(S)

⊳ rank 2 idem-potent on S

4⊳ preorder on S

(S,⊕) idempotentAbelian semi-group(⊕ s-operator on S)

Page 49: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

14 4923 92Summary

1 Contribution

2 Generic approach with r-semi-groups

3 Main results

4 Using r-semi-groupsMethodHOWTO r-semi-group

5 Conclusion

Page 50: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5023 92Thinking the algorithm as an operator

Method:

• Data exchanged, data owned by a node, set S• Given two data, choice of the best

; order relation �; idempotent semi-group (S,⊕)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 51: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5123 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Data exchanged, data owned by a node, set S• Given two data, choice of the best

; order relation �; idempotent semi-group (S,⊕)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 52: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5223 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Data exchanged, data owned by a node, set Sdistance from u, u owns 0, others ∞, N ∪ {∞}

• Given two data, choice of the best; order relation �; idempotent semi-group (S,⊕)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 53: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5323 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the best

; order relation �; idempotent semi-group (S,⊕)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 54: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5423 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the best smallest

; order relation � ≤; idempotent semi-group (S,⊕) (N,min)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 55: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5523 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ r(x)

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 56: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5623 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ r(x)at the arrival, one hop more: x 7→ x + 1

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 57: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5723 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ x + 1

• r endomorphism of (S,⊕); r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 58: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5823 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ x + 1

• r endomorphism of (S,⊕); r-semi-groupx 7→ x + 1 endomorphism of (N ∪ {∞},minc)

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 59: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 5923 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ x + 1

• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithm

• Q.E.D.

Page 60: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 6023 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ x + 1

• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x � r(x) and r(x) 6= x; strict idempotency; self-stabilizing algorithmx < r(x)

• Q.E.D.

Page 61: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

15 6123 92Thinking the algorithm as an operator

Method: example: distance from a node u

• Distance from u, u owns 0, others ∞, N ∪ {∞}• Given two data, choice of the smallest

; order relation ≤; idempotent semi-group (N,min)

• Transformation of the incoming data: x 7→ x + 1

• minc(x , y) = min(x , y + 1) r-operator(N ∪ {∞},minc) r-semi-group

• x � r(x); idempotency; stabilization (termination)

• x < r(x); minc strictly idempotent; self-stabilizing distance computation alg.

• Q.E.D.

Page 62: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

16 6223 92HOWTO r-semi-group

a

c

e f

d

b

g

a => bb => bc => cd => .e => ef => eg => e

a => bb => bc => dd => de => .f => fg => f

• Example: how to design a self-stabilizingalgorithm for routing tables construction?

Page 63: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6323 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 64: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6423 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 65: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6523 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 66: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6623 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 67: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6723 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 68: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

17 6823 92HOWTO r-semi-group

Routing tables construction 1/2

• A node periodically sends its local informationsto its neighbors

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

e f

d

b

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

a => bb => bc => dd => de => .f => fg => f

Page 69: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 6923 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 70: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7023 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 71: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7123 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 72: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7223 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 73: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7323 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 74: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7423 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 75: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

18 7523 92HOWTO r-semi-group

Routing tables construction 2/2

• When a node receives an information regarding adestination node, it checks:• if it has no information for this node ; add• if it has a worse information ; update

a

c

g

e f

d

b

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => bd => de => .f => f

e => ef => .g => g

a

c

e f

d

b

g

a => bb => bc => cd => .e => e

a => bb => bc => dd => de => .f => fg => f

e => ef => .g => g

Page 76: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

19 7623 92HOWTO r-semi-group

1. Data format

• Information regarding a destination:• next hop to reach the destination• information regarding the path

to select the best next hop

• Entry in the routing table:[destination, path to the destination]

• Local information: list of entriesexample: [a, ba], [b, b], [c, c], [d , ∅], [e, e], [f , ef ], [g , efg ]

a

c

e f

d

b

g

a,bab,bc,dcd,de,.f,fg,fg

a,bab,bc,cd,.e,ef,efg,efg

Page 77: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

20 7723 92HOWTO r-semi-group

2. Order relation on the data

• Choosing the best path to a given destination• operator best on the paths to a common node

return (for instance) the shortest path ⊕• example (shortest path): ba⊕ dca = ba

• operator best on the similar tables entriesreturn the entry with the best path �

• example (shortest path):[a, ba] � [a, dca] = [a, ba⊕ dca] = [a, ba]

a

c

e f

d

b

g

[a,ba]

[a,dca]

Page 78: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

20 7823 92HOWTO r-semi-group

2. Order relation on the data

◦ Choosing the best path to a given destination

• Building a new table from two tables• no more than one path for a destination

; choosing the best• operator fusion on the list of entries: ]

• union of the list• choice of the best entry in case of same

destination using the operator best

• example:

([a, a], [b, b], [c , abc]) ] ([a, da], [c , dc], [d , d ])= ([a, a] � [a, da], [b, b], [c , abc] � [c , dc], [d , d ])= ([a, a⊕da], [b, b], [c , abc⊕dc], [d , d ])

Page 79: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

20 7923 92HOWTO r-semi-group

2. Order relation on the data

◦ Choosing the best path to a given destination

◦ Building a new table from two tables

• Properties of the operators• operator best on the paths ⊕

• associativeba⊕ (dca⊕ bcda) = (ba⊕ dca)⊕ bcda

• commutative ba⊕ dca = dca⊕ ba• idempotent ba⊕ ba = ba

• operator best on the entries � ; idem[a, ba] � [a, dca] = [a, ba⊕ dca] = [a, ba]

• operator fusion on the lists of entries ] ; idem([a, a], [b, b], [c, abc]) ] ([a, da], [c, dc], [d , d ])= ([a, a] � [a, da], [b, b], [c, abc] � [c, dc], [d , d ])= ([a, a⊕da], [b, b], [c, abc⊕dc], [d , d ])

; ] s-operatoridempotent Abelian semi-group

Page 80: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8023 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 81: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8123 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 82: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8223 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 83: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8323 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 84: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8423 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 85: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8523 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 86: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8623 92HOWTO r-semi-group

3. Transformation of the incoming data

• Adding the sender at the begining of each path:if the node f sends the list ([f , .], [g , g ]), this list becomes

([f , f ], [g , f g ]) at the arrival

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 87: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8723 92HOWTO r-semi-group

3. Transformation of the incoming data

◦ Adding the sender at the begining of each path:

• Transformation of the listsone application per link

On neighbors of f :

r : {lists} → {lists}([f , .], [g , g ]) 7→ ([f , f ], [g , f g ])

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 88: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

21 8823 92HOWTO r-semi-group

3. Transformation of the incoming data

◦ Adding the sender at the begining of each path:

◦ Transformation of the lists

• r homomorphism

r(list ] list′) = r(list) ] r(list)

• r(list) ] list = list

r (([f , .], [g , g ])) ] ([f , .], [g , g ])= ([f , f ], [g , f g ]) ] ([f , .], [g , g ])= ([f , f ] � [f , .], [g , f g ] � [g , g ])= ([f , f ⊕ .], [g , f g ⊕ g ])= ([f , .], [g , g ])

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g

[f,.], [g,g]

e f

d

b

g[f,f], [g,fg]

[f,.], [g,g]

Page 89: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

22 8923 92HOWTO r-semi-group

4. Properties of the r-operator

• / r-operators on the lists:

list / list′ = list ] r(list′)

• ] s-operator; �] order relationtotal/partial: depends on the operator best ⊕ on the

paths

• r(list)]list = list and r(list) 6= list; list≺]r(list); / strictly idempotent r-operator

• Self-stabilizing algorithm for routing tablesconstruction in message passing environmentwith shortest path

Page 90: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

22 9023 92HOWTO r-semi-group

4. Properties of the r-operator

• / r-operators on the lists:

list / list′ = list ] r(list′)

• ] s-operator; �] order relationtotal/partial: depends on the operator best ⊕ on the

paths

• r(list)]list = list and r(list) 6= list; list≺]r(list); / strictly idempotent r-operator

• Self-stabilizing algorithm for routing tablesconstruction in message passing environmentwith shortest path

Page 91: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

22 9123 92Summary

1 Contribution

2 Generic approach with r-semi-groups

3 Main results

4 Using r-semi-groups

5 Conclusion

Page 92: r-semi-group B. Ducourthial Contribution Generic approach Algorithm Reminder Operators Main results Using r-semi-groups Method HOWTO Conclusion 1 1 23 92 r-semi-groups: a generic

r-semi-group

B. Ducourthial

Contribution

Genericapproach

Algorithm

Reminder

Operators

Main results

Usingr-semi-groups

Method

HOWTO

Conclusion

23 9223 92Conclusion

• Hard to design (and prove) self-stabilizingalgorithms

• r-semi-group: a generalization of the Abelianidempotent semi-groupgeneric approach for designing stabilizingalgorithms solving static taskseven for message passing unreliable networks

• Future works:• relation total/partial order ↔ atomicity?

currently, some restrictions if partial order

• completeness?