A Framework for the Automated Drawing of Data Structure Diagrams

Data structure diagrams are two-dimensional figures made up of lines that aim to pictorially indicate the interrelationships of the elements of a data structure. The various rules and factors of aesthetics that go into the way data structure diagrams are drawn are collected together. The various subjective factors are formulated into computable objectives and numeric parameters. These are distilled from a large number of data structure drawings found in various textbooks. The rules used have not reached a level of acceptance comparable to that of the relevant rules in engineering graphics. The internal architecture of a (sub)system that helps draw data structure diagrams is outlined. >

[1]  Ellis Horowitz,et al.  Fundamentals of Data Structures , 1984 .

[2]  Edward R. Tufte,et al.  The Visual Display of Quantitative Information , 1986 .

[3]  F. Robert A. Hopgood Computer Animation Used as a Tool in Teaching Computer Science , 1974, IFIP Congress.

[4]  Steven P. Reiss,et al.  PECAN: Program Development Systems that Support Multiple Views , 1984, IEEE Transactions on Software Engineering.

[5]  Stephen R. Schach,et al.  Drawing labelled directed binary graphs on a grid , 1982, ACM-SE 20.

[6]  Steven K. Feiner,et al.  An experimental system for creating and presenting interactive graphical documents , 1982, TOGS.

[7]  Steven P. Reiss Graphical program development with PECAN program development systems , 1984 .

[8]  Ben Shneiderman,et al.  Display strategies for program browsing , 1986 .

[9]  Thomas A. Standish Data Structure Techniques , 1980 .

[10]  Robert Sedgewick,et al.  SYSTEM FOR ALGORITHM ANIMATION. , 1984 .

[11]  Takao Shimomura,et al.  VIPS: A Visual Debugger , 1987, IEEE Software.

[12]  Chandler Stolp,et al.  The Visual Display of Quantitative Information , 1983 .

[13]  Donald E. Knuth,et al.  The TeXbook , 1984 .

[14]  Yedidyah Langsam,et al.  Graphic displays of data structures on the IBM PC , 1986 .

[15]  M. C. Pong,et al.  PIGS—A system for programming with interactive graphical support , 1983, Softw. Pract. Exp..

[16]  Jason Gait An Aspect of Aesthetics in Human-Computer Communications: Pretty Windows , 1985, IEEE Transactions on Software Engineering.

[17]  Charles Wetherell,et al.  Tidy Drawings of Trees , 1979, IEEE Transactions on Software Engineering.

[18]  Michael Ian Shamos,et al.  Geometric intersection problems , 1976, 17th Annual Symposium on Foundations of Computer Science (sfcs 1976).

[19]  Brad A. Myers,et al.  Automatic data visualization for novice Pascal programmers , 1988, [Proceedings] 1988 IEEE Workshop on Visual Languages.

[20]  Ellis Horowitz,et al.  Fundamentals of Computer Algorithms , 1978 .

[21]  Ben Shneiderman,et al.  Display Strategies for Program Browsing: Concepts and Experiment , 1986, IEEE Software.

[22]  Robert Sedgewick,et al.  A system for algorithm animation , 1984, SIGGRAPH.

[23]  Brian W. Kernighan PIC—a language for typesetting graphics , 1981 .

[24]  Daniel Thalmann An interactive data visualization system , 1984, Softw. Pract. Exp..

[25]  Brad A. Myers INCENSE: A system for displaying data structures , 1983, SIGGRAPH.

[26]  Alan K. Mackworth,et al.  ANTICS: A system for animating LISP programs , 1978 .

[27]  Richard J. Lipton,et al.  A method for drawing graphs , 1985, SCG '85.

[28]  Ben Shneiderman,et al.  Direct Manipulation: A Step Beyond Programming Languages , 1983, Computer.

[29]  Peter R. Bono A Survey of Graphics Standards and Their Role in Information Interchange , 1985, Computer.

[30]  Robert Duisberg,et al.  Animating Programs Using Smalltalk , 1985, Computer.

[31]  K. P. Vo,et al.  DAG—a program that draws directed graphs , 1988, Softw. Pract. Exp..

[32]  G. Fischer,et al.  The enhancement of understanding through visual representations , 1986, CHI '86.

[33]  Donald E. Knuth,et al.  Computer-drawn flowcharts , 1963, CACM.

[34]  Edward M. Reingold,et al.  Tidier Drawings of Trees , 1981, IEEE Transactions on Software Engineering.

[35]  Stephen R. Schach,et al.  A Very High-Level Interactive Graphical Trace for the Pascal Heap , 1983, IEEE Transactions on Software Engineering.

[36]  George McCleary,et al.  An Effective Graphic "Vocabulary" , 1983, IEEE Computer Graphics and Applications.

[37]  Ephraim P. Glinert,et al.  Pict: An Interactive Graphical Programming Environment , 1984, Computer.

[38]  Christopher F. Herot,et al.  Program visualization: Graphics support for software development , 1983, DAC.

[39]  Alan Borning,et al.  The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory , 1981, TOPL.

[40]  Alfred V. Aho,et al.  The Design and Analysis of Computer Algorithms , 1974 .