My Thesis (pdf) was developed under the advice of Prof. David Garlan.




The vision of ubiquitous computing is as exiting as it is challenging. Computing devices came an amazingly long way in the past few years, and plentiful connectivity is becoming commonplace. However, the increasing numbers and richness of devices is a mixed blessing for users. Users today carry a heavy burden in finding and configuring applications for their computer-supported activities, making information available and consistent across different devices, and fixing things when they break.

Ideally, a ubiquitous computing infrastructure would offer personalized support to a user's activities at any location, taking into account preferences with respect to quality of service and concerns with respect to privacy. Such infrastructure would enable users to take full advantage of all the computing capabilities at each location, much like people today can take advantage of the furniture in different spaces. Furthermore, it would automatically adapt to dynamic changes both in computing resources and in the requirements associated with the user's activities.

Still unclear is how software should be organized to deliver this vision, and which conceptual metaphors should be offered to the users of such software.

This work aims towards this vision, focusing on office-like environments. The key idea is the introduction of a software layer above applications. This new layer exploits models of user needs and preferences at runtime to find the best match between those needs and the computing capabilities at each location. Such optimality is maintained in the face of dynamic changes.



I developed Prism, a task manager that supports user mobility (demo video).

Prism’s visible components are:

        Dashboard, lists the currently pending tasks, video tutorial*

        Lamp, a task browser, video tutorial*

        Focus, supports the incremental definition of tasks, video tutorial*

(*) Note: these videos are encoded with a codec from TechSmith Corp. You can obtain the codec from TechSmith, or have it automatically installed by running this.

If you have an installation of Prism, you may want to refer to the logistics tutorial (you may want to watch this video in full screen mode).

Prism works closely with another piece of research, the Environment Manager, by Vahe Poladian. Both pieces of research are part of Project Aura.


Journal Papers

Task-based Adaptation for Ubiquitous Computing, IEEE SMC 2006

Conference & Workshop Papers

Capitalizing on Awareness of User Tasks for Guiding Self Adaptation, ASMEA 2005

Anticipatory Configuration of Resource-aware Applications, EDSER 2005

Dynamic Configuration of Resource-Aware Services, ICSE 2004

Task-based Self-adaptation, WOSS 2004

Software Architecture-based Adaptation for Pervasive Systems, ICACS 2002

Aura: an Architectural Framework for User Mobility in Ubiquitous Computing Environments, WICSA 2002

Technical Reports

Giving Users the Steering Wheel for Guiding Resource-Adaptive Systems, 2005

Beyond Desktop Management: Scaling Task Management in Space and Time, 2004

The Aura Software Architecture: an Infrastructure for Ubiquitous Computing, 2003

Meeting the Software Engineering Challenges of Adaptive Mobile Applications, 2002



Project Aura
Distraction-free Ubiquitous Computing

Architecture-Based Languages and Environments