This book has a specific focus on advanced methods for programming Body Sensor Networks (BSNs) based on the reference SPINE project. The book provides a description of real BSN prototypes with the possibility to see on-line demos and download the software to test them on specific sensor platforms and includes case studies for more practical applications.
Giancarlo Fortino is currently an Associate Professor of Computer Engineering (since 2006) at the Department of Electronics, Informatics and Systems (DEIS) of the University of Calabria (Unical), Rende (CS), Italy. He was recently nominated Guest Professor in Computer Engineering of Wuhan University of Technology on April, 18 2012 (the term of appointment is three years). His research interests include distributed computing and networks, wireless sensor networks, wireless body sensor networks, agent systems, agent oriented software engineering, streaming content distribution networks, distributed multimedia systems, GRID computing.
Raffaele Gravina received the B.Sc. and M.S. degrees both in computer engineering from the University of Calabria, Rende, Italy, in 2004 and 2007, respectively. Here he also received the Ph.D. degree in computer engineering. He's now a Postdoctoral research fellow at University of Calabria. His research interests are focused on high-level programming methods for WSNs, specifically Wireless Body Sensor Networks. He wrote almost 30 scientific/technical articles in the area of the proposed Book. He is co-founder of SenSysCal S.r.l., a spin-off company of the University of Calabria, and CTO of the wearable computing area of the company.
Stefano Galzarano received the B.S. and M.S. degrees both in computer engineering from the University of Calabria, Rende, Italy, in 2006 and 2009, respectively. He is currently pursuing a joint Ph.D. degree in computer engineering with University of Calabria and Technical University of Eindhoven (The Netherlands). His research interests are focused on high-level programming methods for wireless sensor networks and, specifically, novel methods and frameworks for autonomic wireless body sensor networks.
Table of Contents
Preface xi
Acknowledgments xvi
1 Body Sensor Networks 1
1.1 Introduction 1
1.2 Background 1
1.3 Typical m‐Health System Architecture 4
1.4 Hardware Architecture of a Sensor Node 6
1.5 Communication Medium 7
1.6 Power Consumption Considerations 7
1.7 Communication Standards 8
1.8 Network Topologies 10
1.9 Commercial Sensor Node Platforms 13
1.10 Biophysiological Signals and Sensors 16
1.11 BSN Application Domains 17
1.12 Summary 20
References 20
2 BSN Programming Frameworks 25
2.1 Introduction 25
2.2 Developing BSN Applications 25
2.2.1 Application‐ and Platform‐Specific Programming 26
2.2.2 Automatic Code Generation 28
2.2.3 Middleware‐Based Programming 28
2.2.4 Programming Approaches Comparison 30
2.3 Programming Abstractions 31
2.4 Requirements for BSN Frameworks 34
2.5 BSN Programming Frameworks 37
2.5.1 Titan 38
2.5.2 CodeBlue 38
2.5.3 RehabSPOT 38
2.5.4 SPINE 39
2.5.5 SPINE2 39
2.5.6 C‐SPINE 39
2.5.7 MAPS 40
2.5.8 DexterNet 40
2.6 Summary 40
References 41
3 Signal Processing In‐Node Environment 45
3.1 Introduction 45
3.2 Background 46
3.3 Motivations and Challenges 46
3.4 The SPINE Framework 46
3.4.1 Architecture 47
3.4.2 Programming Perspective 51
3.4.3 Optional SPINE Modules 51
3.4.4 High‐Level Data Processing 52
3.4.5 Multiplatform Support 55
3.5 Summary 56
References 57
4 Task‐Oriented Programming in BSNs 59
4.1 Introduction 59
4.2 Background 60
4.3 Motivations and Challenges 60
4.3.1 Need for a Platform‐Independent Middleware 60
4.3.2 Challenges in Designing a Task‐Oriented Framework 61
4.4 SPINE2 Overview 62
4.5 Task‐Oriented Programming in SPINE2 63
4.6 SPINE2 Node‐Side Middleware 66
4.7 SPINE2 Coordinator 68
4.8 SPINE2 Communication Protocol 68
4.9 Developing Application in SPINE2 70
4.10 Summary 71
References 72
5 Autonomic Body Sensor Networks 73
5.1 Introduction 73
5.2 Background 73
5.3 Motivations and Challenges 74
5.4 State‐of‐the‐Art 75
5.5 SPINE‐*: Task‐Based Autonomic Architecture 76
5.6 Autonomic Physical Activity Recognition 81
5.7 Summary 84
References 85
6 Agent‐Oriented Body Sensor Networks 89
6.1 Introduction 89
6.2 Background 89
6.2.1 Agent‐Oriented Computing and Wireless Sensor Networks 89
6.2.2 Mobile Agent Platform for Sun SPOT (MAPS) 91
6.3 Motivations and Challenges 94
6.4 State‐of‐the‐Art: Description and Comparison 95
6.5 Agent‐Based Modeling and Implementation of BSNs 98
6.6 Engineering Agent‐Based BSN Applications: A Case Study 98
6.7 Summary 101
References 103
7 Collaborative Body Sensor Networks 107
7.1 Introduction 107
7.2 Background 108
7.3 Motivations and Challenges 109
7.4 State‐of‐the‐Art 110
7.5 A Reference Architecture for Collaborative BSNs 111
7.6 C‐SPINE: A CBSN Architecture 114
7.6.1 Inter‐BSN Communication 116
7.6.2 BSN Proximity Detection 117
7.6.3 BSN Service Discovery 118
7.6.4 BSN Service Selection and Activation 118
7.7 Summary 119
References 119
8 Integration of Body Sensor Networks and Building Networks 121
8.1 Introduction 121
8.2 Background 121
8.2.1 Building Sensor Networks and Systems 121
8.2.2 Building Management Framework 124
8.3 Motivations and Challenges 125
8.4 Integration Layers 127
8.5 State‐of‐the‐Art: Description and Comparison 129
8.6 An Agent‐Oriented Integration Gateway 130
8.7 Application Scenarios 133
8.7.1 In‐Building Physical Activity Monitoring 133
8.8 Summary 135
References 135
9 Integration of Wearable and Cloud Computing 139
9.1 Introduction 139
9.2 Background 140
9.2.1 Cloud Computing 140
9.2.2 Architectures for Sensor Stream Management 140
9.3 Motivations and Challenges 142
9.3.1 BSN Challenges 143
9.3.2 BSN/Cloud Computing Integration Challenges 144
9.4 Reference Architecture for Cloud‐Assisted BSNs 145
9.4.1 Sensor Data Collection 145
9.4.2 Sensor Data Management 147
9.4.3 Scalable Processing Framework 147
9.4.4 Persistent Storage 148
9.4.5 Decision‐Making Process 149
9.4.6 Open Standards and Advanced Visualization 149
9.4.7 Security 150
9.5 State‐of‐the‐Art: Description and Comparison 151
9.5.1 Integration of WSNs and Cloud Computing 151
9.5.2 Integration of BSNs and Cloud Computing 152
9.5.3 A Comparison 153
9.6 BodyCloud: A Cloud‐based Platform for Community BSN Applications 156
9.7 Engineering BodyCloud Applications 159
9.7.1 ECGaaS: Cardiac Monitoring 160
9.7.2 FEARaaS: Basic Fear Detection 162
9.7.3 REHABaaS: Remote Rehabilitation 165
9.7.4 ACTIVITYaaS: Community Activity Monitoring 166
9.8 Summary 171
References 171
10 Development Methodology for BSN Systems 177
10.1 Introduction 177
10.2 Background 177
10.3 Motivations and Challenges 180
10.4 SPINE‐Based Design Methodology 180
10.4.1 A Pattern‐Driven Application‐Level Design 181
10.4.2 System Parameters 183
10.4.3 Process Schema 184
10.5 Summary 186
References 186
11 SPINE‐Based Body Sensor Network Applications 187
11.1 Introduction 187
11.2 Background 187
11.3 Physical Activity Recognition 187
11.3.1 Related Work 188
11.3.2 A SPINE‐Based Activity Recognition System 189
11.4 Step Counter 191
11.4.1 Related Work 191
11.4.2 A SPINE‐Based Step Counter 192
11.5 Emotion Recognition 194
11.5.1 Stress Detection 194
11.5.1.1 Related Work 194
11.5.1.2 SPINE‐HRV: A Wearable System for Real‐Time Stress Detection 195
11.5.2 Fear Detection 197
11.5.2.1 Related Work 197
11.5.2.2 A SPINE‐Based Startle Reflex Detection System 198
11.6 Handshake Detection 200
11.6.1 Related Work 201
11.6.2 A SPINE‐Based Handshake Detection System 202
11.7 Physical Rehabilitation 205
11.7.1 Related Work 205
11.7.2 SPINE Motor Rehabilitation Assistant 206
11.8 Summary 208
References 208
12 SPINE at Work 213
12.1 Introduction 213
12.2 SPINE 1.x 213
12.2.1 How to Install SPINE 1.x 216
12.2.2 How to Use SPINE 217
12.2.3 How to Run a Simple Desktop Application Using SPINE1.3 220
12.2.4 SPINE Logging Capabilities 225
12.3 SPINE2 225
12.3.1 How to Install SPINE2 228
12.3.2 How to Use the SPINE2 API 230
12.3.3 How to Run a Simple Application Using SPINE2 232
Index 239