Coherent User Interfaces for Language-Based Editing Systems (1992)

Authors: Michael L. Van De Vanter, Robert A. Ballance and Susan L. Graham

Abstract:
Many kinds of complex documents, including programs, are based on underlying formal languages. Language-based editing systems exploit knowledge of these languages to provide services beyond the scope of traditional text editors. To be effective, these services must use the power of language-based information to broaden the options available to the user, but without revealing complex linguistic and implementation models. Users understand complex documents in terms of many overlapping structures, only some of which are related to linguistic structure. Communications with the user concerning document structures must be based on models of document structure that are natural, convenient, and coherent to the user.

Pan is a language-based editing and browsing system designed to support development and maintenance of complex software documents. Pan's implementation combines several approaches: unrestricted text editing, language-based browsing and editing, description-driven language definition for incremental analysis, and support for multiple languages per session. Pan uses a variety of mechanisms to help users understand and manipulate complex documents effectively, in terms of underlying language when necessary, but always in the framework of a coherent, user-oriented interface. This paper describes that interface, the mechanisms needed to support it, and the complex relationships between interface design and implementation techniques demanded by the goals of the system.


International Journal of Man-Machine Studies 37,4 (October 1992), 431-466.

Reprinted in Structure-Based Editors and Environments, Gerd Szwillus and Lisa Neal Eds., Academic Press, 1996.

An earlier version appeared as Technical Report UCB/CSD 90/591 published by the Computer Science Division, EECS, University of California, Berkeley, July 1990 (PDF).