Signal Processing In Node Environment


Source code and documentation will be soon available for download at our Google Code Project.

Info about the SPINE2 Licence.

Get involved

We welcome contributions from all users, including bug reports and fixing, suggestions, and sub-projects of SPINE2.
Proposals for new sub-projects should be sent via e-mail to: 'sgalzarano(at)deis(dot)unical(dot)it' by specifying a short workplan with a description of the new functionalities, the impact on existing code, and the expected time for the first stable release.

Please read this first:

Before using SPINE2, please note that it should not be considered a substitute of SPINE1.x, but rather a parallel research effort aiming at: (i) experimenting a different (task-based) programming abstraction; (ii) defining a node-side software architecture allowing an easier framework porting for new sensor platforms.
SPINE2 is a relatively new project, and at the moment requires further work for supporting the same sensor platforms already available for SPINE1.x.
In fact, SPINE1.x has been well exploited in several projects and applications (employing a variety of physical sensors) and has reached a good maturity as a result of more than four years' efforts by the SPINE developers community.

  • Choose SPINE1.x if its capabilities match your actual needs and you want to rely on a well-tested framework supporting many different sensor platforms;
  • Choose SPINE2 if you desire to experimenting the new task-based abstraction for rapid prototyping of WBSN applications and contribute to the enhancement of the framework by supporting new sensor platforms or by integrating new task definitions.

SPINE2 at a Glance

SPINE2 is a novel framework specifically designed for the development of signal processing applications on WSNs based on the task-oriented paradigm and relying on a platform-independent node-side software architecture.

The task-oriented paradigm provides constructs for specifying an application behavior as a set of interconnected tasks, each of which representing a particular activity ( such as a sensing operation, a processing function or a radio data transmission) by abstracting away low-level details. Designing an application as a composition of elementary blocks enables a more rapid application development, runtime reconfiguration and a simplified software maintenance.
A simple example of SPINE2 task-oriented application specification is depicted in the figure below. The set of interconnected tasks forms a direct graph representing distyributed chains of operations that include sensor data acquisition, data processing and merged result transmission.

Thanks to the software-layering approach (see picture below), the node-side part of the SPINE2 framework can be rapidly ported for supporting different C-like sensor platforms, by simply redefining only the platform-dependent part (such as sensors and radio drivers) of the software architecture.
Specifically, the core framework provides the basic node execution logic (such as task man-agement, application-level message handling and on-board sensor abstraction management) whereas the platform-specific modules are the components needed for accessing the services and the resources provided by a specific sensor node platform on which the software architecture is running.

Apart from the node-side software in charge of the interpretation and execution of the task-based application, the SPINE2 framework includes coordinator-side software components, consisting of a Java-based API and a GUI-based application. Through them developers are able to: (i) managing the sensor network, (ii) defining and deploying the task-based applications, and (iii) gathering pre-elaborated data coming from sensor nodes for eventually passing them to a more specific application which may be in charge of more complex data processing and visualization.

About the SPINE2 Licence

SPINE2 is released under the LGPL license.
The LGPL license keeps all contributors to the same level relative to each other and it respects and protects both the users and the authors. In the following you can have a fast and rough idea of rights and duties of this license but, please, refer to the official LICENSE file for more details and legally precise information.
In particular, LGPL assures right to:
- make and distribute copies of SPINE;
- have access to the software source code;
- make improvements to the program;
- incorporate SPINE into a proprietary program.

The LGPL mandates also some duties, in particular:
- to not keep modifications private;
- to not change the license of SPINE and its modifications.