Application polymorphism for autonomic ubiquitous computing

  • Authors:
  • Anand Ranganathan;Chetan Shankar;Roy Campbell

  • Affiliations:
  • Department of Computer Science, University of Illinois at Urbana-Champaign, IL, USA (Correspd. 307, E. John St., Champaign, IL 61820, USA. Tel.: +1 217 417 4375/ Fax: +1 217 244 6869/ ranganat@uiu ...;Department of Computer Science, University of Illinois at Urbana-Champaign, IL, USA;Department of Computer Science, University of Illinois at Urbana-Champaign, IL, USA

  • Venue:
  • Multiagent and Grid Systems
  • Year:
  • 2005

Quantified Score

Hi-index 0.00

Visualization

Abstract

Ubiquitous computing envisions a habitat where the abundance of mobile devices, services and applications allows the physical and virtual worlds to become seamlessly merged. Users in such a habitat can access their applications and data anywhere and anytime, and perform everyday tasks with greater ease. Applications are not bound to any single device but migrate with the user across different environments (rooms, buildings or even cities). There are, however, a number of challenges towards developing mobile, ubiquitous applications. Applications need to be able to adapt, automatically, as they are migrated between environments with different resources (devices, services and applications) and different contexts. They also need to recover from failures of devices and components, automatically. The promise of ubiquitous computing environments will not be realized unless these systems can effectively "disappear". In order to do that, they need to become autonomic, by managing their own evolution and configuration with minimal user intervention. This paper introduces the notion of application polymorphism, where applications can adapt to different contexts, resource availabilities and failures by changing their structure. While the structure of polymorphic applications can change during adaptation, the semantics, state and functionality of the application are preserved as far as possible. This allows users to perform the same tasks seamlessly as they move between environments or when their applications fail. This paper describes a framework for autonomic ubiquitous computing based on mobile, self-configuring, self-repairing, polymorphic applications.