SyNaPse

SyNaPse is a TinyOS2 tool that enables reliable over-the-air reprogramming in a multi-hop wireless sensor network.

Using SyNaPse it is possible to distribute new applications or upgrades to all the nodes in a Wireless Sensor Network by accessing only one node (the BaseStation), which forwards the new code to the rest of the network.

In contrast to previous solutions, which implement plain NACK-based ARQ strategies, SYNAPSE++ adopts a more sophisticated error recovery approach exploiting rateless Fountain Codes (FCs). This allows it to scale considerably better in dense networks and to better cope with noisy environments. In order to speed up the decoding process and decrease its computational complexity, we engineered the FC encoding distribution through an original genetic optimization approach. Further, novel channel access and pipelining techniques have been jointly designed so as to fully exploit the benefits of Fountain Codes, mitigate the hidden terminal problem and reduce the number of collisions. All of this makes it possible for SYNAPSE++ to recover data over multiple hops through overhearing by limiting, as much as possible, the number of explicit retransmissions.

SyNaPse has been developed by the researchers of the SigNET lab at the University Of Padova. It is released under the BSD license.

Credits:

A bootloader, which sits in front of every application running on the nodes and manages the reprogramming operations.

A GoldenImage, the main part of SyNaPse. The GoldenImage is a TinyOS application that is installed in every node and must be loaded by the bootloader when the over-the-air functionalities are required.

The TinyOS libraries that can be used, but don’t have to be used, from applications to interface with the bootloader. Applicatio n designers can decide to create applications that are completely unaware of SyNaPse and its bootloader. How to switch to the GoldenImage in this case will be explained later in this document.