19
Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer Science and Engineering

Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

Embed Size (px)

Citation preview

Page 1: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

Egocentric Context-Aware Programming in Ad Hoc Mobile Environments

Christine Julien

Gruia-Catalin Roman

Mobile Computing Laboratory

Department of Computer Science and Engineering

Page 2: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

2

Outline

Motivation View Concept Declarative View Specification View Operations EgoSpaces Middleware Conclusions

Page 3: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

3

Motivation and Goals

Environmental adaptation Continuous and rapid reactions

Novel notion of context Extended in scope beyond the local host Application specific context definition Generalized treatment of context types

Formal treatment of context-awareness Middleware for context management

Provide general mechanisms for programming

Page 4: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

4

Computational Model

Hosts Agents Tuple spaces Tuples

Page 5: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

5

Application Example

TrafficCollision

Page 6: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

6

View Concept

Egocentric Abstraction of a particular reference

agent’s operating context, specific to its needs

Multiple views Projection of all that is available

Allow agent to control scope of views Facilitate easy program development Minimize performance penalties

Page 7: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

7

View Presentation

Context-sensitive data structures Tuple space provides

coordination basis Veneers present

other interactions Address different

agents’ needs Cater to programmer

expertiseTuple Space Representation

Tree Presentation Priority List Presentation

Page 8: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

8

Coordination Services

High-level veneers for sophisticated context maintenance Context-sensitive references Context-sensitive bindings Context-sensitive events

Page 9: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

9

Declarative View Specification

Specification Controls scope and size of view

All location data owned by collision warning agents on cars within 100 meters of my current location

Implementation Automatic sensing Transparent maintenance

Page 10: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

10

View Specification: Network and Host Constraints

Extend availability of context information Subnet based on

abstraction of network topology and its properties

…within 100 meters…

Select hosts based on their properties

…cars…

Page 11: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

11

View Specification:

Agent and Data Constraints

Restrict the set of application agents that contribute to the view

…collision warning agents…

Allow reference agent to restrict which data items are available in the view

…location data…

Page 12: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

12

Consistency Concerns

Transactional semantics (e.g., money transfers) Strong application guarantees Can be expensive

“Best-effort” semantics (e.g., traffic conditions) Variety of possible implementations Application chooses implementation to use

based on its particular situation

Page 13: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

13

Access Controls

Agent specified access control function Limits access of other agents to an

agent’s data Reference agent provides credentials

and intended operations Used by contributing agents’ access

control functions

Page 14: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

14

Reactive Programming

Agents adapt behavior in response to presence of certain tuples

Associates an application-level reaction to the appearance of a tuple in a view

Scheduling modality Eager or lazy semantics

Page 15: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

15

Active Views

Common built-in behaviors on views Transparent data

migration Automatic

duplication Event capture Extensibility

migrate

Page 16: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

16

EgoSpaces Demo Application

Page 17: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

17

Contributions General treatment of context

Current applications tend to use only basic types of context information in specific ways (e.g., location)

Guide tools, field work tools

Extended scope of context Current frameworks and toolkits provide access only

to a single component’s sensors Context Toolkit, Context Fabric

Scalable and extensible middleware for ad hoc mobile coordination Current middleware provides either only local

interactions or symmetric and transitive interactions LIME, MARS

Page 18: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

18

Conclusions and Future Work

Novel coordination model Asymmetric interactions cater to individual agent’s needs As expressive as many other models (e.g., LIME, Linda,

JEDI, SIENA)

Flexible and general middleware Simplify programming for ad hoc environment

Full implementation to include network abstractions and reactive and active views

Evaluation through application examples

Page 19: Egocentric Context-Aware Programming in Ad Hoc Mobile Environments Christine Julien Gruia-Catalin Roman Mobile Computing Laboratory Department of Computer

19

Thank You

For more information: http://www.cse.wustl.edu/mobilab