TL;DR: This paper motivates and describes a document-centric framework for component-based distributed systems and illustrates how it allows for remapping of a portion of an existing user interface to a new room control, viewing of arbitrary subsets and combinations of the functionality available, and mixing dynamically-generated user interfaces with existing user interfaces.
Abstract: This paper motivates and describes a document-centric framework for component-based distributed systems. In the framework, XML documents are associated with programs that provide either static, immutable interface descriptions as advertisements of functionality at the server-side, or specification of manipulations of these server descriptions to express their usage at clients. We illustrate how the framework allows for 1) remapping of a portion of an existing user interface to a new room control (for example, due to movement of the terminal) 2) viewing of arbitrary subsets and combinations of the functionality available, and 3) mixing dynamically-generated user interfaces with existing user interfaces. The use of a document-centric framework in addition to a conventional object-oriented programming language provides a number of key features. One of the most useful is that it exposes program/UI to referent objects mappings, thereby providing a standard location for manipulation of this indirection.