Graphs can be used to convey information about relationships
in many applications. State transition diagrams, PERT/CPM
charts, and entity-relationship diagrams are a few examples
of many applications involving graphs. Typically, nodes in
the graph represent items in the application and the edges
represent the relationships among these items. A graph
editor is an interactive tool that presents a graph to the
user pictorially and allows the user to edit the graph.
This monograph presents the design of an extendible graph
editor, which is a graph editor that can be adapted easily
to many different application areas. Several fundamental and
recurring problem areas associated with graph editors are
investigated and a solution is proposed for each. The topics
investigated are:
- Graph layout: a layout constraint mechanism is presented
which can easily be combined with various graph layout
algorithms.
- Graphical abstraction: a novel clustering techniquecalled
edge concentration is presented which can reduce the
apparent complexity of the graph.
- Persistence: the graph structures produced by theeditor
can be kept in long-term storage using a standardized,
external format for graphs.
- Extendibility: the design of the proposed graph editor
makes it easy to adapt to various applications.
To demonstrate their feasibility, the proposed solutions
have been incorporated into EDGE, an extendible graph editor
protoype.