Micro Context-Awareness for Autonomic Pervasive Computing

Micro Context-Awareness for Autonomic Pervasive Computing

Bessam Abdulrazak (University of Sherbrooke, Canada), Patrice Roy (University of Sherbrooke, Canada), Charles Gouin-Vallerand (University of Sherbrooke, Canada), Yacine Belala (SAP Labs, Canada) and Sylvain Giroux (University of Sherbrooke, Canada)
DOI: 10.4018/978-1-4666-2026-1.ch007
OnDemand PDF Download:
List Price: $37.50


Context-aware software provides adapted services to users or other software components. On the other hand, Autonomic Pervasive Computing uses context to reduce the complexity of pervasive system utilization, management and maintenance. This paper describes two context-awareness models, the macro and micro approaches, that define and integrate contextual views of individual pervasive components (micro level) and global knowledge of the system (macro level), and provides a more detailed overview of a micro Context-aware programming model for open smart space problems. These models are presented and compared with respect to their ability to meet the requirements of the Autonomic Pervasive Computing concept of the four selves.
Chapter Preview


Pervasive computing offers ubiquitous access to information at any time. It relies on “environments of devices with computing and communication capabilities for integrating directly with the human (sic.)” (Campiolo, 2007). Autonomic Pervasive Computing (Gouin-Vallerand et al., 2008, Kephart & Chess, 2003) transforms a space into a smart space that is easy to use; it integrates distributed applications and mobile devices, allows dynamic interaction of components with the environment, offers personalized services and interfaces, etc. Furthermore, the “four selves” of Autonomic Pervasive Computing (Kephart & Chess, 2003) (self-configuration, self-optimization, self-healing and self-protection) hint towards the implementation of pervasive systems that will make it easier to use, manage and maintain pervasive technologies such as devices and software applications.

The implementation of autonomic functionalities results from the selves of individual components performing reasoning on the systems, analyzing the environment, noticing events and responding to them. Therefore, such systems need to be Context-aware, i.e., “aware of the state of the computing environment and requirements and current state of computing applications” (Indulska & Sutton, 2003). This makes Context and its corollary, Context-awareness, the key terms to define. In a general sense, we will define Context-aware components and systems as those components and systems that use and rely on Context to perform their tasks.

Context-aware systems and components host Agents that infer additional, synthetic Context from the raw Context provided by sensors and from synthetic Context provided by other Agents. Context-awareness enables such systems and such components, among other things, to assist users in performing daily life activities or warn specialized personnel should human intervention be required. Agents can consume Context, produce Context for others to consume, or use Context to decide upon an application domain-dependent course of action.

Numerous efforts have been made in the development of platforms to support Context-awareness for pervasive computing. Most applications and studies today rely on smart spaces, most of which are controlled smart spaces i.e. known locations equipped with a stable set of sensors and actuators where the basic physical layout is known beforehand. These spaces include any controlled environment where Context-awareness could play a role such as assisting people with disabilities (e.g. hospitals, hotel rooms, apartments, houses, classrooms etc.).

Controlled smart spaces are necessary but not sufficient. A limitation of controlled spaces is that they can only assist people within their confines. When an individual leaves such an environment, the ability of a given Context-aware system to provide assistance is sorely affected or disappears completely. Open smart spaces take away this limitation and let Context follow users wherever they go, although with varying degrees of support and assistance capabilities due to strong variations in support from the environment and from neighboring nodes.

In this paper, we present two models of Context-awareness that operate at distinct levels, namely macro-level and micro-level Context-awareness. These models help program systems and components for both controlled and open space environments. Micro Context-awareness revolves around the subjective perception and the understanding an Agent has of its environment, while macro Context-awareness is the global, emergent picture that Agents help build of entities in their environment. Both have different implications when studied under autonomic computing paradigms.

We first present both models in general terms; then, we describe and compare the impact of each one on the four selves of Autonomic computing. Then, we describe implementations that rely on each model and show how they interact. Finally, we provide a more detailed overview of a micro-level Context-aware components programming model and show how this approach fills the needs of autonomic pervasive computing.

Complete Chapter List

Search this Book: