of data, and why does it matter? Context seems to
mean different things to different people, in domains
ranging from ubiquitous and pervasive computing to
organizational theory. The definitions provided in
the existing literature are numerous and diverse:
The surroundings associated with phenomena which
help to illuminate that phenomena, typically factors
associated with units of analysis above those expressly under investigation (Cappelli and Sherer 1991).
Stimuli and phenomena that surround and thus exist
in the environment external to the individual, most
often at a different level of analysis (Mowday and Sutton 1993).
Any information that characterizes a situation related
to the interaction between humans, applications and
the surrounding environment (Dey and Abowd and
What does not intervene explicitly in problem solving
but constrains it (Brézillon 1999).
Situational opportunities and constraints that affect
the occurrence and meaning of organizational behavior as well as functional relationships between variables (Johns 2006).
Several concepts articulated above are consistent with
our characterization of context. These include the
ability of context to affect the occurrence and meaning of other variables, the nature of context as constraints or opportunities, and the influence of context
on interactions between agents (both human and
software agents) and the environment. We subscribe
to a view that is broadly inclusive yet avoids the futile
strategy of modeling all potentially relevant information. Instead, we prioritize variables based on the feasibility of observing them (for example, fully or partially observable, unobservable) and on their impact
to decision making. This enables us to account for the
complexity of and variability in how people and
agents accomplish their goals. Our working definition
of context is explicit and implicit (for example,
inferred, latent) information about the relationships
between entities, the environment, and their interactions that may affect interpretation or decisions.
Thus, our computational model of context represents
the types of factors that commonly influence agents:
the environment, the resources, and agent state,
including their tasks, goals, and interactions.
The remainder of this article addresses three main
themes: ( 1) motivations and challenges involved in
exploiting context and building effective context-aware applications; ( 2) a general framework that supports contextual awareness by mining, analyzing,
and adapting human-machine systems; and ( 3) a use
case that illustrates how we have applied this work to
intelligent context-aware applications.
Challenges and Opportunities
Traditionally, developing context-aware systems is a
time- and labor-intensive effort that results in solu-
tions that can only be narrowly applied to the spe-
cific task of interest. There are numerous challenges
in deciding which elements to model and how to
adapt system behavior based on that model. Doing
this successfully in a way that scales has been difficult
to achieve. However, evidence continues to accumu-
late that doing so would be worthwhile.
Both research and common experience establish
that variation in context affects performance in a
variety of tasks and domains (Vlaev, Chater, and
Stewart 2007; Brézillon 2003; Dey and Abowd 2000;
Kozlowski and Klein 2000). This supports the notion
that systematically representing and leveraging context variables can enhance human-machine collaboration. We have built context-aware adaptive systems
in several domains. These systems treat humans and
automation as collaborators who must build and
maintain a shared mental model — a shared context
— to achieve common goals in a shared environment
(Ganberg et al. 2011). These systems have included
proactive decision support tools, immersive multi-modal environments, collaborative analytic workstations, and supervisory interfaces for teams of humans
and heterogeneous unmanned autonomous vehicles.
Common challenges in these domains include trust
(Lee and Moray 1992), uncertainty management
(Cummings and Bruni 2010), impacts of implicit
coordination (Parasuraman, Mouloua, and Molloy
1996), and adjustable levels of automation (Wickens
et al. 2010).
We believe that future contextually aware interactive intelligent systems will overcome several problems that plague current adaptive systems: adaptive
systems fail when they do not account for user’s
expectations; systems that do not support individual
differences are only useful for a limited set of users
and contexts; and systems that fail to capture the
users’ intent are unable to adapt usefully. In our experience, an effective context-aware application has
three major functions (figure 1): to capture the context explicitly present within the system’s environment and infer implicit context, such as user state, to
analyze and reason about goals and intent (including
latent knowledge) within the contextual situation as
a whole, and, finally, to augment the environment or
situation based on its understanding of the situation.
We address each of these, in turn, in the next subsections.
Context Capture: Monitoring Explicit
Context and Inferring Implicit Context
Capturing and mining interaction data, especially
from large amounts of users, is a big data problem.
Challenges and considerations include volume,
velocity, variety, and veracity. Typically one of the
first tasks in building context-aware systems is to
select data sources that can be made available for
inferring context and implicit state. Merely collecting more data without a means to determine the val-