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