Abstract:
An important function of communication networks
is to implement reliable data transfer over
an unreliable underlying network.
Research in self
-stabilizing aims at making distributed
systems more reliable by handling faults
in complex computing environment. A
communication protocol is self-stabilizing if it
guarantees that the protocol will eventually
reach a
legitimate state
when started from an
arbitrary initial state
within a finite number of
state transitions. Stabiliz
ation allows the processes in a prot
ocol to re-establish coordination
between one another, whenever coordi
nation is lost due to some failure.
The aim of this thesis
is to study general techniques to
make communication protocols self-
stabilizing. We also discuss how to apply th
ese techniques to transform the sliding-window
and the two-way handshake protocol to make th
em self-stabilizing. Finally, we convert the
protocols into multi-agent systems using th
e Agent Programming Language, which is a high-
level language, which variables come
with predicates that define
them. Thus, it is even easier
for users to look at the code and unders
tand the roles of program variables