writing programs that work n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
Writing Programs that Work PowerPoint Presentation
Download Presentation
Writing Programs that Work

Loading in 2 Seconds...

play fullscreen
1 / 17

Writing Programs that Work - PowerPoint PPT Presentation


  • 97 Views
  • Uploaded on

Writing Programs that Work. Nupur Kothari University of Southern California. Roy Shea University of California, Los Angeles. Introduction. Sensor network deployments are getting more advanced and complicated Images, video feeds from cameras in sensor networks

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'Writing Programs that Work' - yahto


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
writing programs that work

Writing Programs that Work

Nupur Kothari

University of Southern California

Roy Shea

University of California, Los Angeles

introduction
Introduction
  • Sensor network deployments are getting more advanced and complicated
    • Images, video feeds from cameras in sensor networks
  • Writing programs for these deployments also getting more complicated
  • Need for new technologies that simplify programming for distributed sensing
programming challenges
Programming Challenges
  • Resource efficiency
    • Energy efficient communication
    • Memory efficiency
  • Reliability
    • Data should be consistently handled
    • Coordination among nodes needed
  • Failure recovery
    • Detect and deal with unexpected failures
the consequence of failure
The Consequence of Failure

Data may be lost, and application may crash

Most programmer errors ultimately result in node failures or unexpected application behavior

how to avoid these errors
How to avoid these errors

Our Proposals

  • Use static program analysis techniques to generate warnings for code that may cause errors during execution
  • Develop new languages to avoid some of the programmer generated errors

Current Technique

  • Perform extensive pre-deployment testing (trial and error) and fix the errors caught
  • Onus is on the programmer to catch all possible errors

Lighthouse

Pleiades

lighthouse static analysis
Lighthouse: Static Analysis

Lighthouse

Sensor Network Program

Display Potential Program

Errors to Developer

lighthouse static analysis1
Lighthouse: Static Analysis

Lighthouse

Sensor Network Program

Display Potential Program

Errors to Developer

lighthouse static analysis2
Lighthouse: Static Analysis

Lighthouse

Sensor Network Program

Display Potential Program

Errors to Developer

lighthouse static analysis3
Lighthouse: Static Analysis
  • Analysed program is not executed
  • Analysis is independent of execution path
    • Not biased by developer expectations
    • Find all possible errors

Lighthouse

Sensor Network Program

Display Potential Program

Errors to Developer

lighthouse programming challenges addressed
Lighthouse: Programming Challenges Addressed
  • Resource efficiency
    • Energy efficient communication
    • Memory efficiency
  • Reliability
    • Data should be consistently handled
    • Coordination among nodes needed
  • Failure recovery
    • Detect and deal with unexpected failures
pleiades a new way to write programs
Pleiades: A new way to write programs

Conventional sensor net programming

Node-level program written in nesC

Compiled to executable

pleiades a new way to write programs1
Pleiades: A new way to write programs

Programming using Pleiades

Central program that specifies application behavior

Compiler

Node-level program written in nesC

+

Runtime

Compiled to executable

Lets the programmer focus on application semantics

pleiades programming challenges addressed
Pleiades: Programming Challenges Addressed
  • Resource efficiency
    • Energy efficient communication
    • Memory efficiency
  • Reliability
    • Data should be consistently handled
    • Coordination among nodes needed
  • Failure recovery
    • Detect and deal with unexpected failures
conclusions
Conclusions
  • Programming sensor networks is inherently hard
  • Employing techniques developed in the Programming Languages/Compilers community to sensor network programs can significantly reduce the burden of the programmer
  • Lighthouse:

https://projects.nesl.ucla.edu/public/lighthouse/

  • Pleiades:

http://kairos.usc.edu