Report Number: CSL-TR-89-380
Institution: Stanford University, Computer Systems Laboratory
Title: Unidraw: A Framework for Building Domain-Specific Graphical
Author: Vlissides, John M.
Author: Linton, Mark A.
Date: July 1989
Abstract: Unidraw is a framework for creating object-oriented graphical
editors in domains such as technical and artistic drawing,
music composition, and CAD. The Unidraw architecture
simplifies the construction of these editors by providing
programming abstractions that are common across domains.
Unidraw defines four basic abstractions: components
encapsulate the appearance and semantics of objects in a
domain, tools support direct manipulation of components,
commands define operations on components and other objects,
and external representations define the mapping between
components and the file format generated by the editor.
Unidraw also supports multiple views, graphical connectivity
and confinement, and dataflow between components. This paper
describes the Unidraw design, implementation issues, and
three prototype domain-specific editors we have developed
with Unidraw: a drawing editor, a user interface builder, and
a schematic capture system. Experience indicates a
substantial reduction in implementation time compared with