Proteus: An Adaptable Presentation System for a Software
Development and Multimedia Document Environment
Ethan Vincent Munson
Abstract
The many different documents produced by a large software project are
typically created and maintained by a variety of incompatible software
tools, such as programming environments, document processing systems,
and specialized editors for non-textual media. The incompatibility of
these tools hinders communication within the project by making it
difficult to share the documents that record the project's plans,
design history, implementations, and experiences. An important factor
underlying this incompatibility is the diversity of presentation
models that have been adopted. Each system's presentation model is
well-suited to the document types and media it supports, but is
difficult to adapt to other types and media.
This dissertation describes a new model of presentation that is
designed to be applied to a diverse array of documents drawn from many
different media. The model is based on four simple services:
attribute propagation, box layout, tree elaboration, and interface
functions. Together, these services are powerful enough to support
the creation of many novel and visually rich document presentations.
Furthermore, because the model is based on a new understanding of the
fundamental parameters defining media, the four services can be
adapted for use with all media in common use.
The utility of this presentation model has been explored through the
design and implementation of Proteus, a system for handling
presentation specifications that is part of Ensemble, an environment
for developing both software and multimedia documents. Proteus
interprets specifications that describe how the four presentation
services should be applied to individual documents. Proteus has a
medium-independent kernel that provides the specification interpreter
and runtime support for the four presentation services. The kernel is
adapted to different media via the addition of a shell specifying the
medium's parameters. Proteus's adaptability significantly eases the
task of extending Ensemble to support new media. Proteus is also an
important part of Ensemble's support for multiple, synchronized
presentations.
In summary, this research develops a new, medium-independent model of
presentation and shows that a specification-driven presentation system
based on this model can form the basis of a software environment
supporting multiple presentations and a variety of media.
Full text in PostScript. (1.8 MB)
Full text in PostScript, compressed by GNU zip.
(.5 MB)
Ph.D. dissertation, Computer Science Division, University of
California, Berkeley, December 1994. Also available as Technical
Report No. UCB/CSD 94/883.