Engineering contextual knowledge for autonomic pervasive services

Gabriella Castelli, Marco Mamei, Franco Zambonelli
2008 Information and Software Technology  
Services for mobile and pervasive computing should extensively exploit contextual information both to adapt to user needs and to enable autonomic behavior. This raises the problem of how to represent, organize, aggregate, and make available such data to services so as to have it become meaningful and usable knowledge. In this paper, we identify the key software engineering challenges introduced by the need of accessing and exploiting huge amount of heterogeneous contextual information.
more » ... , we survey the relevant proposals in the area of context-aware pervasive computing, data mining and granular computing discussing their potentials and limitations with regard to their adoption in the development of context-aware pervasive services. On these bases, we propose the W4 model for contextual data and show how it can represent a simple yet effective model to enable flexible general-purpose management of contextual knowledge by pervasive services. A summarizing discussion and the identification of current limitations and open research directions conclude the paper. the increasing success of participatory Web 2.0 tools, will soon make available to services overwhelming amounts of information about facts and events occurring in the physical and social world. Accordingly, the real challenge for future pervasive services is the investigation of principles, algorithms, and tools, via which this growing amount of distributed information can be properly represented, organized, aggregated, and made more meaningful, so as to facilitate the successful exploitation by pervasive services [Bau06] . Future pervasive and autonomic services must evolve from a simple model of "context-awareness", in which they access isolated pieces of heterogeneous contextual data and are directly in charge of digesting and understanding them, towards a model of "situation-awareness", in which services access properly structured and organized information reflecting comprehensive contextual knowledge related to a "situation" of interest and which can be exploited in a standardized fashion. The idea is to make available to services a simple yet expressive interface via which to access contextual knowledge, and encapsulate behind such interface all the algorithms and tools to engineer contextual data (i.e., to represent, organize, prune and aggregate it). The result is that services can reach, with reduced computational and communication efforts, a comprehensive understanding of "situations" around and, consequently, a higher-degree of adaptability and autonomicity, with the notable software engineering advantage of enforcing a sharp separation of concerns between context exploitation and context management. In the past few years, a number of different research communities, from pervasive computing, to data mining and granular computing, have somewhat recognized the above problems, and have proposed solutions aimed at engineering large amounts of contextual data and at turning them into usable knowledge [DeyA00, CegR06, DeGM05, Yao06a, Yao06b]. Thus, a first contribution of this paper is to survey such diverse proposals in different areas and critically analyse their potentials and limitations with respect to their exploitation as tools for engineering context information for pervasive services. The result of our analysis is that, despite the potentials of specific approaches for specific problems, none of them can qualify as a fully-fledged general-purpose solution for the challenges raised by pervasive autonomic services. Following, the second contribution of this paper is to present a novel data model to represent context information, and discuss its potential to act as a general-purpose model to handle several kinds of context information. The model, which we call "W4", is based on the consideration that most information about the world (i.e., about facts occurring in the world) can be simply represented in terms of four "W"s -Who, What, Where, When. Despite its simplicity, such a representation enables for very expressive and flexible data usages. In particular, W4 data can be easily queried and accessed by services, tolerate the effective execution of semantic data organization and data aggregation, and can be effectively used to represent both primitive data and high-level knowledge related to a situation. The remainder of this paper is organized as follows. Section 2 sketches the general scenario we envision for next generation pervasive services, analyzes the issue of context-awareness, and identifies the key challenges for engineering services via suitable models to represent context information. Section 3 surveys the most relevant proposals that, in different areas, are currently providing solutions for context representation and knowledge organization, and analyzes their potentials and limitations. Section 4 introduces the W4 model, and discusses how it can be exploited as a general tool for pervasive services. Section 5 presents our current implementation experience, discusses the current limitations of the W4 model, and outlines open research directions. Section 6 concludes. Engineering Contextual Knowledge: Concepts and Challenges Mobile and ubiquitous computing generally considers the possibility for users to access general digital services from everywhere and on the move. Pervasive computing additionally considers exploiting pervasive networks, distributed sensing and possibly actuating infrastructures for the provisioning of services enabling and supporting our interactions with the environment. These include a number of innovative users-level services for on-line monitoring of surrounding world and interacting with it (i.e., "browsing the world" activities [Cas07]), as well as services for enhancing our social experiences in an environment by enabling novel models of localized social interactions [Pen05] . Dually, it also includes infrastructural services embedded in the environment having the goal of making the environment itself capable of perceiving users' activities within and of adapting itself to the users' needs (i.e., ambient intelligence services). Whatever the case, it is clear that pervasive services have to be inherently contextaware. In fact, collecting information about situations around and acting accordingly is the very core of the activities of pervasive services [ManZ06] . The need for context-awareness also arises when one wants to enforce autonomic behavior in services, i.e., their capability of self-organizing their activities, self-reconfigure and self-heal on need. Given the intrinsic dynamics and decentralization of pervasive scenarios, where components and devices belonging to different stakeholders can come and go at any time and where the structure of the network is inherently dynamic and unreliable, autonomic behavior is necessary to ensure services' continuity without forcing costly and hard to be managed human intervention. However, for such autonomic features to be enabled, services require the capability of understanding what's happening around and react accordingly. 2.1. From Context-aware to Situation-Aware Services A number of technologies exists and are getting increasingly deployed to that contribute producing large amounts of contextual information, there included sensor networks [Est02, ChoK03] , RFID tags [Phi04, Wan06] , localization devices [HigB01, War06], not to exclude participatory Web tools (aka Web 2.0 technologies) and of geographic Web tools (e.g., Google Earth and alike). On these basis, one may think that achieving context-awareness is simply a non issue. Whatever the data source producing some raw item of contextual information (i.e., "data atom"), all of them contribute populating a large cloud of data atoms and at making it available to services (see Figure 1) . A service in need of understanding what's happening around can access (i.e., internalize) the needed data atoms and analyze them to understand what is the current situation of its context. Unfortunately, such description is far too simplistic and does not emphasize a number of complexities inherent in it. First, the process of data internalization can lead to high communication and computational costs for a service, in that it may require accessing large amounts of data atoms possibly distributed across different devices and analyze which data may serve its current purposes. Second, the process of analyzing retrieved contextual data atoms and turning them into useful knowledge may be non-trivial. In other words, getting access to context information does not automatically imply the capability of reaching "situation-awareness", i.e., the capability of recognizing a situation. With reference to one of the most assessed definitions of context [DeyA00] "context is any information that can be used to characterize the situation of an entity", our claim here is that technological advances are creating a notable gap between "context is any information" and "that can be used to characterize the situation of an entity". That is, acquiring contextual information does not imply the capability of understanding situations, especially in the presence of an overwhelming amount of unrelated contextual data atoms. Such problem is even exacerbated by the increasing heterogeneity of devices and tools that contribute producing contextual information, and by the consequent need of handling heterogeneity in data representation and semantics.
doi:10.1016/j.infsof.2007.10.009 fatcat:7inwvm4rljgpnnsrdnpsyb6jee