
Modeling and Simulation Tools for Mobile Ad Hoc Networks ◾ 57
A distributed algorithm is designed to run on a distributed system in which each device starts
in an initial state S
i
є S, can be in one of the states in S at any execution instance, changes its state
from S
i
to S
j
, and may output an O
n
є O after receiving an input I
k
є I according to defined state
transition procedures. In this manner, a distributed algorithm can be modeled as a Mealy finite
state machine. An input can be in one of three forms. Firstly, it can be an internal event such as
a timer interrupt. Secondly, it can be an external event such as detection of a failure in one ...