Title: The Context Toolkit
1The Context Toolkit
- A toolkit approach to providing support for
Context-Aware Application Development
Presentation By John Bodily
The Context Toolkit was Developed At Georgia Tech
2..but before we start..
- A few questions
- What is a context-aware application?
- What are the characteristics of a context-aware
application? - Is context easy to use in practice?
3What is a context-aware application?
- According to the makers of the context toolkit
- We define applications that use context to
provide task-relevant information and/or services
to a user to be context-aware. 1 - Another Definition
- Such context aware systems adapt according to
location of use, the collection of nearby people,
hosts, accessible devices, as well as to changes
to such things over time. 2
4Characteristics of a context-aware application
- Integrated Sensors
- Computing done in a distributed fashion
(fixed/mobile) - Adaptation to context
5Context, is it easy to use?
- In practice no
- No agreement on how to handle context data
- Unconventional acquisition sensors
- Distributed sources
- Fluctuating context and environment
6How can we make using context easier?
- Georgia Tech solution
- The Context Toolkit
7The Context Toolkit
- We have built an Architecture, the Context
Toolkit, that contains a combination of features
and abstractions to support context-aware
application builders.3 Anind Dey
8Context Toolkit Features
- Context information can be accessed remotely over
a network - Platform independence
- Interpretation of context
- Aggregation of context
- Independence and persistence of context widgets
- Storage of a context history
- Separation of concerns
9User input vs. Context Input
- Similarities
- Input from several possibly heterogeneous
devices. - Need for abstraction of hardware details.
- Desire for reuse.
- Differences
- Context information must be collected from
distributed sources - Input not from user but the users environment
10Context Toolkit Infrastructure
- Context Widgets Basic building block, provides
abstraction of sensor details. - Context Servers Abstraction to provide
aggregation of context data from context widgets - Context Interpreter Takes input from context
widgets and outputs it in a way that a set of
applications can use.
11Context Widget
- Abstracts sensor details.
- Provides a common paradigm for context-aware
applications. - Allows reuse of code and persistence.
- Tailors sensor information to the needs of the
application. - Have attributes and behaviors.
12How are they used?
- Applications use context widgets as follows
- Applications subscribe to widgets that they need
data from, a widget could be local or remote. - Widgets perform callbacks to the application when
something interesting happens, passing data back
to the application in a form that the application
requires.
13Example of a Widget
Table 1 Definitions of the IdentityPresence
widget. 3
14Another Example
Table 2. Attributes and callbacks of the Activity
Widget 3
15Other Widgets
- Server Widget A widget that provides
aggregation of context data by subscribing to
several widgets. The application the subscribes
to the server and can get all the data it needs
from one source.
16Other Widgets Continued..
- Interpreter Widget A widget that takes
low-level input from another widget processes it
and outputs reformatted data when certain
conditions that an application is interested in
are met.
17Applications
- In/Out Board Uses IdentityPresence
- Information Display
- DUMMBO Whiteboard capture and access
18So.what doesnt it support?
- No support for context sources that provide
constant data - No support for dealing with sensor failure
- No transparent access to distributed components
19References
- A Context-Based Infrastructure for Smart
Environments, Anind K. Dey, Daniel Salber and
Gregory D. Abowd. In the Proceedings of the 1st
International Workshop on Managing Interactions
in Smart Environments (MANSE 99), Dublin,
Ireland, December 13-14, 1999. pp. 114-128. - Context-Aware Computing Applications, Bill
Schmidt, Norman Adams, Roy Want 1995, IEEE - The Context Toolkit Aiding the Development of
Context-Enabled Applications, Daniel Salber,
Anind K. Dey and Gregory D. Abowd. In the
Proceedings of the 1999 Conference on Human
Factors in Computing Systems (CHI '99),
Pittsburgh, PA, May 15-20, 1999. pp. 434-441.