Sensor Networks (SN) should have certain Distributed. System characteristics: Transparency (to be perceived as a whole),
Modeling Sensor Networks as Concurrent Systems Cornelia Amariei and Ciprian Teodorov Universit´e de Bretagne Occidentale Brest, France Email:
[email protected] Email:
[email protected]
Erwan Fabiani
Bernard Pottier
LESTER Universit´e de Bretagne Occidentale Brest, France Email:
[email protected]
LESTER Universit´e de Bretagne Occidentale Brest, France Email:
[email protected]
Sensor Networks (SN) should have certain Distributed System characteristics: Transparency (to be perceived as a whole), Scalability (to be able to acommodate changes in nodes and resources), Fault tolerance, Concurrency, Resource sharing, Openness (to be open to evolution and interactions with other systems). Distributed systems are very difficult to handle due to the large number of components and situations. A number of specific algorithms have been developped and classified according to those criteria: communication method, timing model, failure model, problem nature. The most commonly used is the timing model. From this point of view, the algorithms can be either synchronous, asynchronous or partially synchronous[1]. In the case of SN, problems can become even more complicated due to unknown topology, and weak internal or external connectivity. In this context, we propose a generic flow to study algorithms and protocols by modeling separately the topology and the node behaviours: A: a topology is produced (may be at random) in an object oriented (OO) environment to synthesize a conforming concurrent process system, B: the processes cooperate in one mode, either synchronous, asynchronous or partially synchronous, C: the local behaviours are described as transition programs (state machines) acting generically following the mode and the topology. The poster will illustrate the following synthesis flow in the case of wireless sensor routing protocols. 1) Topology description or synthesis (A) At a given moment, an SN is a set of nodes and a connectivity. A model for this is a set of processes, each having its fanout in a list of processes. Different behaviours are specified by naming different programs. This model is described grammatically as shown in this example: Node1 Node2, Gateway1 ProcNode; Gateway1 Node1, Node3, Gateway1 ProcGW;
Such descriptions can also be produced by computing a random distribution of sensors on a surface, then a connectivity based on a wireless communication capability. 2) Concurrent system synthesis (B)
As the topology is still a syntaxic structure, it is needed to develop it as a network architecture. This is achieved using an OO framewok, that will later ease the system observation. The architecture is a set of nodes and links. Based on a specific mode of cooperation, the architecture is translated into an Occam[2] concurrent program where nodes are represented by processes, and links by an assembly of channels and, possibly, processes. Node programs are represented by Occam procedures, yet handling communication on channels. 3) Adding behaviour (C) The third point is addressed by adding a local behaviour to the procedures. In the case of a synchronous model, data is supposed to be exchanged repetitively on point to point links. When the communication phasis is finished, and received data analyzed, a new state is produced with the next output communication data. 4) Simulation and actual developments The framework allows to multiplex data from the processes to the OO external environment that feeds a generated set of widgets with the status information from the nodes. Using this environment, a set of protocols for routing information has been quickly developped and tested on random networks: RIP, AODV, DSDV[3] were compiled (KROC compiler) and executed following the synchronous model with feed-back to the OO framework. The poster will illustrate the methodology synthesizing random topologies into working traceable concurrent programs. In the future, automatic synthesis of code or hardware transition functions will be addressed using tools such as Handel-C, or Madeo. R EFERENCES [1] Nancy Lynch, Distributed Algorithms Morgan Kaufman, 1997 [2] SGS-Thomson, Occam 2.1 Reference Manual, 1995. [3] J. Broch and D. A. Maltz and al. A performance comparison of MultiHop Wireless ad-hoc Network Routing Protocol ACM/IEEE Mobicom, 1998