Ubiquitous Computing advocates the enhancement of physical spaces with computing and communication resources that help users perform various kinds of tasks. However, these environments are highly complex, dynamic and fault-prone. Besides, different environments have different resources, architectures and policies. Hence, developers find it difficult to program new applications and services in these rich environments. In this thesis, we propose a framework for autonomic ubiquitous computing, that enables these environments to be self-configuring, self-repairing, and adaptive. The framework allows developers to program ubiquitous computing environments in terms of high-level, parameterized tasks. The values of task parameters may be provided by the end-user or automatically inferred by the framework based on the current state of the environment, context-sensitive policies, and learned user preferences. The framework uses a novel semantic discovery process to infer the best values of parameters. It can also recover from failures of one or more actions by using alternative resources. In order to evaluate this approach, we define metrics for measuring the complexity of developing and managing systems. We then evaluate the framework based on thes
To submit an update or takedown request for this paper, please submit an Update/Correction/Removal Request.