The design of an extendible graph editor
The book is a revised version of the author's doctoral dissertation. It is concerned with the design of an extendible graph editor kernel. Extendibility means the graph editor can easily adapted to a wide variety of applications. Changes made by the user will be reflected as well in the graphical representation as in the application itself. The following problems are dealt with: Graph layout: It places the nodes and the edges of a graph according to some layout aesthetics (planarity, symmetry, hierarchy, uniformity of edge length, minimal edge crossings,...). In the case of large graphs automatic layout algorithms could cause instability (a small change in the graph structure can drastically change its layout). Depending on the semantics (application) of a graph a special layout could be needed. Therefore, a combination of a layout constraint manager and an automatic layout algorithm is proposed. Graphical abstraction: Large graphs are unmanageable and not well understandable. Therefore, the user should only view a portion of the graph and a layout overview without node details. Three methods are treated: hierarchical subgraph abstractions, separate views, edge concentration. Persistence: Graphs (their description) should be preserved beyound the execution of programs creating them. A language GRL is defined allowing the textual description of graphs, editing such descriptions and their extension to handle application-specific attributes. Extendibility: It is accomplished by an object-oriented graph editor with the basic classes graph, edge, node. Application dependency can be defined by subclasses. There is also a program generator AGENT transforming class declarations and subclass declarations into a set of programs (Input, Output, Menu, Constructors, Destructors) and a GRL data file. The described solutions are realized in the well-known system EDGE. A good survey of related work is included into the book. The text is accompanied by a lot of examples.
scientific article; zbMATH DE number 473816