A Survey of Software Infrastructures and Frameworks for Ubiquitous Computing
---
paper_title: Challenges: an application model for pervasive computing

paper_content:

The way mobile computing devices and applications are developed, deployed and used today does not meet the expectations of the user community and falls far short of the potential for pervasive computing. This paper challenges the mobile computing community by questioning the roles of devices, applications, and a user's environment. A vision of pervasive computing is described, along with attributes of a new application model that supports this vision, and a set of challenges that must be met in order to bring the vision to reality.
---
paper_title: Extensions to ANSAware for advanced mobile applications

paper_content:

Significant advances have been made in recent years in tackling the problem of heterogeneity in distributed systems with ISO/ITU-T standards for a Reference Model for Open Distributed Processing (RM-ODP) now approaching international agreement. It is important, however, that such standards and related technologies are responsive to new developments in computer and communications technologies. This paper reports on experiences of using the RM-ODP based platform ANSAware in the development of mobile applications to support field workers in the electricity industry. A number of extensions to ANSAware are described including QoS managed bindings, an enhanced trading service and a new communications protocol. These extensions are evaluated against the requirements of mobile applications.
---
paper_title: Meeting the Computational Needs of Intelligent Environments : The Metaglue System

paper_content:

Intelligent Environments (IEs) have specific computational properties that generally distinguish them from other computational systems. They have large numbers of hardware and software components that need to be interconnect ed. Their infrastructures tend to be highly distributed, reflecting both the distributed nature of the real world and the IEs' need for large amounts of computational power. They also tend to be highly dynamic and require reconfiguration and resource management on the fly as their components and inhabitants change, and as they adjust their operation to suit the learned preferences of their users. Because IEs generally have multimodal interfaces, they also usually have high degrees of parallelism for resolving multiple, simultaneous events. Finally, debugging IEs present unique challenges to their creators, not only because of their distributed parallelism, but also because of the difficulty of pinning down their "state" in a formal computational sense. This paper describes Metaglue, an extension to the Java programming language for building software agent systems for controlling Intelligent Environments that has been specifically designed to address these needs. Metaglue has been developed as part of th e MIT Artificial Intelligence Lab's Intelligent Room Project, which has spent the past four years designing Intelligent Environments for research in Human-Computer Interaction.
---
paper_title: The ParcTab Ubiquitous Computing Experiment

paper_content:

The ParcTab system integrates a palm-sized mobile computer into an office network. This project serves as a preliminary testbed for Ubiquitous Computing, a philosophy originating at Xerox PARC that aims to enrich our computing environment by emphasizing context sensitivity, casual interaction and the spatial arrangement of computers. This paper describes the Ubiquitous Computing philosophy, the ParcTab system, user-interface issues for small devices, and our experience developing and testing a variety of mobile applications.
---
paper_title: Marker tracking and HMD calibration for a video-based augmented reality conferencing system

paper_content:

We describe an augmented reality conferencing system which uses the overlay of virtual images on the real world. Remote collaborators are represented on virtual monitors which can be freely positioned about a user in space. Users can collaboratively view and interact with virtual objects using a shared virtual whiteboard. This is possible through precise virtual image registration using fast and accurate computer vision techniques and head mounted display (HMD) calibration. We propose a method for tracking fiducial markers and a calibration method for optical see-through HMD based on the marker tracking.
---
paper_title: Limbo: A tuple space based platform for adaptive mobile applications

paper_content:

Mobile computing environments are characterised by significant and rapid changes in their supporting infrastructure and, in particular, in the quality-of-service (QoS) available from their underlying communications channels. Applications which can operate in these environments and take advantage of changing QoS require distributed systems support platforms. The current state-of-the-art in such platforms attempt to provide synchronous connection-oriented programming paradigms reflecting their fixed network origin. In this paper we argue that these paradigms are not well suited to operation in a mobile environment and instead propose a new platform called Limbo based on the tuple space communications paradigm. The design of Limbo is presented together with details of two prototype implementations. The use of the platform to re-engineer a number of existing adaptive mobile applications is also discussed.
---
paper_title: Language-level support for exploratory programming of distributed virtual environments

paper_content:

We describe COTERIE, a toolkit that provides languagelevel support for building distributed virtual environments. COTERIE is based on the distributed data-object paradigm for distributed shared memory. Any data object in COTERIE can be declared to be a Shared Object that is replicated fully in any process that is interested in it. These Shared Objects support asynchronous data propagation with atomic serializable updates, and asynchronous notification of updates. COTERIE is built in Modula-3 and uses existing Modula-3 packages that support an integrated interpreted language, multithreading, and 3D animation. Unlike other VE toolkits, COTERIE is based on a set of general-purpose parallel and distributed language concepts designed with the needs of virtual environments in mind. We summarize the requirements that we identified for COTERIE, describe its implementation, compare it with other toolkits, and provide examples that show COTERIE’s advantages.
---
paper_title: A distributed 3D graphics library

paper_content:

We present Repo-3D, a general-purpose, object-oriented library for developing distributed, interactive 3D graphics applications across a range of heterogeneous workstations. Repo-3D is designed to make it easy for programmers to rapidly build prototypes using a familiar multi-threaded, object-oriented programming paradigm. All data sharing of both graphical and non-graphical data is done via general-purpose remote and replicated objects, presenting the illusion of a single distributed shared memory. Graphical objects are directly distributed, circumventing the “duplicate database” problem and allowing programmers to focus on the application details. Repo-3D is embedded in Repo, an interpreted, lexically-scoped, distributed programming language, allowing entire applications to be rapidly prototyped. We discuss Repo-3D’s design, and introduce the notion of local variations to the graphical objects, which allow local changes to be applied to shared graphical structures. Local variations are needed to support transient local changes, such as highlighting, and responsive local editing operations. Finally, we discuss how our approach could be applied using other programming languages, such as Java.
---
paper_title: An architecture for privacy-sensitive ubiquitous computing

paper_content:

Privacy is the most often-cited criticism of ubiquitous computing, and may be the greatest barrier to its long-term success. However, developers currently have little support in designing software architectures and in creating interactions that are effective in helping end-users manage their privacy. To address this problem, we present Confab, a toolkit for facilitating the development of privacy-sensitive ubiquitous computing applications. The requirements for Confab were gathered through an analysis of privacy needs for both end-users and application developers. Confab provides basic support for building ubiquitous computing applications, providing a framework as well as several customizable privacy mechanisms. Confab also comes with extensions for managing location privacy. Combined, these features allow application developers and end-users to support a spectrum of trust levels and privacy needs.
---
paper_title: Join and capture: a model for nomadic interaction

paper_content:

The XWeb architecture delivers interfaces to a wide variety of interactive platforms. XWeb's SUBSCRIBE mechanism allows multiple interactive clients to synchronize with each other. We define the concept of Join as the mechanism for acquiring access to a service's interface. Join also allows the formation of spontaneous collaborations with other people. We define the concept of Capture as the means for users to assemble suites of interactive resources to apply to a particular problem. These mechanisms allow users to access devices that they encounter in their environment rather than carrying all their devices with them. We describe two prototype implementations of Join and Capture. One uses a Java ring to carry a user's identification and to make connections. The other uses a set of cameras to watch where users are and what they touch. Lastly we present algorithms for resolving conflicts generated when independent interactive clients manipulate the same information.
---

Title: A Survey of Software Infrastructures and Frameworks for Ubiquitous Computing

Section 1: Introduction
Description 1: This section provides an overview of the current state of mobile computing devices and the transition towards ubiquitous computing environments. It also explains the purpose of the survey and its relevance to researchers.

Section 2: Terminology and Criteria for the Survey
Description 2: This section introduces the three broad areas under which various terms used in the field of ubiquitous computing are subsumed, namely Augmented Reality (AR), Intelligent Environments (IE), and Distributed Mobile Systems (DMS). The criteria for describing the systems are also specified.

Section 3: Augmented Reality Systems
Description 3: This section contains descriptions of infrastructures which are mainly used for implementing AR systems and prototypes.

Section 4: Intelligent Environment Systems
Description 4: This section lists infrastructures mainly used for creating and managing Intelligent Environments, detailing their capabilities and approaches.

Section 5: Distributed Mobile Systems
Description 5: This section provides an overview of infrastructures for distributed, context-aware mobile, and wearable systems, and their application scenarios.

Section 6: Conclusion
Description 6: This section summarizes the findings of the survey, remarks on the distribution of research efforts globally, and highlights the importance of these infrastructures for ongoing and future research in ubiquitous computing.