A Middleware for Context-Aware Agents in Ubiquitous Computing Environments1

A Middleware for Context-Aware Agents in Ubiquitous Computing Environments1

A Middleware for Context-Aware Agents in Ubiquitous Computing Environments1 Anand Ranganathan , Roy H. Campbell Department of Computer Science University of Illinois at Urbana-Champaign, USA {ranganat, rhc }@uiuc.edu Abstract. Ubiquitous Computing advocates the construction of massively dis- tributed systems that help transform physical spaces into computationally active and intelligent environments. The design of systems and applications in these environments needs to take account of heterogeneous devices, mobile users and rapidly changing contexts. Most importantly, agents in ubiquitous and mobile environments need to be context-aware so that they can adapt themselves to dif- ferent situations. In this paper, we argue that ubiquitous computing environ- ments must provide middleware support for context-awareness. We also pro- pose a middleware that facilitates the development of context-aware agents. The middleware allows agents to acquire contextual information easily, reason about it using different logics and then adapt themselves to changing contexts. Another key issue in these environments is allowing autonomous, heterogene- ous agents to have a common semantic understanding of contextual informa- tion. Our middleware tackles this problem by using ontologies to define differ- ent types of contextual information. This middleware is part of Gaia, our infrastructure for enabling Smart Spaces. 1 Introduction Ubiquitous Computing Environments consist of a large number of autonomous agents that work together to transform physical spaces into smart and interactive environ- ments. In order for an agent to function effectively in these environments, they need to perform two kinds of tasks – they need to sense and reason about the current con- text of the environment; and they need to interact smoothly with other agents. In this paper, we propose a middleware for Ubiquitous Computing Environments that meets these two needs of agents in the environment. The role of context has recently gained great importance in the field of ubiquitous computing. “Context” is any information about the circumstances, objects, or condi- tions by which a user is surrounded that is considered relevant to the interaction be- tween the user and the ubiquitous computing environment [1]. A lot of work has been done in trying to make applications in ubiquitous computing environments context 1 This research is supported by a grant from the National Science Foundation, NSF CCR 0086094 ITR and NSF 99-72884 EQ aware so that they can adapt to different situations and be more receptive to users’ needs[1][2][3][8][13]. Humans behave differently in different contexts. They are able to sense what their context is and they adapt their behavior to their current context. The way humans adapt themselves is based on rules that they learn over the course of their experiences. Humans are, thus, able to follow socially and politically correct behavior that is con- ditioned by their past experiences and their current context. Automated agents (which may be applications, services and devices) too, can fol- low contextually-appropriate behavior, if they are able to sense and reason about the context in which they are operating. Ubiquitous computing environments are charac- terized by many sensors that can sense a variety of different contexts. The types of contexts include physical contexts (like location, time), environmental contexts (weather, light and sound levels), informational contexts (stock quotes, sports scores), personal contexts (health, mood, schedule, activity), social contexts (group activity, social relationships, other people in a room), application contexts (email received, websites visited) and system contexts (network traffic, status of printers)[9]. Agents in these environments should be able to acquire and reason about these contexts to adapt the way they behave. In this paper, we argue that ubiquitous computing environments must provide mid- dleware support for context awareness. A middleware for context awareness would provide support for most of the tasks involved in dealing with context. Context-aware agents can be developed very easily with such a middleware. A middleware for con- text-awareness would also place different mechanisms at the disposal of agents for dealing with context. These mechanisms include reasoning mechanisms like rules written in different types of logic (first order logic, temporal logic, fuzzy logic, etc.) as well as learning mechanisms (like Bayesian networks, neural networks or rein- forcement learning). Developers of context-aware agents would not have to worry about the intricate details of getting contextual information from different sensors or developing reasoning or learning mechanisms to reason about context. Another important requirement of middleware in ubiquitous computing environ- ments is that they allow autonomous, heterogeneous agents to seamlessly interact with one another. While a number of protocols and middlewares (like TCP/IP, CORBA, Jini, SOAP, etc.) have been developed to enable distributed agents to talk to one another, they do not address the issues of syntactic and semantic interoperability among agents. They do not provide a common terminology and shared set of concepts that agents can use when they interact with each other. This problem is especially acute in the realm of contextual information since different agents could have differ- ent understandings of the current context. They might use different terms to describe context, and even if they use the same terms, they might attach different semantics to these terms. A middleware for context-awareness must address this problem by ensur- ing that there is no semantic gap between different agents when they exchange con- textual information. We have identified several requirements for a middleware for context-awareness in ubiquitous computing environments. These are: 1. Support for gathering of context information from different sensors and delivery of appropriate context information to different agents. 2. Support for inferring higher level contexts from low level sensed contexts 3. Enable agents use different kinds of reasoning and learning mechanisms 4. Facilities for allowing agents to specify different behaviors in different contexts easily. 5. Enable syntactic and semantic interoperability between different agents (through the use of ontologies) In this paper, we propose a middleware for promoting context-awareness among agents in ubiquitous computing environments. This middleware is based on a predi- cate model of context. The model of context and the middleware also supports the use of different reasoning mechanisms like first order logic and temporal logic by agents to reason about context and decide how to behave in different contexts. Agents can al- ternatively employ learning mechanisms like Bayesian learning and reinforcement learning to learn different behaviors in different contexts. Different logics have differ- ent power, expressiveness and decidability properties. Agents can choose the appro- priate logic that best meets their reasoning requirements. The middleware uses ontologies to define the semantics of various contexts. The ontologies define the structure and the properties of different types of contextual in- formation. They allow different agents in the environment to have a common seman- tic understanding of different contexts. Ontologies have been used extensively in the Semantic Web[14] to allow semantic interoperability among different web-based agents. DAML+OIL[20] has emerged as one of the premier languages for describing ontologies in the Semantic Web. Our on- tologies are also written in DAML+OIL. The use of standard technologies for seman- tics allows semantic interoperability between agents in our environment and other ex- ternal agents (in other environments or on the web). The use of ontologies, thus, dramatically increases the scalability of the environment. Our middleware allows rapid prototyping of context-aware agents in ubiquitous computing environments. It also allows agents the use of powerful reasoning mecha- nisms to handle contextual information and ensures syntactic as well as semantic in- teroperability between different agents through the use of ontologies. The middleware has made it very easy for us to develop a variety of context-aware applications and services. In the rest of the paper, we describe how our middleware achieves context aware- ness in and semantic interoperability between agents in ubiquitous computing envi- ronments. In Section 2, we provide motivation for middleware support for context- awareness. In Section 3, we describe our predicate model for context, which forms the basis of the various reasoning and learning mechanisms that we use. Section 4 intro- duces Gaia, our infrastructure for Smart Spaces, into which our middleware for con- text awareness and semantic interoperability has been integrated. Section 5 describes how context awareness has been achieved among agents. Section 6 describes the use of ontologies in the middleware. Section 7 describes our current implementation status; Section 8 has related work; Section 9 has future work and Section 10 con- cludes the paper. 2 Why a Middleware for Context-Awareness? Different approaches have been suggested for promoting context-awareness among agents. Anind Dey et al[1] have proposed the Toolkit approach, which provides a framework for the development and execution of sensor-based context-aware applica- tions and provides

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    20 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us