Context-Aware Computing
Instructor: Dr. Christine Julien (c.julien@mail.utexas.edu)
Office Hours: Wednesdays 2-5pm (or by appointment)
As computing devices
become ubiquitous in our
everyday environments, software increasingly needs to incorporate
context
information. This course will provide an
in depth exploration into incorporating context-awareness into the
design of
tomorrow's software.
Course
Objectives:
The
course will provide an in depth exploration into
context-aware software, focusing on the following major aspects:
- Creating useful
and comprehensible definitions of context-awareness
- Knowledge of
current and envisioned context-aware applications
- Building and
deploying the infrastructure necessary to support various types of
context acquisition, interpretation, and use
- Developing
context-aware applications using existing techniques including
toolkits, middleware, and frameworks
Meeting Times:
We
will meet individually or as a group to discuss the readings, your
comments and questions. We will also meet all together once near
the end to (informally) present and discuss the resulting
projects.
Evaluation Criteria:
The students will be evaluated on two
major criteria: paper
analysis and discussion (75%) and a small project (25%).
Because the course will be based on current
research papers, each student will be expected to read and analyze the
assigned
papers. The grade for this portion will
be based on the participation of the student and in his or her
questions, critiques, and other comments related
to the papers. The course will also
involve a small research project in which the student can explore a
number of
avenues.
Reading Assignments and Materials:
Beloq are the papers provided as reading material for this
class. They are divided into themes, and for each theme, I have a
date next to the title. This is roughly the time by which you
should plan to have the reading review of the assigned papers
completed, though the dates are not hard and fast. For each
theme, I would like you to write a (brief) review (no more than a page,
and less will often if not always be fine) about the topics covered in
the papers. For these reviews, I have tried to give you some
"reading questions" for each theme to begin your discussions. You
are not required to address these questions, but they give you an idea
of some things you could be looking for. For each theme, I would
also like you to ask some questions that lead to open problems.
Some examples: Did the authors ignore some important aspect? Can
you think of a more efficient or easier way to address the same
problem? Can you combine the ideas of one piece of work with
another to generate something interesting. (The point of doing
this is to help you have a ready list of possibly projects when the
project phase rolls around.) I see the reading reviews as a
dialogue between us, so I will respond to them with my comments,
answers, and additional questions. All of the reviews must be
submitted before July 29th.
Introduction (June 10th)
Anind
K. Dey, Gregory D. Abowd, and Daniel Salber, A
Conceptual Framework and A Toolkit for Supporting the Rapid Prototyping
of Context-Aware Applications.
Human Computer Interaction, 2001, Volume 16, pp. 97--166.
Thomas Erickson, Some
Problems with the Notion of Context-Aware Computing.
Communications of the ACM, Volume 45, Number 2, 2002.
Reading Questions:
- Define context. (Not
word-for-word from the paper; after reading the paper, how would you,
in your own words, define context?)
- In the example applications, what
kinds of context are used and how are they used?<>
- <>What are some advantages and
disadvantages of the toolkit they propose?
Architectures
(June 17th)
- Keeping the Context Toolkit in
mind, what are some advantages and disadvantages of the different
architectural approaches (e.g., widgets, service infrastructure,
blackboard, etc.)? Consider the possibility that an approach
might be appropriate for certain classes of applications, environments,
etc.
- After reading about these three
architectural options, can you envision additional alternatives?
Design
(June 24th)
Steven
A. N. Shafer, Barry Brumitt, and J.J. Cadiz, Interaction
Issues in Context-Aware Intelligent Environments. Human
Computer Interaction, 2001, Volume 16, pp. 363--378.
Andreas Pappas, Stephen Hailes, and
Raffaele Giaffreda, A Design Model for
Context-Aware Services Based on Primitive Contexts. First
International Workshop on Advanced Context Modelling, Reasoning, and
Management, 2004.
Reading Questions:
- How is (or should be) design for
context-aware systems different than traditional software design?
- In your opinion, what is the
singular most important design concern for context-aware systems?
- What novel techniques are proposed
or discussed to address these new concerns?
Middleware
(July 1st)
Hector
A. Duran-Limon, Gordon S. Blair, Adrian Friday, Paul Grace, George
Samartzidis, Thirunavukkarasu Sivaharan, and Maomao WU, Context-Aware
Middleware for Pervasive and Ad Hoc Environments, Proceedings of
the 3rd International Conference on Mobile and Ubiquitous Multimedia,
2004, pp. 213--220.
Julien, C., and Roman, G.-C., "Egocentric
Context-Aware Programming in Ad Hoc Mobile Environments," in Proceedings
of the 10th International Symposium on the Foundations of
Software Engineering, 2002,
pp. 21-30.
Reading Questions:
- What is the purpose of middleware in general?
- Why can middleware help
context-aware applications?
- What are some key important
concerns addressed by these middleware (think back to the design
considerations laid out)? What are some things that are notably
missing or done poorly?
Privacy (July
8th)
Marc
Langheinrich, Privacy-By-Design--Principles
of Privacy-Aware Ubiquitous Systems, Proceedings of Ubicomp 2001, pp.
273--291.
Mark Ackerman, Trevor Darrell, and
Daniel J. Weitzner, Privacy
in Context. Human Computer Interaction 2001, Volume 16, pp.
167--176.
Raquel Hill, Jalal Al-Muhtadi, Roy
Campbell, Apu Kapadia, Prasad Naldurg, and Anand Raganathan, A
Middleware Architecture for Securing Ubiquitous Computing Cyber
Infrastructures. IEEE Distributed Systems Online, 2004, Volume 5,
Number 9.
Reading Questions:
- What are the competing issues
regarding incorporating privacy concerns into ubiquitous or
context-aware computing systems?
- What novel techniques are proposed
to address these concerns? How are they limiting to the vision of
context-aware computing?
Applications
(July 15th)
Keith
Cheverst, Nigel Davies, Keith Mitchell, Adrian Friday and
Christos Efstratiou, Developing a
Context-aware Electronic Tourist Guide: Some Issues and Experiences.
Proceedings of Computer Human Interaction 2000, pp 17--24.
Jason Pascoe, Nick Ryan,
and David Morse,
Issues
in Developing Context-Aware Computing. Proceedings of the
International
Symposium on Handheld and Ubiquitous Computing,
1999, pp. 208-221.
Find another research paper on a more recent
context-aware application (i.e., more recent than 2000), read it, and
send me your review and the citation of the paper.
Reading Questions:
- What kinds of context did these
applications use and how did they use it?
- How close did these applications
come to being ubiquitous?
What portions of the applications fell short?
- How could you build on these
applications to create better, more useful applications?
Project/Paper
The final component
of the course is a small research project to allow the students to get
more focused experience in the area of context-aware computing.
In this project, each student will prepare a project (with suggestions
listed below) or short survey paper relating to the topics addressed in
the papers. Example topics include but are not limited to:
- design and implementation
of a novel application
of context-awareness
- comparative evaluation of
related
tools/techniques
- evaluation of the
benefits/feasibility of
context-awareness in a novel domain
- an insightful survey of an area
uncovered by the course (including an in depth personal critique of the
work)
- ...
The project grade will include a
short paper and participation
in a discussion session which includes an informal presentation of the
project.
Project Milestones
The first portion of this class introduces the students to different
aspects of context-aware computing. The milestones for the
project are based on the premise that a good coverage of the topics of
context-aware computing is important before beginning the
project. For this reason, the milestones for the project are
related to the reading dates above.
- Project proposal (idea) to be
approved by the instructor: July 11th
- Preliminary report due to
instructor: TBD (one week
before demonstration)
- Project demonstration and
discussion (coordinated to include all students together): TBD
- Final report: August 5th