Application polymorphism for autonomic ubiquitous computing

Anand Ranganathan, Chetan Shankar, Roy Campbell

Research output: Contribution to journalArticlepeer-review


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.

Original languageEnglish (US)
Pages (from-to)109-129
Number of pages21
JournalMultiagent and Grid Systems
Issue number2
StatePublished - 2005


  • Application mobility
  • Autonomic computing
  • Fault tolerance
  • Ontologies
  • Semantic discovery and matchmaking
  • Ubiquitous computing

ASJC Scopus subject areas

  • Computer Science(all)


Dive into the research topics of 'Application polymorphism for autonomic ubiquitous computing'. Together they form a unique fingerprint.

Cite this