26
PROGRAMMING MODELS FOR SENSOR NETWORKS: A SURVEY Presented By: Vasvi Kakkad

P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

Embed Size (px)

Citation preview

Page 1: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

PROGRAMMING MODELS FOR SENSOR NETWORKS: A SURVEY

Presented By:

Vasvi Kakkad

Page 2: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

OUTLINE

Overview Problem Space Requirements Taxonomy of Programming Models Evaluation

Page 3: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

OVERVIEW – SENSOR NETWORKS

Challenges Unreliable communication, faulty nodes,

extremely constrained resources

Application logic becoming more complex Failure-resilience, reprogrammability, poor

debugging environment

Requires sophisticated programming models to Make programming easy Full use of available resources

Page 4: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

EXAMPLES Habitat Monitoring

Example – ZebraNet Project Very low duty cycle operations – Maximizes battery life

Environmental Monitoring Example – Long term glacial movement, temperature/

humidity in forest

Structural Health Monitoring Example – Analyze structural responses to forced

excitation High data rate and low latency

Tracking applications Example – Surveillance application Collaborative information processing among sensors

Page 5: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

PROBLEM SPACE

Page 6: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

REQUIREMENTS FOR WSN PROGRAMMING

Energy-efficiency

Scalability

Failure-resilience

Collaboration

Page 7: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

TAXONOMY OF PROGRAMMING MODELS

Page 8: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING MODEL

TinyOS One of the most widely used

OS Written in nesC Component based – allows

modular programming

nesC Flexible Provides unified interface Level of abstraction – very

low Complex programming

OS/Node-Level Programming

nesC/TinyOS

TinyGALSSOSCoMOS

SNACKT2OSM

FiberMantis OSTinyThreadYThread

Page 9: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING MODEL

Asynchronous Message Passing TinyGALS (Globally Async, Locally

Sync) [2003]

Hybrid of event model and message passing model

Asynchronous FIFO queue

SOS – Synchronous OS [2005]

Uses priority queue

CoMOS – Component Messaging based OS [2006]

Uses message passing Message handling is preemptive

OS/Node-Level Programming

nesC/TinyOS

TinyGALSSOSCoMOS

SNACKT2OSM

FiberMantis OSTinyThreadY-Thread

Page 10: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING MODEL

Abstraction SNACK [2004]

Provides services same as configuration in nesC

Services – parameterized/ more reusable

T2 [2005] Telescoping abstraction Supports different hardware devices Platform independent

OSM – Object State Model [2005] Extends event-driven model with

states and transitions Support parallel composition Allows refinement of program

OS/Node-Level Programming

nesC/TinyOS

TinyGALSSOSCoMOS

SNACKT2OSM

FiberMantis OSTinyThreadY-Thread

Page 11: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING MODEL

Thread Abstraction Fiber [2004]

Light-weight concurrency model for TinyOS

Single blocking execution context Mantis OS [2005]

Preemptive, time-sliced multi-threading on MICA2 motes

TinyThread [2006] Multithread library for TinyOS

Y-thread [2006] Similar to Fiber, but preemptive Computation and control

behaviors Shared stack for non-blocking

computation

OS/Node-Level Programming

nesC/TinyOS

TinyGALSSOSCoMOS

SNACKT2OSM

FiberMantis OSTinyThreadY-Thread

Page 12: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING

Interpreter-based VM Mate/ASVM [2002/2005]

Stack-oriented Reduced size of assembly code Reduced communication

Melete [2006]

Extends Mate Supports multiple concurrent

application

VMStar [2005]

Allows dynamic update of system and application code

Virtual Machine /Middleware

Mate/ASVMMeleteVMStar

ImpalaSensorWare

TMLt-kernel

Page 13: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING

Re-programmability Impala [2003]

Middleware for ZebraNet project Modular, adaptability to dynamic

environments Easy and efficient on-the-fly

reprogramming

SensorWare [2003]

Tcl-based control scripts Designed for richer hardware

platform Supports multiple concurrent

users

Virtual Machine /Middleware

Mate/ASVMMeleteVMStar

ImpalaSensorWare

TMLt-kernel

Page 14: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

NODE-LEVEL PROGRAMMING

Platform Independence TML – Token Machine Language

[2005] Uses DTM model Sends/receives tokens Executes associated token

handler Easier to implement higher level

programming construct

t-kernel [2006] OS kernel focuses on reliability Provides OS protection and

virtual memory at load time

Virtual Machine /Middleware

Mate/ASVMMeleteVMStar

ImpalaSensorWare

TMLt-kernel

Page 15: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – GROUP-LEVEL

Hides detail of communication Abstract Region [2004]

Groups are defined topologically, geographically or combinations

Provides way to tune trade-off between resource consumption and accuracy

Hood [2004] Uses one-hop neighbor for

group definition

Neighborhood-based Group

Abstract RegionHood

Page 16: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – GROUP-LEVEL

Defines group based on logical properties Type of nodes, dynamic input

from environment EnviroTrack [2004]

Programming abstraction Group – set of sensors that

detect same event Provides data sharing and

aggregation

SPIDEY [2006] Node is represented as logical

node with attributes Static – node type Dynamic – sensor readings

Logical Group

EnviroTrackSPIDEY

Page 17: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – NETWORK-LEVEL

Database

CougarTinyDBSINAMiLANDSWare

Cougar [2000]

Declarative SQL like language Pushes operation to sensor

TinyDB [2003]

Focuses on acquisition issues Optimizes routing tree

SINA [2000]

Allows more explicit tasking User can embed scripts written

in imperative language MiLAN [2004]

Provides QoS feature DSWare [2003]

Notion of compound event and supports real-time semantics

Page 18: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – NETWORK-LEVEL

Microprogramming Language

RegimentKairos

Spatial ProgrammingSpatialViewsDRN

Semantic StreamsSoftware Sensors

Global behavior Regiment [2007]

Functional language – syntax similar to Haskell

Hides direct data manipulation Can express group of nodes Programs compiled to TML

intermediate language then nesC

Kairos [2005]

Language independent Can be implemented as an

extension to existing programming language

Reduces communication overhead by eventual consistency

Page 19: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – NETWORK-LEVEL

Microprogramming Language

RegimentKairos

Spatial ProgrammingSpatialViewsDRN

Semantic StreamsSoftware Sensors

Resource Naming Spatial Programming [2004]

Resources referenced by physical location

Uses static binding

SpatialViews [2005]

Network of nodes named by services and locations

Dynamic binding

DRN – Declarative Resource Naming [2005]

More flexible

Page 20: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

HIGH-LEVEL PROGRAMMING – NETWORK-LEVEL

Microprogramming Language

RegimentKairos

Spatial ProgrammingSpatialViewsDRN

Semantic StreamsSoftware Sensors

Other Abstractions Semantic Streams [2006]

Framework that allows declarative queries over semantic interpretation

Prolog-based implementation Automatic composition of

sensors and inference units

Software Sensor [2004]

Originates from SW engineering Supported by Sensor-Jini

middleware Provides lookup service to find

and bind application SW Sensor

Page 21: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

EVALUATION

Energy-efficiency – 3 mechanism Caching, routing, in-network summarization

Abstract Region, Hood, EnviroTrack, and Kairos SPIDEY – efficient routing Database approaches

Control tradeoff with “quality” Abstract Region, TinyDB extension Semantic Stream

Efficient code update VM based approaches

Page 22: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

EVALUATION

Scalability Cougar – pushes selection to sensors TinyDB Some macroprogramming languages

Page 23: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

EVALUATION

Failure-resilience – 4 measures Redundancy; addressing by roles

Group-level abstraction

Caching Same as for energy-efficiency

Dynamic binding SpatialViews, DRN

Failure as “quality/confidence” assessment MiLAN, DSWare – failure treated as quality

degradation or added uncertainty

Page 24: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

EVALUATION

Collaboration – 3 mechanisms Group definition

Group-level abstraction – Spatial programming, SpatialViews, DRN

Declarative Query Database approach

Resources as variable Some macroprogramming languages

Page 25: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

FUTURE DIRECTION

Heterogeneity Support to multiple different type of sensors

Strict QoS Support Often too inefficient to collect high-quality data

Accuracy, latency, error rates Control tradeoff between energy and quality

Page 26: P ROGRAMMING M ODELS FOR S ENSOR N ETWORKS : A S URVEY Presented By: Vasvi Kakkad

THANK YOU!!!