Download presentation
Presentation is loading. Please wait.
Published byJane Torr Modified over 10 years ago
2
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.
3
LCPC 2003EEL Lab, Rutgers University2 NES: A New Computing Platform
4
LCPC 2003EEL Lab, Rutgers University3 NES: A New Computing Platform
5
LCPC 2003EEL Lab, Rutgers University4 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?
6
LCPC 2003EEL Lab, Rutgers University5 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.
7
LCPC 2003EEL Lab, Rutgers University6 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
8
LCPC 2003EEL Lab, Rutgers University7 Motivation Spatial Views Programming Model Spatial Views Application Example Experiments Related Work Conclusions
9
LCPC 2003EEL Lab, Rutgers University8 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
10
LCPC 2003EEL Lab, Rutgers University9 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
11
LCPC 2003EEL Lab, Rutgers University10 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.
12
LCPC 2003EEL Lab, Rutgers University11 Application Example Find a person in red on the third floor of a building START STOP
13
LCPC 2003EEL Lab, Rutgers University12 SpatialView cameraView = new SpatialView("Camera", BuschCampus.CoRE.Floor3); foreach camera in cameraView do within 30000 { Picture pic = camera.getPicture(); Rectangle redRegion = pic.findRegionInColor(Color.Red); if (redRegion != null) { SpatialView detectorView = new SpatialView("FaceDetector"); Rectangle face; forany detector in detectorView do within 10000 face = detector.detectFaceInPicture(pic); Location loc = 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); }
14
LCPC 2003EEL Lab, Rutgers University13 Motivation Spatial Views Programming Model Spatial Views Application Example Experiments Related Work Conclusions
15
LCPC 2003EEL Lab, Rutgers University14 Experiments: Implementation Spatial Views Program Spatial Views Compiler Java Bytecode Spatial Views Virtual MachineSpatial Views Library Modified Sun javac 1.3.1 Supporting space definition and Spatial View iteration. Modified Sun KVM/CLDC 1.3 Supporting migration and discovery
16
LCPC 2003EEL Lab, Rutgers University15 Experiment 1: Person Search Application Execution Time With face detection: 23.1 seconds Without face detection: 10.0 seconds Routing: gossiping with backtracking
17
LCPC 2003EEL Lab, Rutgers University16 Experiment 2: Quality of Result v.s. Time/Resource Usage QoR Resource
18
LCPC 2003EEL Lab, Rutgers University17 Experiment 2: Effects of Time Constraints Perfect answer: 8 nodes Perfect Answer: 5 nodes
19
LCPC 2003EEL Lab, Rutgers University18 Execution time v.s. Network Link Failure Rate (1)
20
LCPC 2003EEL Lab, Rutgers University19 Quality of Result (QoR) v.s. Network Link Failure Rate
21
LCPC 2003EEL Lab, Rutgers University20 Execution time v.s. Network Link Failure Rate (2)
22
LCPC 2003EEL Lab, Rutgers University21 Quality of Result (QoR) v.s. Network Link Failure Rate
23
LCPC 2003EEL Lab, Rutgers University22 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)
24
LCPC 2003EEL Lab, Rutgers University23 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
25
LCPC 2003EEL Lab, Rutgers University24 Thank you!
26
LCPC 2003EEL Lab, Rutgers University25 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
27
LCPC 2003EEL Lab, Rutgers University26 Experiment 2: One-hop Migration Time
28
LCPC 2003EEL Lab, Rutgers University27 Syntax foreach in do [constraints] forany in do [constraints] within
Similar presentations
© 2025 SlidePlayer.com. Inc.
All rights reserved.