what is envirosuite
play

What is EnviroSuite? A new paradigm: Environmentally immersive - PDF document

What is EnviroSuite? A new paradigm: Environmentally immersive EnviroSuite: programming (EIP) An Environmentally Immersive A programming framework to simplify sensor Programming Framework for network programming Sensor Networks An


  1. What is EnviroSuite? � A new paradigm: Environmentally immersive EnviroSuite: programming (EIP) An Environmentally Immersive � A programming framework to simplify sensor Programming Framework for network programming Sensor Networks � An object-based programming system � A middleware service for monitoring and Liqian Luo, Tarek F. Abdelzaher University of Illinois at Urbana-Champaign tracking applications Tian He University of Minnesota � A software development suite, which includes a John A. Stankovic University of Virginia library (EIPLib) and a compiler (EIPLC) Presented by Mark Wood November 27, 2006 CSE 521S Wireless Sensor Networks Washington University in St. Louis 2 CSE 521S Environmentally Immersive Programming EnviroSuite Objects (EIP) � Object-based programming system � Environmental objects � Objects represent elements in the external � A sensory or geographic signature that environment (i.e. a vehicle, a geographic area) defines an area � Objects can be created or destroyed automatically by runtime events � Data variables to be collected in an area � Objects can track elements moving across a � Methods that can be performed in its context network � Function objects � Objects encapsulate the aggregate state of physical elements � Regular objects which do not represent � Objects can be used for sensing or actuation environmental elements tasks 3 4 CSE 521S CSE 521S Software Example: Surveillance application � EIPLib � A programming library (in nesC) that provides the detailed implementations � Abstracts some of the low-level functions from the programmer � Simplifies programming for the user � EIPLC � A compiler (in PERL) that translates EnviroSuite applications into nesC code 5 6 CSE 521S CSE 521S 1

  2. Relation to nesC Object IDs � Label a contiguous group of nodes that match a sensory signature � Data operations can be performed on different locales based on their object ID � Group state is stored in variables encapsulated within named objects 7 8 CSE 521S CSE 521S Object Declaration - Example Object Declarations � Object type - programmer-defined label � Object context – mapping of the object to an environmental element � Object attribute – measurements collected and aggregated in the object context � Object method – encapsulated methods that perform computation, communication or actuation 9 10 CSE 521S CSE 521S Object Context Object Context � EIPLib contains sensor data processing � Object conditions can also be parameterized. algorithms that can return: � sensor output, i.e. temperature() � Example: � environmental conditions, i.e. vehicle_sound() � node attributes, i.e. voltage() object_condition = altitude()>500 && temperature()<32; � Example: object_condition = ferrous_object() && vehicle_sound(); 11 12 CSE 521S CSE 521S 2

  3. Object Attributes Object Methods � Sensor measurements and aggregation � Methods in object_main_function statements get method called during object creation � Degree of confidence in received object_main_function = vehicle.getLocation; aggregation � Methods in object_function statements get called � Freshness of attribute only by other objects object_attribute location object_function = monitor.reportLocation; attribute_value = AVERAGE(position()) attribute_degree = 2 attriute_freshness = 500ms 13 14 CSE 521S CSE 521S Inter Object Call (IOC) Global Variables � Methods can use EnviroSuite communications primitives � Globally shared static variables can be defined with ES_READ To execute an IOC and declare its handler: and ES_WRITE ES_IOC report = call monitorInstance. command result_t vehicle.getLocation(){ monitor.reportLocation(currentLocation); call ES_WRITE(monitorInstance.vehicleNumber, To receive IOC result interrupts: monitorInstance.vehicleNumber + 1); return call Timer.start(TIMER_REPEAT,500);} ES_IOCRESULT report(bool result) { // deal with remote call results here return; } 15 16 CSE 521S CSE 521S Event Object Maintenance EnviroSuite supports 3 types of objects: � Event objects – created for mobile events that � Event objects are created dynamically dynamically change their geographic location � Multi-target group management protocol (MGMP) gives the object a unique object ID � Region objects – mapped to static or slowly � Movement of the contiguous region changes moving regions group membership � Function objects – not mapped to an � MGMP maintains the object ID for the event environmental element object despite mobility � This is transparent to the programmer 17 18 CSE 521S CSE 521S 3

  4. State of Nodes Around an Environmental Event Maintaining Object Uniqueness � Internally, MGMP elects a leader to maintain a unique object ID � The leader sends periodic heartbeats to nodes within the object_resolution � The heartbeat period can affect the object creation latency � Nodes can have only one object ID � MGMP maintains a state machine for node state transitions � A delayed object creation mechanism is used to ensure that the group has elected a single leader 19 20 CSE 521S CSE 521S Tracking Moving Events Region Object Maintenance � Object migration - Leadership handover, used � Region objects are associated with a relatively fixed set in tracking moving events of nodes � Follower nodes hear heartbeats from leaders � A default leader sends out tree requests and know in advance the incoming event � Spanning tree algorithm is used to construct a multi- � When the event is sensed, the node joins parent diffusion tree with the leader as root existing objects as a member , instead of � The tree’s outer boundary is defined by outer nodes creating spurious objects � Adding and pruning of tree leaves is done to satisfy the � The trajectory of the leader is stored in its object condition representing object � Object attributes get aggregated along intermediate hops � When 2 events cross, the leaders use a � The root of the aggregate tree is migrated to the temporary object ID which is a concatenation of location that minimizes communication and both, and track each other’s trajectory until a aggregation overhead, and to a higher energy node disambiguation algorithm can be used 21 22 CSE 521S CSE 521S Evaluation: Object Creation Delay Evaluation: Object Migration 23 24 CSE 521S CSE 521S 4

  5. Evaluation: Inter-Object Communication Evaluation: Object Crossing 25 26 CSE 521S CSE 521S Critiques Evaluation: Code Length � Hard-coded content (fixed number and type of objects you can track) � The mote cannot access the object ID � The object ID is an abstraction on the base station (not simplifying the code in the network itself) � Requires a leader (electing a leader and changing the leader) 27 28 CSE 521S CSE 521S EnviroSuite & Semantic Streams [Whitehouse, et al. 2005] Summary Both have similar goals: � Programming framework to simplify sensor network � Environmentally immersive programming can programming be used to abstract environmental elements � Middleware service for monitoring and tracking applications � EnviroSuite provides a library of algorithms for � Confidence level for environmental element classification tracking and environmental monitoring � To abstract environmental elements, simplifying � Programming is simplified and code length is programming reduced � Network-based, rather than node-based language � Evaluation shows EnviroSuite performs well in � Energy-balancing in sensor networks maintaining object uniqueness and identity, and This work makes it possible for non-technical people to inter-object communication write efficient programs for sensor networks. 29 30 CSE 521S CSE 521S 5

  6. Questions? 31 CSE 521S 6

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend