As computers get smaller, their use is becoming more widespread and ubiquitous. Soon computers will be all around us, interacting with us in our daily lives as networks of smart objects, or sensing their environment and communicating its findings as wireless sensor networks. These wireless sensor network devices communicate with each other using low data rate digital radios. The devices are battery-operated and need to be small and cheap to be economically viable. Naturally, research in this field focuses on making efficient use of the scarce resources available, such as computation time and communication. The limited memory complicates implementation of many of the features common on `larger' computers. Writing applications on these severely limited devices is challenging for a number of reasons: First, small size of sensor network programs is crucial, to minimize development time, duration of transport and memory use. Powerful and effective programming languages abstractions are needed to reduce the size of programs and extend their capabilities. Second, the challenge is to program devices with their desired behavior. For some applications only once, or infrequently, in other cases regular reprogramming is required. The low bandwidth communication and little memory make the transport of programs and their execution a non-trivial task. Furthermore, for wirelessly accessible and (re)programmable devices protection from loading malicious applications is also highly desirable. This dissertation motivates and describes the design and implementation of the SensorScheme platform, a programming language and interpreter based on the Scheme programming language, designed for wireless sensor networks to addresses the above challenges. SensorScheme uses the functional programming paradigm to produce concise programs, and provides a communication abstraction to facilitate easy construction of communication protocols and the transport of programs into the network. We motivate and illustrate SensorScheme's design through the use of four application scenarios, and evaluate the impact of the use of SensorScheme on program size and computation speed.
Wireless sensor and actuator networks consist of a large number of disparate computing devices that together aim to perform a common tasks. Management of large networks may become difficult, when the individual task of each of the devices is different from others, and memory restrictions prevent the devices from all carrying the same network-wide program. This paper presents a technique to specialize a single generic network-wide program into node-specific variants that are small enough to store in each device's memory and efficiently send across the network. We describe the details of our partial evaluation-based specializer and demonstrate that it achieves its goal of producing small device-specific programs, thereby making it a practical tool.
Wireless sensor networks communication protocols and abstractions have remained fairly simple until now, dealing only with payloads the size of individual network packets. A method to transparently communicate variably sized data in a platform-agnostic manner may ease building energyefficient and robust applications. This paper presents a communication abstraction that enables multi-packet communication, while minimizing memory requirements by using an object serialization mechanism to integrate memory management and communication functionalities. Evaluation shows reduction of communication of up to 3.5 times using our method compared to state of the art, and improvement of application performance through the use of reliable communication.
Besides the currently realized applications, wireless sensor networks can be put to use in logistics processes. However, current WSN software platforms cannot provide the flexibility and safety needed. This paper presents SensorScheme, a runtime environment based on semantics of the Scheme programming language, used to realize a logistics scenario. SensorScheme is a general purpose WSN platform, providing dynamic reprogramming, memory safety (sandboxing), blocking I/O, marshalled communication and compact code transport. We illustrate the use of our platform and provide experimental results that show its speed of operation and energy efficiency.
Building wireless sensor network applications is a challenging task, and it has become apparent that it is crucial for many sensor networks to be able to load or update the application after deployment. Since communication is a scarce resource and costly in terms of energy, it is important to minimize code size when reprogramming WSNs in the field. This paper introduces SensorScheme as a novel interpreted WSN platform for dynamically loading sensor network applications. It is based on the semantics of the Scheme language and is equipped with high-level programming facilities such as higher-order functions, garbage collection, communication by automatic marshalling of data items, and co-routines to implement blocking I/O operations. SensorScheme makes efficient use of the little available memory in WSN nodes, uses a very compact program notation during wireless transmission, and provides a safe interpreted execution environment, preventing malfunctioning programs from crashing the device. We illustrate the use of SensorScheme and evaluate its code compactness and energy- efficiency.
Supply chain management is an application area where wireless sensor networks can play an important role in improving process efficiency. This demonstration shows an implementation of a supply chain management monitoring application using standard WSN nodes. It makes use of an interpreted runtime system called SensorScheme to allow efficient reprogramming and safe execution of monitoring applications running on these nodes. The demo shows all aspects of programming nodes, monitoring and fault detection, and shows the use of the SensorScheme tool set to achieve this functionality.
The EYES project (IST-2001-34734) is a three years European research project on self-organizing and collaborative energy-efficient sensor networks. It addresses the convergence of distributed information processing, wireless communications, and mobile computing. The goal of the project is to develop the architecture and the technology which enables the creation of a new generation of sensors that can effectively network together so as to provide a flexible platform for the support of a large variety of mobile sensor network applications. This paper provides a broad overview of the EYES project and highlights some approaches and results of the architecture.
Self organizing, wireless sensors networks are an emergent and challenging technology that is attracting large attention in the sensing and monitoring community. Impressive progress has been done in recent years even if we need to assume that an optimal protocol for every kind of sensor network applications can not exist. As a result it is necessary to optimize the protocol for certain scenarios. In many applications for instance latency is a crucial factor in addition to energy consumption. MERLIN performs its best in such WSNs where there is the need to reduce the latency while ensuring that energy consumption is kept to a minimum. By means of that, the low latency characteristic of MERLIN can be used as a trade off to extend node lifetimes. The performance in terms of energy consumption and latency is optimized by acting on the slot length. MERLIN is designed specifically to integrate routing, MAC and localization protocols together. Furthermore it can support data queries which is a typical application for WSNs. The MERLIN protocol eliminates the necessity to have any explicit handshake mechanism among nodes. Furthermore, the reliability is improved using multiple path message propagation in combination with an overhearing mechanism. The protocol divides the network into subsets where nodes are grouped in time zones. As a result MERLIN also shows a good scalability by utilizing an appropriate scheduling mechanism in combination with a contention period.
In this paper we introduce a new distributed algorithm for location discovery. It can be used in wireless ad-hoc sensor networks that are equipped with means of measuring the distances between the nodes (like the intensity of the received signal strength). The algorithm takes the reliability of measurements into account during calculation of the nodes positions. Simulation results are presented, showing the algorithms performance in relation to its accuracy, communication and calculation costs. The simulation results of our approach yield 2 to 4 times better results in position accuracy than other systems described previously. This level of performance can be reached using only few broadcast messages with small and constant size, for each node in the network.
An iterative quality-based algorithm for location discovery is presented which can be used in wireless ad hoc sensor networks. The algorithm will take the reliability of measurements into account and will produce a reliability index for every estimated location using a statistical approach. The algorithm can also work in a hybrid network with different kinds of distance measuring techniques. It will use the reliability of each of these methods in the final result. Satisfactory results can be achieved with this approach.