One of the most fundamental forms of cooperation in any network is the cooperation between network nodes for routing and the subsequent context dissemination. To do so each node runs an instance of a routing process relying, in many cases, only on partial network information rather than network-wide information. This can lead to instabilities and problematic situations, such as deadlocks or livelocks. Deadlock is a condition where a process stalls; meaning it reaches a state from which there is no exit action. When it comes to routing this would mean the condition where a packet reaches a node and is not forwarded any further because the routing process has reached a state which was not taken into account in its behavioural specification. Livelock is a condition from where a process can exit; however every exit action will eventually lead the process back to the same condition. With respect to routing this would refer to the existence of loops. In this paper we show how formal verification, and in particular model checking, can be applied in this context; to find such problems and also assess the performance and quantify properties of the overall routing process. As an example case study we use a routing protocol designed for wireless sensor networks named Adaptive Load Balanced Algorithm Rainbow version, suitable for context dissemination in Wireless Sensor Network environments, where energy efficient operations are also important.
Download Full PDF Version (Non-Commercial Use)