• Sep
  • Home
  • Sep
  • People
  • Sep
  • Projects
  • Sep
  • Software
  • Sep
  • Publications
  • Sep
  • Awards
  • Sep
  • Reach
  • Sep
Software
Software
Programming Wireless Sensor Networks (WSNs) is currently perceived as a difficult task, an issue which may seriously hamper a widespread adoption of this technology. Most often, WSN programmers work at the level of the operating system, using basic communication primitives. Differently, TeenyLIME empowers WSN programmers with a higher level of abstraction by replacing the OS-level communication constructs with the notion of a shared memory space spanning neighboring (1-hop) nodes. TeenyLIME can be used to implement both application-level and system-level mechanisms, e.g., routing and MAC protocols. In addition, unlike most programming models in the WSN literature, TeenyLIME is extensively used in real-world WSN deployments, e.g., monitoring heritage buildings and control of road tunnels, where it provides a foundation to build efficient WSN systems with reduced programming effort.
The DiCE (Distributed Constraint Evaluator) system provides high-level, declarative constructs to describe network processes using safety properties which are monitored by an flexible accompanying runtime. The system not only monitors absolute properties such as "the temperature of any node must be below a given threshold", but also global properties such as "there should not be a temperature difference greater than a threshold". In their most general form, the properties consist of polynomial inequalities connected by logical operators. The polynomial variables represent the state of network nodes. The design allows the system to run on a heterogenous wireless network and to be easily reconfigured by adding or removing properties. Moreover, the monitoring takes place in a fully distributed and autonomous fashion.

More information and the source code for a proof of concept prototype running on top of TinyOS will be available soon.
Lime (Linda in a Mobile Environment) is a model and middleware supporting the development of applications that exhibit physical mobility of hosts, logical mobility of agents, or both. Lime adopts a coordination perspective inspired by work on the Linda model. The context for computation, represented in Linda by a globally accessible, persistent tuple space, is refined in Lime to transient sharing of identically-named tuple spaces carried by individual mobile units. Tuple spaces are also extended with a notion of location and programs are given the ability to react to specified states. The resulting model provides a minimalist set of abstractions that facilitates rapid and dependable development of mobile applications.
TinyLIME is a middleware for wireless sensor networks (WSN) that departs from the traditional WSN setting where sensor data is collected by a central monitoring station, and enables instead multiple mobile monitoring stations to access the sensors in their proximity and share the collected data through wireless links. This intrinsically context-aware setting is demanded by applications where the sensors are sparse and possibly isolated, and where on-site, location-dependent data collection is required. An extension of LIME, TinyLIME makes sensor data available through a tuple space interface, providing the illusion of shared memory between applications and sensors. Data aggregation capabilities and a power-savvy architecture complete the middleware features.
One of the primary challenges for wireless sensor network (WSN) applications is energy management. An accepted solution that dramatically increases sensor lifetime is duty-cycling, i.e., periodically switching on and off communication and/or sensing capabilities. The major factors that affect lifetime are the length of the period (the epoch period) and the duration of the on-time (the awake interval). However, another variable critically affects the performance of the network, namely when in each period each node activates. We refer to this as the wake-up time of the sensor node. In most systems, the wake-up time is randomly established, relating only to when the sensor is initially activated. This work illustrates an approach to modify, in a decentralized fashion, the wake-up time of WSN nodes, so that they are scattered as much as possible. We maintain that such wake-up scattering improves application performance in many situations:
  1. Responsiveness to Local Queries: Minimize the delay when a mobile base station queries for sensor data to nodes close to it, plus reduce the number of nodes awake at the same time to avoid the collisions produced by simultaneous query responses.
  2. Event Coverage: Maximize the percentage of events detected, applying the Wakeup Scattering technique to the duty cycle of the sensing devices.
  3. Data Latency in Tree-Based Networks: Minimize the latency of data transmitted from a child node to the sink, by adjusting the wakeup times of the nodes in the schedule.
A detailed explanation of the Wakeup Scattering algorithm, together with a Java-based simulator demonstrating it effectiveness, can be found at the website of the project.
TRIDENT is a software tool enabling both the execution of communication tests without the need for a tethered infrastructure, and the sharing of results uniformly over different experiments.
It provides a user interface for creating an experiment as a series of tests, each characterized by a set of parameters. It generates the code that has to be uploaded on the sensor nodes and executes the tests without constraints on the physical location of the nodes. Once the tests have been executed, the data downloaded from the nodes, and the movement of the mobile nodes tracked, the results can be exported.
Given the multiple possible uses of this information and the conceivable interest in running analyses spanning different environments and tests, TRIDENT makes use of a database where all data is stored in a uniform format. More, our tool offers a simple visualization of the results, either by showing aggregated information per link, or by enabling the replay of the transmission of the individual messages.
For getting the source see here.
MoteHunter is an award-winning tool for Wireless Sensor Network deployment and maintenance, which can be used to localize lost WSN motes on the field. It uses a directional antenna, a digital compass, and RSSI measurements, and it provides a Java GUI to assist field work. It can be used to search for any mote compliant with IEEE 802.15.4, although a special small-footprint software component can be integrated with the mote’s application to improve the search process.
The MoteHunter hardware can be simply assembled from off-the-shelf components, and the software is open source. For assembly instructions and for getting the source see here.