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

Recommend


More recommend