Programming Sensor Networks - PowerPoint PPT Presentation

1 / 20
About This Presentation
Title:

Programming Sensor Networks

Description:

CSE 291 Sensor Networks 5/6/2003. Applications Requirements. Broad and Amorphous ... Process in network and actuate or Stream to base station systems ... – PowerPoint PPT presentation

Number of Views:36
Avg rating:3.0/5.0
Slides: 21
Provided by: Andre524
Category:

less

Transcript and Presenter's Notes

Title: Programming Sensor Networks


1
Programming Sensor Networks
  • Andrew Chien
  • CSE291
  • Spring 2003
  • May 6, 2003

2
Outline
  • Applications Requirements
  • Programming Challenges
  • Technology Challenges
  • Current Approaches
  • New Directions

3
Applications Requirements
  • Broad and Amorphous
  • Tremendous breadth
  • No single design point
  • What are some example requirements

4
Static Sensing Mission
  • Examples industrial, bridge, civil
    infrastructure, environmental monitoring
  • Static Deployment of Sensor network
  • Limited mission change, evolution
  • Update dominated by management and failure/repair
  • Slow adaptation, configuration acceptable
  • Monitor and Activate in response to stimuli
  • Capture data and process
  • Stream to base station systems

5
Dynamic Sensing Mission
  • Examples disaster response, military or police
    search, surveillance
  • Dynamic deployment of sensor network
  • Rapid mission change, rapid evolution on command
  • Update limited due to short intense missions, but
    reconfiguration to changing mission
  • Fast adaptation, configuration critical
  • Monitor and Activate in response to stimuli
  • Capture data and process
  • Process in network and actuate or Stream to base
    station systems

6
Dynamic Network Structure
  • Examples airborne, water born, vehicle born,
    zebra born sensornets
  • Coastal Sensor Networks
  • Dynamic deployment of sensor network
  • Slow mission change, evolution
  • Rapid network structure change due to physical
    movement, environment change, or failures
  • Fast adaptation, configuration critical
  • Monitor and Activate in response to stimuli
  • Capture data and process
  • Process in network and actuate or Stream to base
    station systems

7
Sensor Network Programming Challenges
  • Describe the distributed computation and sensing
    structures
  • Manage/Tolerate the irregular and changing
    network structure to achieve the computational
    goal
  • Reflect the accuracy / capability with which the
    sensor network can achieve mission
  • Detect needs for reconfiguration and repair
  • Enable optimization of program structure by
    automatic tools
  • Enable adaptation of program structure to new
    configurations with automatic tools
  • Enable gracefully degrading behavior with loss of
    resources and same source program
  • Enable energy/resource conservation with
    techniques such as sleep/idle
  • Others?

8
Relevant Technologies
  • Raise the level
  • High Level and Declarative Programming
  • Tolerance to change, portability
  • Parallel computation
  • Management of Computation/Communication,
    Concurrency, and Distribution
  • Aggressive compiler control of behavior/implementa
    tion

9
Relevant Foundations
  • Distributed Systems and FT community
  • Protocols, algorithms, implementation knowledge,
    programming techniques
  • Embedded and RT systems community
  • Local tools
  • Managing resource requirements

10
Technology Challenges
  • Powered and Limited power
  • Limited interconnectivity (link, bisection),
    external connectivity
  • Limited coordination
  • Limited memory
  • Unreliable nodes
  • Network evolution (upgrades and failures)

11
Current Approaches
  • C and Embedded SW Engineering
  • NesC
  • TinyDB

12
C Embedded SW Engin.
C
  • Cyclic executive or Priority Driven scheduler
  • Collection of real-time tasks
  • Manually Manage (some tools)
  • Concurrency and correctness
  • Memory constraints
  • Distributed application structure
  • Irregular sensor node distribution
  • Sensor network change/evolution

C
C
C
13
NesC
  • TinyOS like interface with
  • Call/Event Pairs
  • Concurrency safety conditions
  • Type Checking
  • Manually Manage
  • concurrency and correctness (some help)
  • memory constraints
  • distributed application structure
  • Irregular sensor node distribution
  • Sensornetwork change/evolution

14
TinyDB
  • Relational Model (table of sensor data sources)
  • Simple Operators
  • Semantics for transformation / implementation of
    Queries
  • Optimize deployment and implementation for power
  • Acquisitional Query processing
  • Optimize implementation and data acquisition for
    power
  • Manually Manage
  • concurrency and correctness (some help)
  • memory constraints
  • distributed application structure (some help)
  • Irregular sensor node distribution (some help)
  • Sensornetwork change/evolution (some help)

Global Queries
Query Plan and Map
15
New Directions
16
Spatial Programming
Global Program
  • Spatial structures (processor array) in
    programming systems
  • Spatial structure lt-gt physical space ?
  • Fortran D / HPF (imperative, spatial, explicit
    optimization/communication management)

Partition Data, Map/Optimize
17
Collection Programming
Global Program
  • Collection structures lt-gt sensor collections?
  • Nesl
  • CA/ICC
  • Object-oriented Simulation models
  • Elements
  • Collection oriented naming
  • Collection structuring, indexing
  • Programmed cooperative behavior
  • Presumed distribution and optimization

Map/Optimize
18
Data/Communication Oriented
  • Local program communication models which
    support asynchronous interactions
  • Tuple Spaces (Linda)
  • Publish-subscribe
  • Bulletin Boards
  • Data dissemination systems content-based query
    systems
  • Peer to peer systems (gnutella, freenet, etc.)
    Content Filtering/ranking systems (OpenCola,
    others)
  • TinyDB implementation techniques or different
    semantic framework?
  • -gt we wont focus on these

Pub- Sub
Bulletin Boards
Tuple Space
Point To Point




19
Summary / Discussion
  • Just scratched the surface on the programming
    problem
  • Low-level mechanisms and relational model provide
    starting point
  • Higher level models common threads
  • Global views
  • Imperative control
  • Explicit decoupling of expression from underlying
    resources
  • Expose distribution for compiler managed
    communication
  • Support for asynchrony
  • Will explore over coming weeks

20
(No Transcript)
Write a Comment
User Comments (0)
About PowerShow.com