SlideServe
Menu
Préférences
© SlideServe · v2026

Writing Programs that Work

daniel_millan avatar
17 diapositives · 564 Views · May 05, 2011

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

Writing Programs that Work - slide 1
01 / 17Writing Programs that Work
1 / 17

Télécharger la présentation

Writing Programs that Work
Une image / un lien ci-dessous est fourni (tel quel) pour télécharger la présentation

Politique de téléchargement : le contenu du site vous est fourni TEL QUEL pour votre information et votre usage personnel ; il ne peut être vendu, concédé sous licence ni partagé sur d’autres sites sans l’accord de son auteur.Le contenu vous est fourni TEL QUEL, pour votre information et votre usage personnel uniquement. Téléchargez la présentation en cliquant sur ce lien. Lors du téléchargement, si vous ne parvenez pas à télécharger une présentation, l’éditeur a peut-être supprimé le fichier de son serveur.Pendant le téléchargement, si vous ne parvenez pas à obtenir une présentation, le fichier a peut-être été supprimé par l’éditeur.

F I N

Plus de contenu associé

Transcription de la présentation
  1. Writing Programs that Work Nupur Kothari University of Southern California Roy Shea University of California, Los Angeles

  2. 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

  3. Studying lizards at the James Reserve

  4. Deployment at James Reserve

  5. 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

  6. The Consequence of Failure Data may be lost, and application may crash Most programmer errors ultimately result in node failures or unexpected application behavior

  7. 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

  8. Lighthouse: Static Analysis Lighthouse Sensor Network Program Display Potential Program Errors to Developer

  9. Lighthouse: Static Analysis Lighthouse Sensor Network Program Display Potential Program Errors to Developer

  10. Lighthouse: Static Analysis Lighthouse Sensor Network Program Display Potential Program Errors to Developer

  11. 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

  12. 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

  13. Pleiades: A new way to write programs Conventional sensor net programming Node-level program written in nesC Compiled to executable

  14. 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

  15. 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

  16. 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

  17. Thank You!