By G. Fortino
SPINE is an open-source framework, using versatile wireless communication between body-mounted Sensor Nodes and a remote Coordinator. It supports development of efficient BSN Systems. Several applications have already been implemented. The article contains a link to the web site from which the framework can be downloaded.
Body Sensor Networks (BSNs)  are a powerful technology for supporting many human-centered real-world systems. They are currently having a significantly increasing research interest thanks to their potential to enable continuous and real-time human monitoring at low cost by guaranteeing ease of deployment, fault tolerance, and non-invasive operations. Most of the current BSN systems have been developed in the health-care domain. However, wearable systems have great capabilities for diversified application domains, which are gaining more and more attention in the last years: e-Social, e-Sport and e-Fitness, e-Entertainment and interactive computer games, and e-Factory.
BSNs are usually composed of a set of wearable nodes and a local central device (or coordinator), such as a smartphone or a PC. The wearable nodes are equipped with sensors able to acquire different physiological data from the human body, e.g. limbs and chest motion, heart rate, skin conductivity and temperature, ECG or brain activity .
On the basis of the specific purpose, such gathered data streams can be locally pre-processed by a node-side application running on the sensor nodes and then sent to a specific coordinator-side application for real-time monitoring, off-line analysis, storage or remote transmission on the Internet.
Apart from issues related to sensor platform electronics and to sensor communication protocols, one of the main obstacle to a wide diffusion of BSNs concerns the development of BSN applications/systems that is often a very complex task.
Three main approaches can be exploited to build BSN applications : (i) application-specific, which uses the low-level programming API provided by a specific sensor platform; (ii) middleware-based, which offers high-level software frameworks and tools to design and implement applications; and (iii) automated code generation, which is based on platform-independent application models translated into platform-dependent code through specific translator programs. The approach currently having more attention as widely considered the most effective one, is the middleware-based approach. Several middlewares have been to date specifically proposed in the BSN domain such as CodeBlue, RehabSPOT, Titan, and SPINE.
The layered architecture of SPINE is shown in Figure 1.
The SPINE Coordinator, which is currently available for Java-enabled devices and Android smartphones/tablets, is centered on the SPINE API that provides a set of well-defined services to the user applications. The main services are sensor discovery, dynamic sensor configuration, and sensor stream collection. The SPINE Coordinator also provides a GUI-based Console through which users can easily manage the BSN and collect data.
The SPINE Sensor Node, which is currently available for TinyOS-based sensor platforms and for sensor devices based on the Zigbee Z-Stack provided by Texas Instruments, is structured around the Sensor Node Manager that orchestrates the other sensor node components. In particular, it handles packets received by the Communication Manager (and coming from the SPINE Coordinator) to set up sensing operations through the Sensor Controller and processing tasks through the Signal-Processing Manager. The Sensor Controller supports efficient sensing operations and effective management of sensors, specifically the addition of new available sensors. Sensed data are placed into efficient circular data buffers for real-time processing. The supported in-node signal processing, which is highly flexible and extensible, makes it already available: (i) a set of the most used feature extractors in the multi-sensor data fusion domain such as mean, max, min, total energy, pitch & roll, amplitude; (ii) programmable threshold-based functions which raise events if the threshold condition (defined on raw and/or pre-processed sensor data) holds. Moreover, new functions can be easily defined and introduced. Such functions are executed on buffered sensor data according to two main parameters window (W) and shift (S). W represents the number of sensor data samples stored as input for the function, whereas S represents the number (expressed as the percentage of W) of new samples that need to be acquired before executing the function again on the updated W.
The platform-independent SPINE OTA protocol enables message-based bidirectional communication between the SPINE Coordinator and the SPINE Sensor Node. The SPINE protocol is available for IEEE 802.15.4, Bluetooth and Zigbee.
Figure 1: The SPINE architecture: the SPINE Coordinator and the SPINE Sensor Node sides interact through the SPINE over-the-air protocol supporting node discovery, dynamic configuration, and data/event collection. SPINE fully supports high-level data processing in real-time so enabling event classification (e.g. human activities, emotions, and statuses) on the basis of mining techniques applied to sensor data streams. The supported high-level data processing is sketched in Figure 2 along with an example concerning an activity recognition application.
SPINE fully supports high-level data processing in real-time so enabling event classification (e.g. human activities, emotions, and statuses) on the basis of mining techniques applied to sensor data streams. The supported high-level data processing is sketched in Figure 2 along with an example concerning an activity recognition application.
Figure 2: The sensor data classification chain is based on a high-level data processing framework also bridged with the WEKA data mining toolkit. The example refers to activity recognition (specifically, recognition of walking, lying down, sitting, standing still) based on SPINE-enabled triaxial-accelerometer-equipped sensor nodes placed on the body of an assisted living. Different sensors nodes placed on different body positions could have different features enabled.
To date, SPINE has been employed for the development of diversified BSN systems:
- Activity Recognition System . Physical activity recognition is one the fundamental building blocks of many BSN applications. Our prototype uses only two wireless motion sensor nodes placed on the waist and on the thigh, and a personal smartphone running the end-user application which is able to detect four basic activities (lying down, sitting, standing, and walking). The recognition phase is based on a K-NN classifier which is executed on a set of features extracted from the XYZ-channels of the accelerometer sensors. The overall average activity recognition accuracy is about 98%.
- Handshake Detection System . The handshake gesture is an important part of the social etiquette in many cultures and its automated detection can enable a wide range of pervasive computing scenarios. We have realized a handshake detection system based on collaborative BSNs having a coordinator and a wrist-wearable, 3-axial-accelerometer-equipped wireless sensor node. The recognition phase is based on two J48 tree classifiers, one executing on the wrist-placed sensor node, which detects potential handshake, and the other running on the coordinator, which provides the final outcome by aggregating data from the interacting BSN. The overall handshake detection accuracy is greater than 85%.
- E-Shake System . E-Shake is a collaborative BSN-based system that allows for the detection of emotion reaction between people shaking their hands. In particular, the system is based on C-SPINE, the collaborative version of SPINE, and integrates handshake gesture detection with continuous beat-to-beat heart rate calculation. This integrated information is exploited to detect emotion reactions of a person meeting another person where the meeting starts with a handshake.
- Stress Detection System . Heart Rate Variability (HRV), which represents the variations in the beat-to-beat alteration in the heart rate, is among the most promising markers for analyzing human emotional stress. We have developed a prototype based on an ECG board-equipped sensor node providing timed heart beat events to the SPINE coordinator that, in turn, performs an HRV analysis by extracting time-domain features on the inter-beat times over a ten minute window. These features are then fed to a simple threshold-based classifier to estimate whether or not the subject is stressed.
SPINE is an open-source project currently maintained and promoted by the PLASMA group at University of Calabria (Italy). On the SPINE website available at http://spine.deis.unical.it, the framework can be downloaded and users can subscribe to the SPINE community to receive any news about the SPINE evolution and to provide precious feedback as well as to get involved in its enhancement.
On the basis of the lessons learned in applying SPINE for the development of real systems and in analyzing the feedback received from the SPINE community, we believe that SPINE is contributing to a sensible advancement of the state-of-the-art in the BSN domain, specifically addressing the main issue of delivering a usable, effective and efficient framework for programming BSN applications/systems in many different human-centered application domains.
On-going work is devoted to the testing of SPINE2 , a novel version of SPINE based on a task-oriented programming model and related CASE tools that support more effectiveness in developing BSN applications on heterogeneous sensor platforms. Moreover, an autonomic version of SPINE2, named SPINE-* , has been also defined and being used to implement quality-controlled data collection from wearable sensors.
The research works mentioned were in collaboration with R. Gravina, S. Galzarano, R. Giannantonio, F. Bellifemine, A. Guerrieri, R. Jafari, , M. Sgroi, P. Kuryloski, N. Raveendranathan, V. Loseu, A. Andreoli, A. Augimeri, M.R. Reje, V. Handziski, A. Wolisz, A. Liotta.
For Further Reading
3. F. Bellifemine, G. Fortino, R. Giannantonio, R. Gravina, A. Guerrieri, M. Sgroi, “SPINE: A domain-specific framework for rapid prototyping of WBSN applications”, Software Practice and Experience, 41(3), pp. 237-265, 2011.
4. G. Fortino, R. Giannantonio, R. Gravina, P. Kuryloski, R. Jafari, “Enabling Effective Programming and Flexible Management of Efficient Body Sensor Network Applications”, IEEE Transactions on Human-Machine Systems, 43(1), pp. 115-133, 2013.
5. A. Augimeri, G. Fortino, M.R. Reje, V. Handziski, A. Wolisz, “A Cooperative Approach for Handshake Detection based on Body Sensor Networks,” Proc. of. IEEE International Conference on Systems, Man, and Cybernetics (SMC 2010), Istanbul, Turkey, Oct. 10-13, 2010.
6. A. Augimeri, G. Fortino, S. Galzarano, R. Gravina, “Collaborative Body Sensor Networks”, Proc. of IEEE International Conference on Systems, Man and Cybernetics (SMC 2011), Anchorage, Alaska, USA, Oct. 9-12, 2011.
7. A. Andreoli, R. Gravina, R. Giannantonio, P. Pierleoni, G. Fortino, “SPINE-HRV: a BSN-based Toolkit for Heart Rate Variability Analysis in the Time-Domain”, In Wearable and Autonomous Biomedical Devices and Systems for Smart Environments: New issues and Characterization (Mukhopadhyay, Subhas Chandra; Lay-Ekuakille, AimÃ¨, eds) Berlin: SpringerVerlag, Lecture Notes on Electrical Engineering, Vol. 75, pp. 369-389, 2010.
8. N. Raveendranathan, S. Galzarano, V. Loseu, R. Gravina, R. Giannantonio, M. Sgroi, R. Jafari, G. Fortino, “From Modeling to Implementation of Virtual Sensors in Body Sensor Networks”, IEEE Sensors Journal, 12(3), pp. 583-593, 2012.
9. S. Galzarano, G. Fortino, A. Liotta, “Embedded self-healing layer for detecting and recovering sensor faults in body sensor networks, Proc. of IEEE International Conference on Systems, Man and Cybernetics (SMC 2012), Seoul (South Korea), Oct. 14-17, 2012.
Giancarlo Fortino is currently an Associate Professor of Computer Engineering at the Dept. of Informatics, Modeling, Electronics and Systems (DIMES) of the University of Calabria (Unical), Rende (CS), Italy. He received a Laurea Degree and a PhD in Computer Engineering from Unical in 1995 and 2000, respectively. His research interests include distributed computing, wireless sensor networks, software agents, cloud computing. He is an IEEE Senior Member. Read more