1 / 20

Programming Sensor Networks

Programming Sensor Networks. Andrew Chien CSE291 Spring 2003 May 6, 2003. Outline. Applications Requirements Programming Challenges Technology Challenges Current Approaches New Directions. Applications Requirements. Broad and Amorphous Tremendous breadth No single design point

silvis
Download Presentation

Programming Sensor Networks

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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/implementation

  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. Cmd/ Event Cmd/ Event Cmd/ Event Cmd/ Event 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 • Spatial structures (processor array) in programming systems • Spatial structure <-> physical space ? • Fortran D / HPF (imperative, spatial, explicit optimization/communication management) Global Program + Partition Data, Map/Optimize

  17. Collection Programming • Collection structures <-> sensor collections? • Nesl • CA/ICC++ • Object-oriented Simulation models • Elements • Collection oriented naming • Collection structuring, indexing • Programmed cooperative behavior • Presumed distribution and optimization Global Program + 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? • -> we won’t 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

More Related