Roam, a seamless application framework

One of the biggest challenges in future application development is device heterogeneity. In the future, we expect to see a rich variety of computing devices that can run applications. These devices have different capabilities in processors, memory, networking, screen sizes, input methods, and software libraries. We also expect that future users are likely to own many types of devices. Depending on users' changing situations and environments, they may choose to switch from one type of device to another that brings the best combination of application functionality and device mobility (size, weight, etc.). Based on this scenario, we have designed and implemented a seamless application framework called the Roam system that can both assist developers to build multiplatform applications that can run on heterogeneous devices and allow a user to move/migrate a running application among heterogeneous devices in an effortless manner. The Roam system is based on partitioning of an application into components and it automatically selects the most appropriate adaptation strategy at the component level for a target platform. To evaluate our system, we have created several multi-platform Roam applications including a Chess game, a Connect4 game, and a shopping aid application. We also provide measurements on application performance and describe our experience with application development in the Roam system. Our experience shows that it is relatively easy to port existing applications to the Roam system and runtime application migration latency is within a few seconds and acceptable to most non-real-time applications.

[1]  Paul R. Calder,et al.  Composing user interfaces with InterViews , 1989, Computer.

[2]  Toshiyuki Masui,et al.  Evolutionary learning of graph layout constraints from examples , 1994, UIST '94.

[3]  Mihir Bellare,et al.  OCB: a block-cipher mode of operation for efficient authenticated encryption , 2001, CCS '01.

[4]  David A. Duce,et al.  Scalable Vector Graphics SVG 1.0 Specification , 2000 .

[5]  Ping Luo,et al.  Facilitating the exploration of interface design alternatives: the HUMANOID model of interface design , 1992, CHI.

[6]  Pedro A. Szekely Retrospective and Challenges for Model-Based Interface Development , 1996, DSV-IS.

[7]  Stefan Fünfrocken Transparent Migration of Java-Based Mobile Agents , 1998, Mobile Agents.

[8]  James D. Foley,et al.  A second generation user interface design environment: the model and the runtime architecture , 1993, INTERCHI.

[9]  Danny B. Lange,et al.  Mobile agents with Java: The Aglet API , 1998, World Wide Web.

[10]  Dejan S. Milojicic,et al.  Mobile Objects and Agents (MOA) , 1998, Distributed Syst. Eng..

[11]  Jean Vanderdonckt,et al.  Applying model-based techniques to the development of UIs for mobile computers , 2001, IUI '01.

[12]  Marisa E. Campbell,et al.  Conference preview: HCI 2000: usability or else! , 2000, INTR.

[13]  Brad A. Myers,et al.  Model-based user interfaces: what are they and why should we care? , 1994, UIST '94.

[14]  Dan R. Olsen,et al.  A programming language basis for user interface , 1989, CHI '89.

[15]  Brad A. Myers,et al.  User interface software tools , 1995, TCHI.

[16]  John D. Gould,et al.  ITS: a tool for rapidly developing interactive applications , 1995 .

[17]  Ping Luo,et al.  Beyond interface builders: model-based interface tools , 1993, INTERCHI.

[18]  George Cybenko,et al.  Mobile agents for mobile computing , 1996 .

[19]  Holger Peine,et al.  The Architecture of the Ara Platform for Mobile Agents , 1999, Mobile Agents.

[20]  Joel H. Saltz,et al.  Sumatra: A Language for Resource-Aware Mobile Programs , 1996, Mobile Object Systems.

[21]  Fabio Paternò Model-Based Design and Evaluation of Interactive Applications , 2000 .

[22]  James Beck,et al.  Challenges: an application model for pervasive computing , 2000, MobiCom '00.

[23]  Stefan Fünfrocken,et al.  Transparent migration of Java-based mobile agents: Capturing and re-establishing the state of Java programs , 1998, Personal Technologies.

[24]  Dan R. Olsen,et al.  A Programming Language Basis for User Interface Management , 1989 .

[25]  Dan R. Olsen,et al.  Cross-modal interaction using XWeb , 2000, UIST '00.

[26]  Jean Vanderdonckt,et al.  Adapting to mobile contexts with user-interface modeling , 2000, Proceedings Third IEEE Workshop on Mobile Computing Systems and Applications.