Development of a self-stabilising sensor network
Development of a self-stabilising sensor network
Development of a self-stabilising sensor network
Bachelor thesis
Completed on 10 September 2013 by Marius Hacker
Background
Sensor networks are distributed computing systems in which the individual computers consist of autonomous, usually battery-operated microcomputers that can exchange information with the other microcomputers via radio links. Almost any type of sensor (e.g. ultrasound, brightness, temperature or vibration sensors) can be attached to these so-called sensor nodes and operated. Sensor networks can be used to observe autonomously distributed phenomena, e.g. brightness distribution across a region or the intrusion and movement of subjects in an area. The System Software and Distributed Systems department has 120+ MTM-CM5000-MSP sensor nodes with TI MSP430 processors that can be used for such purposes.
The concept of self-stabilisation is one of the so-called fault tolerance concepts. Designing a system as self-stabilising means that it is able to put itself into a functional state without explicit initialisation. Furthermore, this means that the system implemented in this way is "insensitive" to so-called transient errors that corrupt the values of the programme variables: after a certain time, the system restores itself to a functional state if it has been "disturbed" by the errors in the meantime. Self-stabilising sensor networks are of particular interest as they often collect sensor data autonomously at inaccessible locations and must be able to "take care of themselves".
Task description
The main task of the work is to design and implement an autonomous sensor network that stabilises itself in the above sense. As an initial task, a sensor network could be designed and implemented that builds up a communication infrastructure in a self-stabilising way like a "spanning tree" and sends sensor data (sources) from the leaves of this tree to the root node (sink). Since the implementation of a self-stabilising system may require compromises to be made with regard to the model assumptions, the extent to which experimental runtime results deviate from the theoretically expected results will be investigated. For example, the modelling of self-stabilising systems often assumes the existence of a so-called "central scheduler" as well as the atomicity of complex command execution sequences on the individual sensor nodes, which may not be present in a concrete implementation. The investigation should quantitatively/qualitatively substantiate the effects of the relaxation of the model assumptions in concrete systems. Furthermore, the resulting self-stabilising sensor network should be able to be used as a demonstrator for the application of the self-stabilisation concept, i.e. the working mechanism should be comprehensible to outside observers.