1 / 27

Spatial Views: Space-aware Programming for Networks of Embedded Systems

Spatial Views: Space-aware Programming for Networks of Embedded Systems. Yang Ni, Ulrich Kremer, and Liviu Iftode Rutgers University. This work has been supported by NSF ITR Award ANI-0121416. NES: A New Computing Platform. NES: A New Computing Platform.

miles
Download Presentation

Spatial Views: Space-aware Programming for Networks of Embedded Systems

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. Spatial Views: Space-aware Programming for Networks of Embedded Systems Yang Ni, Ulrich Kremer, and Liviu Iftode Rutgers University This work has been supported by NSF ITR Award ANI-0121416.

  2. NES: A New Computing Platform EEL Lab, Rutgers University

  3. NES: A New Computing Platform EEL Lab, Rutgers University

  4. NES: A New-Generation Computing Platform (contd.) • Many potential applications for NES • What’s the traffic 10 miles ahead? Is there a man in red near Terminal A? Find a cab. • How to program them? • Will existing models work? EEL Lab, Rutgers University

  5. What’s Special About NES? • Location-sensitivity. • A node is interesting because of its location in addition to its functionality. • Context-awareness often translates into location-awareness. • Volatility. • Nodes join and leave at any time. • Resource-limitation. • Execution time and battery life are limited. EEL Lab, Rutgers University

  6. How to program NES? • Existing programming models do not sufficiently address all those issues specific to NES. • We need a high-level programming model with: • Location-awareness • Location specification at the programming level • Location-based operation at the programming level • Dynamic integration of services • Discover and use services dynamically in an ad-hoc network • Adaptation to resource-limitations • QoR (Quality of Results) and resource tradeoff EEL Lab, Rutgers University

  7. Motivation • Spatial Views Programming Model • Spatial Views Application Example • Experiments • Related Work • Conclusions EEL Lab, Rutgers University

  8. Basic Programming Abstraction in Spatial Views • Nodes are abstracted as (service, location) • A physical node providing multiple services represent multiple virtual nodes • A moving physical node represent multiple virtual nodes • Time is an implicit dimension, the value of which is always the time when a node is visited and used EEL Lab, Rutgers University

  9. Spatial Views • A dynamic collection of virtual nodes that provide an interesting service and are located in an interesting space. • SV(service,space)  {virtual node x | x.ofClass isA service and x.location space}. • SV(service) = SV(service, anywhere). • Service: named with interfaces (abstract classes) with agreed-on semantics EEL Lab, Rutgers University

  10. Iterators and Selectors • Iterators and Selectors instantiate Spatial Views. • Iterators enumerate all possible nodes in a view within a time constraint. • Selectors stop after the first successful discovery, or timeout. • Time Constraint is necessary because Spatial Views can be infinite. EEL Lab, Rutgers University

  11. Application Example STOP START Find a person in red on the third floor of a building EEL Lab, Rutgers University

  12. SpatialViewcameraView = new SpatialView("Camera", BuschCampus.CoRE.Floor3); foreachcamerain cameraView do within30000 { Picturepic = camera.getPicture(); RectangleredRegion = pic.findRegionInColor(Color.Red); if (redRegion != null) { SpatialViewdetectorView = newSpatialView("FaceDetector"); Rectangleface; foranydetectorin detectorView do within10000 face = detector.detectFaceInPicture(pic); Locationloc = camera.getLocation(); if (face !=null && face.isCloseTo(redRegion)) System.out.println("A person in red is found at " + loc); else System.out.println("Something red is found at " + loc); } } EEL Lab, Rutgers University

  13. Motivation • Spatial Views Programming Model • Spatial Views Application Example • Experiments • Related Work • Conclusions EEL Lab, Rutgers University

  14. Experiments: Implementation Spatial Views Program Spatial Views Compiler Modified Sun javac 1.3.1 Supporting space definition and Spatial View iteration. Java Bytecode Modified Sun KVM/CLDC 1.3 Supporting migration and discovery Spatial Views Library Spatial Views Virtual Machine EEL Lab, Rutgers University

  15. Experiment 1: Person Search Application • Execution Time • With face detection: 23.1 seconds • Without face detection: 10.0 seconds • Routing: gossiping with backtracking EEL Lab, Rutgers University

  16. Experiment 2:Quality of Result v.s. Time/Resource Usage QoR QoR Resource Resource EEL Lab, Rutgers University

  17. Experiment 2:Effects of Time Constraints Perfect answer: 8 nodes Perfect Answer: 5 nodes EEL Lab, Rutgers University

  18. Execution time v.s. Network Link Failure Rate (1) EEL Lab, Rutgers University

  19. Quality of Result (QoR) v.s. Network Link Failure Rate EEL Lab, Rutgers University

  20. Execution time v.s. Network Link Failure Rate (2) EEL Lab, Rutgers University

  21. Quality of Result (QoR) v.s. Network Link Failure Rate EEL Lab, Rutgers University

  22. Related Work • Location technology: GPS, APS(Rutgers), Cricket (MIT), RADAR (Microsoft Research), Active Badges (AT&T), Bats (AT&T). • Service discovery: Jini (SUN), INS (MIT), SDS(Berkeley), SLP, Salutation, Bluetooth SDP. • Migratory execution: Smart Messages (Rutgers), Active Messages (Berkeley) and Mobile Agents including D’Agent (Dartmouth), Java Aglet (IBM). • Sensor Networks: nesC(Berkeley) EEL Lab, Rutgers University

  23. Conclusions • Spatial Views is a programming model for dynamic and resource-limited networks of embedded systems • The first space-aware programming model with best-effort semantics • Simple and expressive, prototype and applications implemented EEL Lab, Rutgers University

  24. Thank you! EEL Lab, Rutgers University

  25. Experimental Setup • 10 iPAQ PDA’s • H3800 & H3600 • Mercury camera sleeves • 802.11b wireless network • Familiar Linux, Kernel 2.4.18 • Customized KVM/CLDC 1.0.3 • Customized Javac 1.3.1 EEL Lab, Rutgers University

  26. Experiment 2:One-hop Migration Time EEL Lab, Rutgers University

  27. Syntax • <SpatialView>  <identifier> • <Iterator>  foreach <var> in <SpatialView> do <TimeConstraint> [constraints] <statement> • <Selector>  forany <var> in <SpatialView> do <TimeConstraint> [constraints] <statement> • <TimeConstraint>  within<NumberOfMilliSeconds> EEL Lab, Rutgers University

More Related