The Aura Software Architecture: an Infrastructure for Ubiquitous Computing Joao Pedro Sousa David Garlan 10.1184/R1/6610355.v1 https://kilthub.cmu.edu/articles/journal_contribution/The_Aura_Software_Architecture_an_Infrastructure_for_Ubiquitous_Computing/6610355 Computing environments of the future should enable mobile users to take full advantage of the computing capabilities available at each location, while allowing them to focus on their real tasks, rather than being distracted by dealing with the configuration and reconfiguration of computer systems to support those tasks. The Aura infrastructure performs automatic configuration and reconfiguration of Ubicomp environments, according to the user s task and intent. This report describes the software architecture of the Aura infrastructure, and discusses the underlying rational. It describes the architecture from a layered perspective, detailing the partition of responsibility and shared assumptions, as well as from a component-connector perspective, detailing the protocols of interaction between the components (APIs and sequencing). The con-tents and format of the exchanged messages is extensively discussed, as well as the details pertaining service interconnection and decomposition. This report proposes a utility-based approach for modeling user preferences, and details how such models can be exploited for both coarse-grain automatic (re)configuration, and fine-grain adaptation to resource change. 1995-03-01 00:00:00 ubiquitous computing software architecture task-oriented computing everyday computing self-configurable systems adaptive systems model-based adaptation modeling user preferences utility-based adaptation resource-adaptive applications.