This Article 
 Bibliographic References 
 Add to: 
A Framework for the Automated Drawing of Data Structure Diagrams
May 1990 (vol. 16 no. 5)
pp. 543-557

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] A. V. Aho, J. E. Hopcroft, and J. D. Ullman,The Design and Analysis of Computer Algorithms. Menlo Park, CA: Addison-Wesley, 1974.
[2] J. Arnstein,The International Dictionary of Graphic Symbols. London: Century, 1986.
[3] M. Augenstein and Y. Langsam, "Graphic displays of data structures on the IBM PC,"SIGCES Bull., vol. 18, no. 1, pp. 73-81, Feb. 1986.
[4] R. I. Becker and S. R. Schach, "Drawing labeled directed binary graphs on a grid," inProc. ACM 20th Southeast Regional Conf., Knoxville, TN, 1982.
[5] J. Bertin,Semiologie Graphique: Les Diagrammers, Les Reseaux, Les Cartes. Paris: Mouton, 1967.
[6] H.-D. Boecker et al., "The Enhancement of Understanding through Visual Representations,"Proc. CHI86: Human Factors in Computing Systems, ACM, New York, 1986, pp. 44-50.
[7] H. D. Boecker and H. Nieper, "Making the invisible visible: Tools for exploratory programming," inProc. First Pan Pacific Computer Conf., Australian Comput. Soc., Melboune, Australia, Sept. 1985.
[8] P. R. Bono, "A survey of graphics standards and their role in information interchange,"Computer, vol. 18, no. 10, pp. 63-75, Oct. 1985.
[9] A. Borning, "The Programming Language Aspects of ThingLab, a Constraint-Oriented Simulation Laboratory."ACM Trans. Programming Languages and Systems, Vol. 3, No. 4, Oct. 1981, pp. 353-387.
[10] M. H. Brown and R. Sedgewick, "A system for algorithm animation,"ACM Comput. Graphics, vol. 18, no. 3, pp. 177-186, July 1984.
[11] S.-K. Chang, Ed.,Visual Language. New York: Plenum, 1986.
[12] M. S. Dionne and A. K. Mackworth, "ANTICS: A system for animating LISP programs,"Comput. Graphics Image Processing, vol. 7, pp. 105-119, 1978.
[13] S. Feiner, S. Nagy, and A. van Dam, "An experimental system for creating and presenting interactive graphical documents,"ACM Trans. Graphics, vol. 1, no. 1, pp. 59-77, 1982.
[14] W. Finzer and L. Gould, "Programming by rehearsal,"Byte, vol. 9, no. 6, pp. 187-210, June 1984.
[15] J. Gait, "An aspect of aesthetics in human-computer communications: Pretty windows,"IEEE Trans. Software Eng., vol. SE-11, no. 8, pp. 714-717, Aug. 1985.
[16] E. Gansner, S. C. North, and K. P. Vo, "DAG--A program that draws directed graphs."Software--Practice and Experience, vol. 18, no. 11, pp. 1047-1062, Nov. 1988.
[17] S. L. Getz, G. Kalligiannis, and S. R. Schach, "A very high-level interactive graphical trace for the Pascal heap,"IEEE Trans. Software Eng., vol. SE-9, no. 2, pp. 179-185, Mar. 1983.
[18] F. E. Giesecke,Engineering Graphics, 4th ed. New York: Macmillan 1987.
[19] E. P. Glinert and S. L. Tanimoto, "Pict: An interactive graphical programming environment,"Computer, vol. C-17, no. 11, pp. 7-25, Nov. 1984.
[20] G. Hain and K. Hain, "A general purpose automatic flowcharter," inProc. Fourth Annu. Meeting UAIDE, New York, Oct. 1965, pp. iv-1-iv-12.
[21] C. F. Herotet al., "An integrated environment for program visualization," inAutomated Tools for Information Systems Design, H. J. Schneider and A. I. Wasserman, Eds. Amsterdam, The Netherlands: North-Holland, 1982, pp. 237-259.
[22] F. R. A. Hopgood, "Computer animation used as a tool in teaching computer science," inProc. 1974 IFIP Congr., Applications volume, 1974, pp. 889-892.
[23] E. Horowitz and S. Sahni,Fundamentals of Computer Algorithms. Rockville, MD: Computer Sci. Press, 1978.
[24] E. Horowitz and S. Sahni,Fundamentals of Data Structures. Woodland Hills, CA: Computer Science Press, 1976.
[25] S. Isoda, T. Shimomura, and Y. Ono, "VIPS: A visual debugger,"IEEE Software, pp. 8-19, May 1987.
[26] B.W. Kernighan, "PIC--A Language for Typesetting Graphics,"SIGPlan Notices(Proc. ACM SIGPlan/SIGOA Symp. Text Manipulation), June 1981, pp. 92-98. (A similar version under the same title appears inSoftware--Practice&Experience, Jan. 1982, pp. 1-20.)
[27] D. E. Knuth, "Computer drawn flowcharters,"Commun. ACM, vol. 6, no. 9, pp. 555-563, Sept. 1963.
[28] D. Kramlichet al., "Program visualization: Graphics support for software development," inProc. 20th Design Automation Conf., 1983, pp. 143-149.
[29] F. Kurdahi and A. Parker, "Techniques for Area Estimation of VLSI Layouts,"IEEE Trans. Computer Aided Design, Vol. 8, No. 1, 1989, pp. 81-92.
[30] R. J. Lipton, S. C. North, and J. S. Samdberg, "A method for drawing graphics," inProc. ACM Symp. Computational Geometry, Baltimore, MD, 1985, pp. 153-160.
[31] R. L. London and R. A. Duisberg, "Animating programs using Smalltalk,"Computer, vol. 18, no. 8, pp. 61-71, Aug. 1985.
[32] J. Martin,Recommended Diagramming Standards for Analysts and Programmers: A Basis for Automation. Englewood Cliffs, NJ: Prentice-Hall, 1987.
[33] P. Mateti,Visualization of Abstract Data Types, to be published.
[34] P. Mateti and G. M. Radack, "Automated drawing of data structure diagrams," inProc. 4th Annu. Nat. Conf. Ada Technology, Mar. 1986, pp. 165-172.
[35] G. F. McCleary, Jr., "An effective graphic vocabulary,"IEEE Comput. Graphics Applications, pp. 46-53, Mar./Apr. 1983.
[36] F. S., Montalvo, "Diagram understanding: Associating symbolic descriptions with images," inProc. Second IEEE Workshop Visual Languages, Dallas, TX, June 1986.
[37] B.A. Myers, R. Chandhok, and A. Sareen, "Automatic Data Visualization for Novice Pascal Programmers,"IEEE Workshop Visual Languages, Oct. 1988, pp. 192-198.
[38] B. A. Myers, "Incense: A system for displaying data structures,"Comput. Graphics, vol. 17, no. 3, pp. 115-125, July 1983.
[39] W. M. Newman, "A graphical language for display programming," inProc. Int. Computer Graphics Symp., Brunel Univ., Uxbridge, England, Aug. 1968.
[40] F. J. Ojeda, "DDS: A subsystem for displaying data structures for interactive debugging," M.S. thesis, Dep. Comput. Eng. Sci., Case Western Reserve Univ., Aug. 1985.
[41] M. C. Pong and N. Ng, "PIGS--A system for programming with interactive graphical support,"Software--Practice and Experience, vol. 13, no. 9, pp. 847-855, Sept. 1983.
[42] E. M. Reingold and J. S. Tilford, "Tidier drawings of trees,"IEEE Trans. Software Eng., vol. SE-7, pp. 223-228, 1981.
[43] E. M. Reingold and W. J. Hansen,Data Structures. Boston, MA: Little Brown, 1983.
[44] S. P. Reiss, "Pecan: Program development systems that support multiple views,"IEEE Trans. Software Eng., vol. SE-11, pp. 276-285, Mar. 1985.
[45] S.P. Reiss, "Graphical program development with PECAN program development system," inSIGSOFT/SIGPLAN Software-Engineering Symp. Practical Software Development Environments, Pittsburgh, PA, Apr. 1984; see alsoSIGSOFT Software Eng. Notes, vol. 9, no. 3, May 1984; see alsoSIGPLAN Notices, vol. 19, no. 6, May 1984.
[46] M. I. Shamos and D. Hoey, "Geometric intersection problems," inProc. 17th Annu. Symp. Foundations of Computer Science, Houston, TX, 1976, pp. 208-215.
[47] B. Schneiderman "Direct manipulation: A step beyond programming languages,"Computer, vol. 16, no. 8, pp. 57-69, Aug. 1983.
[48] B. Schneiderman, P. Shafer, R. Simon, and L. Weldon, "Display strategies for program browsing," inProc. Conf. Software Maintenance, IEEE Comput. Soc., Washington, DC, 1985.
[49] T. A. Standish,Data Structure Techniques. Reading MA: Addison-Wesley, 1980.
[50] D. Thalmann, "An interactive data visualization system,"Software--Practice and Experience, vol. 14, no. 3, pp. 277-290, Mar. 1984.
[51] E. R. Tufte,The Visual display of Quantitative Information. Cheshire, CT: Graphics Press, 1983.
[52] C. Wetherell and A. Shannon, "Tidy drawings of trees,"IEEE Trans. Software Eng., vol. SE-5, pp. 514-520, 1979.
[53] E. Yarwood, "Toward program illustration," Univ. Toronto Computer Systems Research Group, Rep. CSRG-84, Oct. 1977.
[54] D.E. Knuth,The Texbook, Addison-Wesley, Reading, Mass., 1984.

Index Terms:
pictorial indication; automated drawing; data structure diagrams; two-dimensional figures; lines; interrelationships; rules; factors of aesthetics; computable objectives; numeric parameters; computer graphics; data structures; diagrams; software engineering.
C. Ding, P. Mateti, "A Framework for the Automated Drawing of Data Structure Diagrams," IEEE Transactions on Software Engineering, vol. 16, no. 5, pp. 543-557, May 1990, doi:10.1109/32.52777
Usage of this product signifies your acceptance of the Terms of Use.