Runtime Support for a Dynamically Composable and Adaptive Wearable System * Spyros Lalis 1,2 , Alexandros Karypidis 1,2 , Anthony Savidis 1 and Constantine Stephanidis 1,3 1 Institute of Computer Science, Foundation for Research and Technology Hellas 2 Computer and Communications Engineering Department, University of Thessaly 3 Computer Science Department, University of Crete {lalis,karypid,as,cs}@ics.forth.gr Abstract We present a versatile personal system comprising wearable and portable devices communicating via short- range radio. The system can be composed in an ad-hoc fashion, by bringing individual devices in proximity with each other. As a consequence it is possible for the user to build the desired system for a given task at hand in a straightforward way, via physical movement and without issuing any explicit configuration commands. System and applications adapt their behavior as a function of the resources provided by the devices that are part of the current system configuration. We give an overview of the runtime support provided to promote development in this highly dynamic setting, with particular focus on adaptive management of storage and user interface resources. 1. Introduction We are witnessing a proliferation of portable and wearable personal devices with increasing processing and networking capability. Objects, appliances and physical spaces are also being augmented with digital features, resulting in a ubiquitous infrastructure that can be controlled through computer technology. As we move beyond the physical –and mental– boundaries of the desktop, one of the key challenges becomes to combine the devices and artifacts that are available, whether carried by people or situated in a given environment, to support personal computing. Moreover, this must be done in a way that shields users from the technical intricacies of the computer so that they are able to focus on the task at hand without having to continuously deal with setting up and providing input to the system. In the 2WEAR project (http://2wear.ics.forth.gr) we explore the concept of a personal system that is formed by putting together computing elements in an ad-hoc fashion using short-range radio. Certain elements are embedded into wearable objects, such as a wristwatch and small modules, which can be attached to clothes or placed inside a wallet. Others have the form of portable computers, like PDAs and mobile phones. Also, there may be several stationary elements as part of the environment, some of which are visible, such as big screens and home appliances, while others are not directly perceivable by the user, such as network gateways and backend servers. This setting deviates from the conventional computing paradigm in significant ways. What we usually refer to as the personal “computer” becomes a collection of separate and possibly autonomous elements that co-operate with each other without relying on external infrastructure or a pre-arranged setup. Various functions and applications are distributed on different platforms that can be widely heterogeneous in terms of computing resources and user interaction capability. Moreover, the system configuration can change several times during application execution due to devices being switched on and off, or moved into and out of range. From the user’s perspective it is possible to compose the system of choice by bringing together devices that complement, duplicate or boost each other’s capability to build a more functional, reliable and powerful aggregate. Since communication is over short-range radio this act of configuration can be as simple as wearing a device, putting a digitally enhanced artifact into one’s pocket, approaching an ambient space, entering a smart room, or simply joining a group of people carrying their own devices. Put in other words, interactions such as “switching” to a bigger display, “adding” and “removing” applications, as well as “exchanging” information while among friends, can be literally supported as an extension of natural user activity. Some of these actions can be conscious, perhaps requiring a direct user command, or can be triggered automatically yet still in a controlled way, e.g. via preferences. * This work was supported in part by the European Commission under the 5 th Framework program, contract IST-2000-25286.