Automating the design of network diagrams
Joseph Marks · 1991
The coming generation of collaborative computer systems will require intelligent, multimedia user interfaces that differ significantly from those in use today. In addition to greater reliance on natural-language understanding and generation, future use interfaces will rely on more sophisticated use of graphical displays. In particular, the ability to automatically design informational graphics will enhance greatly the communicative power of collaborative systems. This thesis concerns the automated design of network diagrams, one of the three main classes of symbolic graphical display (the other two being chart graphs and maps). Previous notions of network-diagram syntax and semantics were not adequate for automated design. I give a new formulation of syntax, semantics, and pragmatics for network diagrams that is tailored to the automated-design problem. New aspects of the syntax are the explicit representation of perceptual organization and the description of syntactic features in terms of constraints ranging over the graphical properties and layout of symbols. A semantics of network diagrams is described in terms of a network model, which is essentially an attributed-graph representation that can serve as an application-independent abstraction of many different real-world systems. Pragmatic issues are handled with the aid of high-level design directives that guide the design process. The computational design paradigm takes a novel approach to graphic design by specifying two separate design tasks: the first design task is to map the information to be communicated onto a set of syntactic features, and the second task is to instantiate a network diagram with exactly those syntactic features. The latter design task requires a restatement of the classical diagram-layout problem in which the fulfillment of aesthetic requirements (e.g., the minimization of edge crossings) is subordinated to the satisfaction of perceptual-organization constraints. The Automated Network Diagram Designer (ANDD) is an implemented system that incorporates the ideas mentioned above. Input to ANDD is a network model and a set of design directives; output is a network diagram. I describe the implementation details of the ANDD system, and demonstrate its capabilities by presenting a comparison of similar system-designed and human-designed network diagrams.