Algorithmic Patterns for Orthogonal Graph Drawing

  • Natasha Gelfand
  • Roberto Tamassia
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1547)


In this paper, we present an object-oriented design and implementation of the core steps of the Giotto algorithm for orthogonal graph drawing. Our design is motivated by the goals of making the algorithm modular and extensible and of providing many reusable components of the algorithm. This work is part of the jdsl project aimed at creating a library of data structures and algorithms in Java.


Graph Structure Original Graph Input Graph Interaction Diagram Graph Drawing 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


  1. [1]
    R. Ahuja, T. Magnanti, and J. Orlin. Network Flows. Prentice Hall, 1993.Google Scholar
  2. [2]
    P. Bertolazzi, G. Di Battista, and G. Liotta. Parametric graph drawing. IEEE Trans. Softw. Eng., 21(8):662–673, 1995.CrossRefGoogle Scholar
  3. [3]
    S. Bridgeman, A. Garg, and R. Tamassia. A graph drawing and translation service on the WWW. In S. C. North, editor, Graph Drawing (Proc. GD’ 96), Lecture Notes Comput. Sci. Springer-Verlag, 1997.Google Scholar
  4. [4]
    G. Di Battista, P. Eades, R. Tamassia, and I. G. Tollis. Graph Drawing:. Prentice-Hall, 1998.Google Scholar
  5. [5]
    G. Di Battista, G. Liotta, and F. Vargiu. Diagram Server. J. Visual Lang. Comput., 6(3):275–298, 1995. (special issue on Graph Visualization, edited by I.F. Cruz and P. Eades).Google Scholar
  6. [6]
  7. [7]
    B. Flaming. Practical Algorithms in C++. Coriolis Group Book, 1995.Google Scholar
  8. [8]
    G. Gallo and M. G. Scutella. Towards a programming environment for combinatorial optimization: a case study oriented to max-flow computations. ORSA J. Computing, 5:120–133, 1994.MathSciNetGoogle Scholar
  9. [9]
    E. Gamma, R. Helm, R. Johnson, and J. Vlissides. Design Patterns. Addison-Wesley, 1995.Google Scholar
  10. [10]
    N. Gelfand, M. T. Goodrich, and R. Tamassia. Teaching data structure design patterns. In Proc. 29th ACM SIGCSE Tech. Sympos., pages 331–335, 1998.Google Scholar
  11. [11]
    M. T. Goodrich and R. Tamassia. Data Structures and Algorithms in Java. John Wiley, New York, NY, 1998.Google Scholar
  12. [12]
  13. [13]
    M. Himsolt. The Graphlet system. Lecture Notes in Computer Science, 1190, 1997.Google Scholar
  14. [14]
    H. Lauer, M. Ettrich, and K. Soukup. GraVis-system demonstration. Lecture Notes in Computer Science, 1353, 1997.Google Scholar
  15. [15]
  16. [16]
    R. Tamassia. On embedding a graph in the grid with the minimum number of bends. SIAM J. Comput., 16(3):421–444, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  17. [17]
    R. Tamassia, G. Di Battista, and C. Batini. Automatic graph drawing and readability of diagrams. IEEE Trans. Syst. Man Cybern., SMC-18(1):61–79, 1988.CrossRefGoogle Scholar
  18. [18]
    R. Tamassia, L. Vismara, and J. E. Baker. A case study in algorithm engineering for geometric computing. In G. F. Italiano and S. Orlando, editors, Proc. Workshop on Algorithm Engineering, 1997.
  19. [19]
    K. Weihe. Reuse of algorithms: Still a challenge to object-oriented programming. In Proc. OOPSLA-97, pages 34–48. ACM Press, 1997.Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 1998

Authors and Affiliations

  • Natasha Gelfand
    • 1
  • Roberto Tamassia
    • 1
  1. 1.Department of Computer ScienceBrown UniversityProvidence

Personalised recommendations