Sign up & Download
Sign in

An interface description language for graph editors

by F J Newbery
Proceedings 1988 IEEE Workshop on Visual Languages (1988)

Abstract

A graph editor can be used as a graphical user interface to many applications. A language is defined which describes the interface between an application and a graph editor. The language describes attributes of the graph such as the various node and edge types and how they should be displayed. It also specifies the manner in which the graph is to be displayed (layout algorithm, layout constraints) and the set of editing commands. The use of this language will simplify the customization of graph editors. For various types of graph editors there would be corresponding descriptions. This interface description language is being incorporated into the EDGE graph editor

Author-supplied keywords

Cite this document (BETA)

Page 1
hidden

An interface description language for graph editors

An interface description language for graph editors
Frances J. Newbery
Department of Informatics
University of Karlsruhe
D-7500 Karlsruhe, FRG
Abstract
A graph editor can be used as a graphical user inter-
face to many applications. This paper defines a language
which describes the interface between an application and
a graph editor. The language describes attributes of the
graph, such as the various node and edge types and how
they should be displayed. It also specifies the manner in
which the graph is to be displayed (layout algorithm, lay-
out constraints) and the set of editing commands.
The use of this language will simplify the customiza-
tion of graph editors. For various types of graph editors
there would be corresponding descriptions. This interface
description language is being incorporated into the EDGE
graph editor.
Introduction
Graphs can be used to convey information about rela-
tionships in many applications. State transition diagrams,
PERT/CPM charts, call graphs, and entity-relationship di-
agrams are a few examples of many applications involving
graphs. Typically, nodes in the graph represent items in
the application (e.g. a state, an activity, a program mod-
ule) and the edges represent the relationships among these
items (e.g. state transition, activity duration, procedure
invocation).
A graph editor will display the graph on the screen
and allow the user to modify the graph by manipulating
it directly with a mouse. The user can alter the struc-
ture of the graph as well as alter information associated
with it. An updated drawing of the graph can then be dis-
played. Modifying the graph directly is preferable to other
approaches because the user has a better understanding
of the graph when it is presented as a drawing. Under-
standing a graph usually involves recognizing structural
properties of the graph (planarity, connectivity, level as-
signment etc.). Many of these properties are more easily
recognized visually than from a textual description of the
graph.
TH0229-5/88/0000/0144$01.00 0 1988 IEEE
A graph editor consists of a display engine, a set of lay-
ou t specifications, a user interface, an application interface,
and a default editor [lo]. The display engine displays the
graph using the provided layout specifications. The user
interface provides a way to manipulate the graph and its
display. The application interface provides for customiza-
tion of the editor to a particular application. A simple but
usable default editor is available as a prototype.
Although many application programs are based on
graphs, many designers are hesitant to provide a graphical
interface because of the high cost of developing such an
interface. If a customizable graph editor is provided which
the application can use, then the advantages of having a
graphical interface to the application will be available for
a small customization effort. An additional advantage of
using a customizable graph editor is that a consistent user
interface can be presented for various applications.
This paper concerns a language which describes the in-
terface between the graph editor and the application and
user interfaces. This language describes aspects of the
graph itself, for example specifying attributes of the nodes
and edges. It also describes how the graph editor should
display the graph, for example what layout algorithm to
use. The use of this language makes it easier to customize
the graph editor for a particular application. The graph
editor interface description language is being incorporated
into the EDGE graph editor.
An overview of the EDGE graph editor is presented in
the following section. The remainder of the paper defines
the language, gives examples of its use, and describes its
implement at ion.
EDGE: An Extendible Directed GraDh Editor
EDGE is an extendible directed graph editor developed
at the University of Karlsruhe [a ] . It is written in C++
[7] and uses the the X Window System [6 ] . C++ provides
facilities for data abstraction and object-oriented program-
ming. The X window system provides a full, flexible, and
portable set of graphics and window managing facilities.
EDGE has been used on Sun workstations, MicroVaxen
and IBM RTs.
144

Sign up today - FREE

Mendeley saves you time finding and organizing research. Learn more

  • All your research in one place
  • Add and import papers easily
  • Access it anywhere, anytime

Start using Mendeley in seconds!

Already have an account? Sign in

Readership Statistics

2 Readers on Mendeley
by Discipline
 
by Academic Status
 
50% Other Professional
 
50% Researcher (at an Academic Institution)
by Country
 
50% Italy
 
50% Mexico