envirotrack towards environmentally immersive programming
play

EnviroTrack: Towards Environmentally Immersive Programming Tarek - PDF document

e t i u S EnviroTrack: Towards Environmentally


  1. ✠ ✄ ✄ ✞ ✟ ✡ ☛ ✠ ✡ ☞ ✞ ✌ ✍ ✄ ✞ ✎ ✩ ✞ ✁ ★ ✕ ✖ ✗ ✘ ✙ ✚ ✛ ✗ ✥ ✦ ✧ ✘ ✪ ✬ ✭ ✫ ✮ ✯ e t i u S EnviroTrack: Towards Environmentally Immersive Programming Tarek Abdelzaher Department of Computer Science University of Illinois at Urbana Champaign Real-Time and Embedded Systems ✎✑✏ �✂✁ ☎✝✆ The Next Frontier Situation Emergency Aware Response Clusters, Farms Distributed Grids, WWW Embedded Autonomic Systems Computing Embedded Privacy and Security Processors Real-Time Embedded Systems Everywhere ✒✔✓ - Transparent - Context-aware ✜✣✢✂✤ - Mobile - Miniature - Ubiquitous (Smart attire, smart spaces, …) Today 1

  2. Sensor Networks Features Ad hoc deployment � Massive distribution � Precision Agriculture Interaction with a � physical environment Unattended operation � Applications Disaster Response Habitat Monitoring Target Tracking Border Control Infrastructure Protection A Fundamental Challenge: Sensor Network Application Development � Cost of sensor network software will dominate total system cost � Example: U. Virginia’s VigilNet � Cost of hardware: $10K (100 nodes * $100/node at scale) � Cost of software development/debugging/testing: $120K (5 graduate students * 20 weeks * 40 hrs * $30/hr) � Hardware cost is decreasing but programmers’ cost isn’t � Reducing software cost � Development cost: reusable components, high-level abstractions � Debugging cost: automated checking and analysis tools � Testing cost: realistic simulation/emulation environments 2

  3. Reducing Development Cost: Distributed Programming Abstractions Reducing Development Cost: Distributed Programming Abstractions Logical View Distributed programming paradigms � Abstract distributed communication � Provide location transparency � 3

  4. Reducing Development Cost: Distributed Programming Abstractions Logical View Sensor Network Programming � Abstractions Represent the physical world to � Distributed programming paradigms � the programmer Abstract distributed communication � Abstract distributed interaction � Provide location transparency with the physical environment � Reducing Development Cost: Distributed Programming Abstractions Logical View Sensor Network Programming � Abstractions Represent the physical world to � Distributed programming paradigms � the programmer Abstract distributed communication � Abstract distributed interaction � Provide location transparency with the physical environment � 4

  5. “Macro-programming”: Sensor Network Programming Languages � Node-based � NesC, MANTIS, Snack, TinyScript, … � Event-based � DSWare, SensorWare, GalsC/GuysC � Group-based � Abstract regions, State-centric programming, Hood, … � Query-based � Cougar, TinyDB/TAG, TinySQL, Tina, … � Virtual machines � Mate, ASVM, … � Biological � Amorphous computing, swarm computing � EnviroSuite: An object based system where objects represent environmental entities Environmentally Immersive Programming � Exports a new address space in which the addressed entities (called contexts ) are representations of physical entities in the external environment � Contexts : � Logical representations of entities in the external world � Have unique names (context labels) – same as IP hosts � Instantiated when the corresponding external entities are observed in the environment – follow these entities around � Tracking objects (tasks) can be attached to contexts to execute in the vicinity of the corresponding real-world entity � Tasks (attached to contexts) can communicate and invoke each other’s methods remotely 5

  6. EnviroSuite Architecture Specifications: Declarations • communication delays Context vehicle { Simulation/ sense = magnetic() • data throughput state = AVG(position()) Emulation • lifetime method sendHome { send (base, state) • … } } Analysis Engine Application code No? Constraints Feedback Object representation protocols Comm. Storage … Tracking Region Self-Named Subsystem Subsystem Objects Objects Objects Feasibility Check Sensor data processing library Network Stack Configuration Run-time Code Analysis EnviroSuite Walkthrough I. The Programmer’s View Specifications: Declarations • communication delays Context vehicle { Simulation/ sense = magnetic() • data throughput state = AVG(position()) Emulation • lifetime method sendHome { send (base, state) • … } } Analysis Engine Application code No? Constraints Feedback Object representation protocols Comm. Storage … Tracking Region Self-Named Subsystem Subsystem Objects Objects Objects Feasibility Check Sensor data processing library Protocol Stack Configuration Run-time Code Analysis 6

  7. Programming Model Context Type: Car Context Type: Person Context Label Context Label Aggregate Aggregate Tracking Tracking State State External Objects Objects Variables Variables Entity Object Representation Protocol (Tracking Object) Contexts and Objects � Contexts: Encapsulate entity state and tracking objects � Tracking objects: Perform entity-specific computation, communication and sensing Attached Tracking Context Objects State Programmer’s Entity History View ID 7

  8. Communication � Objects may export methods for remote invocation Attached Tracking Attached Objects Tracking Objects Context Context State Programmer’s View Context Example begin context tracker sense: magnetic() + motion(); state: location = avg (position,3,2); end Context ( e ) State e ( ) = average position Programmer’s Entity History View Members ID Leader Sense e ( ) = TRUE 8

  9. Attaching Objects begin object reporter begin context tracker send (state, home); sense: magnetic() + motion(); end state: location = avg (position,3,2); end Context ( e ) State e ( ) = average position Programmer’s Entity History View Members ID Leader Sense e ( ) = TRUE Attaching Objects begin object reporter begin context tracker send (state, home); end sense: magnetic() + motion(); state: location = avg (position,3,2); Attach end Context ( e ) State e ( ) = average position Programmer’s Entity History View Members ID Leader Sense e ( ) = TRUE 9

  10. Attaching Objects begin object reporter begin context tracker send (state, home); sense: magnetic() + motion(); end state: location = avg (position,3,2); begin object mic end turn-on microphone Attach send (sound, home); State e ( ) = average position end Programmer’s Entity History View Members ID Leader Sense e ( ) = TRUE Aggregation and State Management Invocation Application Objects Leader Member Timer Aggregation Periodic Sensor Send/receive Function Reports State() Start/stop Remote Trigger Trigger Invocation Function Function Sense() Sense() Join/leave Join/leave Election Group Management and Leader Election 10

  11. Summary: 1. Define objects and contexts Object Tracker Object Statistics GetPosition() Count() MicOn() HandleAlarms() MicOff() GetHistory() Context Type: Metal Object Alarm DefineTrigger() EnableAlarms() DisableAlarms() Context Type: Intruder Summary 2. Attach objects to contexts Object Tracker Object Statistics GetPosition() Count() MicOn() HandleAlarms() MicOff() GetHistory() Context Type: Metal Object Alarm DefineTrigger() EnableAlarms() Tracker DisableAlarms() Context Type: Intruder Stats Tracker Alarm 11

  12. Programmer’s View Object Tracker Object Statistics GetPosition() Count() MicOn() HandleAlarms() MicOff() GetHistory() Context Type: Metal Object Alarm DefineTrigger() EnableAlarms() Tracker DisableAlarms() Context Type: Intruder Method Invocation Stats Tracker Alarm Example: Intrusion Detection Scenario Deployed Sensor Network 12

  13. Example: Intrusion Detection Scenario Goal: monitor physical entities in the environment Intruder Package Sensor field Example: Intrusion Detection Scenario Abstract representation: physical entities as logical contexts Leader Context 1. Type: Metal Leader Context 2. Type: Intruder Sensor field 13

  14. Example: Intrusion Detection Scenario Logical contexts can communicate, host computation, and have unique identifiers Leader Context 1. Type: Metal Leader Entity-to-entity Communication Context 2. Type: Intruder Sensor field EnviroSuite Walkthrough II. Object Representation Specifications: Declarations • communication delays Context vehicle { Simulation/ sense = magnetic() • data throughput state = AVG(position()) Emulation • lifetime method sendHome { send (base, state) • … } } Analysis Engine Application code No? Constraints Feedback Object representation protocols Comm. Storage … Tracking Region Self-Named Subsystem Subsystem Objects Objects Objects Feasibility Check Sensor data processing library Protocol Stack Configuration Run-time Code Analysis 14

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