Upload
swati-mishra
View
222
Download
0
Embed Size (px)
Citation preview
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 1/38
Wireless Sensor Networks:From Science to Reality
Kay Römer
ETH Zurich
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 2/38
2
Sensor Networks Ad hoc network of sensor nodes
– Perceive (sensors)
– Process (microcontroller)
– Communicate (radio)
– Autonomous power supply
cc2250
transceiver
Zigbeetransceiver
power module
3D accelerometer flash
m i n i a t u r i z a t i o n
m o d u l a r i z
a t i o n
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 3/38
3
Application Visions
D. Culler [Berkeley]
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 4/38
4
Reality #1 Micro climate in Redwoods 44 days
50 nodes per tree
UC Berkeley
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 5/38
5
Reality #2
Bridge vibrations due to wind / seismic
Days
59 nodes UC Berkeley
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 6/38
6
Reality #3 Volcanic eruptions
9 km
4 days
10 nodes
Harvard
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 7/38
7
Reality #4
Sniper localization Days
60 nodes
Vanderbilt
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 8/38
8
Vision = Reality?
Scientific experiments– Developed and deployed by experienced
computer scientists– Small scale, short term
– Supervised operation
(Almost) no „real-world“ applications– Developed and deployed by application
domain experts– Large scale, long term
– Unattended operation
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 9/38
9
Why?
Source:OnWorld WSN Report
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 10/38
10
Ease of Use / Robustness
Some exemplary citations from people who
developed and deployed sensor networks
– Depends on individual skill of developers [Cerpa01]
– Many iterations of system design / implementation
required [Mainwaring02]
– Involves significant manpower [Hemingway04]
– Involves a certain amount of luck [Szewczyk04]
– Everything that could go wrong did go wrong[Langendoen06]
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 11/38
11
What is different? Worst of distributed and embedded worlds Dynamic, unreliable networks
– Links come and go
– Nodes come and go
– Mobility
Constrained resources– Simple OS
– System-centric programming
– Many competing optimization goals
– Limited visibility
Application development and deployment
very difficult!
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 12/38
12
WSN Application Lifecycle
Vision Design Implementation Test Deployment Operation
High-levelapplication idea
Devise / chose
• HW/SW Platform
• System architecture
• Protocols
• Algorithms
Write code
Verify correctness:
• Lab setting
• Small scale
Install and verifycorrectness:
• Real world setting
• Large scale
Use and maintenance
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 13/38
13
Abstraction
Vision Design Implementation Test Deployment Operation
Level of abstraction
high
low
Isolated solutions for lifecycle phases
Low and varying level of abstraction
• High-level application functionality
• Application QoS requirements
• Node-level resource management• Link-level communication aspects
Application
System
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 14/38
14
An Integrated Approach
A single high-level application specification drives– Implementation
– Test
– Deployment
High-level Application Specification
Execution Verification
Vision Design Implementation Test Deployment Operation
compilation
Level of abstraction
high
low
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 15/38
15
High-level Specification
High-level Application Specification
Execution Verification
compilation
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 16/38
16
Desirable Languages
Declarative
– Specify desired application behavior
– Not: how to achieve this behavior
Node ensembles
– Specify behavior of a group of nodes orwhole network
– Not: individual nodes
„# neighbors with a
temperature sensor“
1. Send request containing ...
2. Wait 10 seconds
3. Perhaps retransmit
4. Count distinct replies
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 17/38
17
Example: Role Assignment
Support for self-configuration
– Initially, all nodes are (more or less) identical
– Nodes take on specific functions Examples
– Clustering: HEAD, SLAVE, GATEWAY
– Coverage: ON, OFF– Aggregation: SOURCE, AGGREGATOR
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 18/38
18
Generic Role Assignment
Supports automatic assignment of roles
to sensor nodes
– Maintain valid assignment as networkchanges
Declarative role specifications– Definition of roles
– Definition of rules (constraints) for
assignment
– Rules refer to node properties battery = 80%
pos = (12.3, 3.4)role = ON
…
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 19/38
19
Coverage [cf. PEAS]
ON :: {
battery >= threshold &&
count(1 hop) {role == ON &&
dist(pos, super.pos) < R
} == 0
}
OFF :: else
count(scope) { pred }
– Counts nodes matching pred within scope
– super.x equals property x of referring node
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 20/38
20
Clustering [cf. Passive Clustering]
CLUSTERHEAD :: {count(1 hop) {
role == CLUSTERHEAD
} == 0 }
GATEWAY :: {cheads == retrieve(1 hop, 2) {
role == CLUSTERHEAD
} &&
count(2 hops) {
role == GATEWAY &&
cheads == super.cheads
} == 0 }
SLAVE :: else
retrieve(scope, num) { pred } == cheads– At least num nodes in scope must fulfil pred
– Bind the 2 nodes to cheads
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 21/38
21
Execution
High-level Application Specification
Execution Verification
compilation
Map high-level application functionalityto node-level behavior– Resource constraints
– Network dynamics
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 22/38
22
Distributed AlgorithmON :: {
count(1 hop) {
role == ON
} == 0 }
OFF :: else
Property propagation– Derive scope
– Scoped broadcast
Rule evaluation– Evaluate all rules locally
– Assign first matching role
– Re-propagate changed properties Scheduling
– Random delays to break synchronization
Notification– Notify application of „stable roles“
Distributed fix-point iteration
– In practice very few iterations (see paper)
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 23/38
23
Role Initialization
Base algorithm– All nodes start with role UNDEFINED
Probabilistic role initialization– „Guess“ initial roles for each node
– Repair wrong guesses with base algorithm
– Goal: faster convergence
Two variants
– Use only static information– Use runtime information (see paper)
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 24/38
24
Static Initialization
Basic approach
– Given: role specification, network density N
– Compute: P[r] = P[node assumes role r]
– Role init.: according to probabilities
Translate spec. to equation system– P[ON] = P[no neighbors are ON]
= (1 – P[ON])N
– P[OFF] = 1 – P[ON]
– Solve for P[ON], P[OFF]
ON :: {
count(1 hop) {
role == ON
} == 0 }
OFF :: else
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 25/38
25
Verification
High-level Application Specification
Execution Verification
compilation
Verify system behavior against high-level specification– Resource constraints
– Limited visibility of network state
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 26/38
26
Verification Challenges
Not a binary YES/NO answer– If NO, what and where is the problem?
Verification of deployed network
– Behavior differs to lab setting due to radio
channel, sensor input, physical strain
Key challenge: limited visibility of the
network state
– Once deployed, how can we access the state of
nodes?
– Limited resources: no space/bandwidth for
verification
– Heisenberg effect: measurement changes systembehavior
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 27/38
27
Passive Verification
Wireless traffic reveals parts of network
state
– Message contents (e.g., node role)– Message timing
Approach: overhear network traffic– Pro: No modification of sensor network
– Con: Additional hardware, incomplete
information
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 28/38
28
A Stethoscope for WSN
A tool to support passive verification of
sensor networks
Co-deployed with WSN
Only active during deployment
– Plentiful resources / energy
Removed after deployment
– Reuse for otherdeployments
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 29/38
29
Stethoscope Architecture
WSN radio communication
captures and decodes packets
infer node state from packets
of node states with high-level specification
of node states and verification results
Sniffer
Node state
Verification
Visualization
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 30/38
30
Sniffer
Additional node with compatible radio
– Always on to capture all packets without
participating in MAC protocol (e.g., sleepscheduling)
– Placed next to WSN
Forward packet stream to base station
– For centralized evaluation
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 31/38
31
Single sniffer cannot observe complete WSN– Network of sniffer nodes (synchronized)
Sniffer nodes have a second radio
– High-bandwidth, robust (Bluetooth, WLAN, cable, ...)
– Free of interference with WSN radio
Sniffer Network
DB
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 32/38
32
Node State Inference Infer relevant state of individual nodes
from overheard messages
– E.g., role of each node, network neighbors Also basic node state
– Node death: no messages
– Node reboot: seq number reset
Key problem: incomplete information
– Message loss
– Missing information in WSN protocol
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 33/38
33
Incomplete Information Missing information (e.g., neighbors)
– Generation of protocols from high-levelspec under our control
– We are free to include information inprotocol as long as it is small enough
Message loss– Cannot be avoided, but detected!
– Sequence number in each message
(received n, but not n-1)– Timing irregularities (expected
transmission at t not received)
F d t l T d Off
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 34/38
34
Fundamental Trade-Offs
Message loss [%]Latency [factor]
I n A c c u r a c y
Main parameters of state inference– Accuracy (correctness of inferred state)
– Latency (delay of state inference)
– Message loss (number of sniffer nodes)
V ifi i
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 35/38
35
Verification Map high-level specification to checker
– Deal with incomplete information
– Distinguish errors and potential errors Verification easy compared with
execution
– Centralized instead of distributed
– Checking instead of producing a role
assignment
Vi li ti
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 36/38
36
Visualization Node state Correctness at node level
– OK, Warning, Error
S
8/3/2019 WSN Application Bful Pics
http://slidepdf.com/reader/full/wsn-application-bful-pics 37/38
37
Summary
Gap between application visions and reality Two reason: ease of use / robustness
WSN application lifecycle
– Low level of abstraction
– Isolated solutions
An integrated approach– Single high-level application specification drives
implementation, test, and deployment
Example: Generic role assignment– Declarative specification language
– Role assignment algorithms
– Passive verification
Th k !