A survey of Context-Aware Mobile Computing Research
Download
Report
Transcript A survey of Context-Aware Mobile Computing Research
A Study of Context-Awareness:
The Context Toolkit,
CORTEX
2008.08.07
Presented by Babar Tareen
IDS Lab., Seoul National University
The Context Toolkit: Aiding the Development of
Context-Aware Applications (2000)
Anind K. Dey and Gregory D. Abowd
Graphics, Visualization and Usability Center,
Georgia Institute of Technology
Atlanta, USA
The Context Toolkit: Aiding the Development of Cont
ext-Enabled Applications (1999)
Daniel Salber, Anind K. Dey and Gregory D. Abowd
Graphics, Visualization and Usability Center,
Georgia Institute of Technology
Atlanta, USA
http://www.cs.cmu.edu/~anind/context.html
Context-Aware Middleware for Pervasive and Ad Hoc
Environment
Hector A. Duran-Limon, Gordon S. Blair, Adrian Friday, Paul Grace,
George Samartzidis, Thirunavukkarasu Sivaharan, Maomao WU
Computing Department,
Lancaster University, Lancaster
UK
http://www.comp.lancs.ac.uk/computing/research/mpg/proj
ects/cortex/publications.htm
Part I. The Context Toolkit
Related publications [Last publication in 2002]
1.
Stuck in the Middle: The Challenges of User-Centered Design and Evaluation for Middleware
2.
Distributed Mediation of Ambiguous Context in Aware Environments
3.
Stuck in the Middle: Bridging the Gap Between Design, Evaluation, and Middleware
4.
A Conceptual Framework and a Toolkit for Supporting the Rapid Prototyping of Context-Aware Applications
5.
The Family Intercom: Developing a Context-Aware Audio Communication System
6.
Understanding and Using Context
7.
Providing Architectural Support for Building Context-Aware Applications
8.
Distributed and Disappearing User Interfaces in Ubiquitous Computing
9.
Distributed Mediation of Imperfectly Sensed Context in Aware Environments
10.
CybreMinder: A Context-Aware System for Supporting Reminders
11.
The Context Toolkit: Aiding the Development of Context-Aware Applications
12.
Enabling the Use of Context in Interactive Applications
13.
The What, Who, Where, When and How of Context-Awareness
14.
Proceedings of the CHI 2000 Workshop on "The What, Who, Where, When and How of Context Awareness
15.
Towards a Better Understanding of Context and Context-Awareness
16.
The Conference Assistant: Combining Context-Awareness with Wearable Computing
17.
A Context-based Infrastructure for Smart Environments
18.
An Architecture To Support Context-Aware Applications
19.
Towards a Better Understanding of Context and Context-Awareness
20.
The Context Toolkit: Aiding the Development of Context-Enabled Applications
21.
Designing for Ubiquitous Computing: A Case Study in Context Sensing
22.
The Design and Use of a Generic Context Server
Copyright 2008 by CEBT
2
Introduction
Context covers information that is part of an application’s opera
ting environment and that can be sensed by the application
Issues: Nature of the context information makes the difficulties
in using context.
1.
It is acquired from unconventional sensors.
–
2.
For Ex: Location can be sensed by GPS, Active Badge devices, floor emb
edded presence sensors or video image processing
It must be abstracted to make sense for the application.
–
GPS coordinates vs. Street number or Building name
3.
It may be acquired from multiple distributed and heterogeneous
sources.
4.
It is dynamic
Copyright 2008 by CEBT
3
Context Toolkit - Design
Aim is to develop reusable solution to make development of
context aware applications easier
Inspired by the success of GUI development kits
GUI Toolkits
Hide underlying complexity
Manage the details of interaction
Provide reusable building blocks
Copyright 2008 by CEBT
4
Widget
An object used to hold data and present an interface to the user.
A widget is a combination of state and procedure.
http://www.cptec.inpe.br/sx4/sx4man2/g1ae06e/chap1.html#Widgets
Copyright 2008 by CEBT
5
Context Toolkit - Components
Widgets [Context Widget]
Widgets acts between user and environment
Encapsulate information about a single piece of context
–
Location, Activity etc
Support traditional poll and subscription mechanisms
Hide the complexity of actual sensors used from application
Abstract context information to suit the expected needs
Provide reusable building blocks for context sensing
Aggregators
Like Meta-Widgets
Aggregate context information
Hide even more complexity about the context
Interpreters
Used to abstract or interpret low-level context information
Copyright 2008 by CEBT
6
Implementation Details
Distribution
Applications can access context from distributed widgets
Widget context from distributed generators
–
A generator acquires raw context information from sensors
Composition
Communicating Across Heterogeneous Components
HTTP/XML based communication model
Handling Dynamism
Polling / Subscription
Resource Discovery [Future Work]
Implemented in Java
Source available at http://contexttoolkit.sourceforge.net/
[December 30, 2003]
Copyright 2008 by CEBT
7
Examples of Context Widgets
IdentityPresence widget
Activity Widget
NamePresence widget
PhoneUse widget
MachineUse widget
Copyright 2008 by CEBT
8
Applications
In/Out Board
Information Display
only sends an incoming email to those people who are currently in the building
Conference Assistant
an instrumented digitizing whiteboard that supports the capture and access of inf
ormal and spontaneous meetings
Context-aware mailing list
displays information relevant to the user’s location and identity on a display adjac
ent to the user
DUMMBO Meeting Board
Electronic equivalent of a simple in/out board
aids users when attending a conference
CybreMinder
a context-aware system that supports the creation, delivery, and handling of rem
inders
Copyright 2008 by CEBT
9
Review
Pros
Complete implementation is available
Multiple applications are built using Context Toolkit
Cons
The concept of Context Widgets is another name for Encapsulation
Unlike GUI Widgets which are mostly independent, Context widgets
depend on sensors. We need to adjust widgets for different sensors
There is no common model to represent context information, that is,
application developer have to define what the context is and how to
represent it [Not defined in the paper]
Copyright 2008 by CEBT
10
Part II. Context-Aware Middleware for
Pervasive and Ad Hoc Environments
Related Publications [Last publication in 2004]
Novel Component Middleware for Building Dependable Sentient Computing Applications
Cooperating Sentient Vehicles for Next Generation Automobiles
Context-Aware Middleware for Pervasive and Ad Hoc Environments
Harnessing Context to Support Proactive Behaviours
Exploiting User Models and Context-Awareness to Support Personal Daily Activities
Developing a Context Sensitive Tourist Guide
Using and Determining Location in a Context-Sensitive Tour Guide
The Role of Connectivity in Supporting Context-Sensitive Applications
Developing Context-Aware Electronic Tourist Guide
Experiences of Developing and Deploying a Context-Aware Tourist Guide
Providing Tailored (Context-Aware) Information to City Visitors
Developing a Context Sensitive Tourist Guide
Mostly related to travel guide scenario
Copyright 2008 by CEBT
11
Introduction
CORTEX: CO-operating Real-time senTient objects
Objective: construction of applications out of proactive, mobile, c
ontext-aware entities termed as sentient objects.
Sensor: is an entity that produces software events in reaction to
a event detected by some real-world hardware device
Actuators: is an entity which consumes software events, and re
acts by attempting to change the state of the real world in some
way via some hardware device
Sentient object: is an entity that can both consume and produc
e software events
Copyright 2008 by CEBT
12
Context
Context: Any information sensed from the environment, which m
ay be used to describe the current situation of a sentient object
Context Aware: A context-aware application is an application wh
ose behavior is controlled by its context, to some degree.
Copyright 2008 by CEBT
13
Sentient Object
Sentient objects are objects that receive events as input, process
them and generate further events as output
Copyright 2008 by CEBT
14
CORTEX Middleware
Structured as number of component frameworks (CF)
Developed in OpenCOM
Copyright 2008 by CEBT
15
Publish / Subscriber CF
The role of the publisher component is to push events to the event syste
m whereas the subscriber component receives events.
Users get notified of the arrival of an event by the notify component
Support for subject-, content- and context-based event filtering
Uses XML to represent events
Dissemination of events over the network is achieved by SOAP
Interface: a unit of service provision
Receptacle: a unit of service requirement
Copyright 2008 by CEBT
16
Service Discovery CF
principal function is to allow services that have been advertised b
y different service discovery protocols to be discovered
Supports SLP and UPnP
The service discovery framework presents its own custom interfa
ce
Copyright 2008 by CEBT
17
Resource Management CF
Passive resource components represent non-processing resources such
as system memory and battery life
Jobs are capable of performing some activity, that is, they receive mess
ages and process them
Passive resources and jobs are created by factories
Passive resources are managed by managers
Jobs are managed by schedulers
Copyright 2008 by CEBT
18
Review
Ambiguities
How sentient objects interact with Framework?
How different CFs communicate with each other?
Pros
Concept of sentient object is new and interesting
Cons
Complicated design
Publish/Subscribe communication model is used by CORBA, TIBCO,
SIENA, Gryphon, JEDI, etc
No are provided about Context CF
Copyright 2008 by CEBT
19
Context Toolkit & CORTEX
Context Toolkit
Objective is to make development of Context Aware applications
easier
Simple design
Many applications are built using Context Toolkit
Confab provides an architecture for privacy-sensitive systems
Objective to provide a complete middleware for Pervasive and Ad
Hoc Environments
Complex Design
Copyright 2008 by CEBT
20