Extending the Sugiyama algorithm for drawing UML class diagrams: Towards automatic layout of object-oriented software diagrams

  • Jochen Seemann
Methodologies and Applicaitons II
Part of the Lecture Notes in Computer Science book series (LNCS, volume 1353)


The automatic layout of software diagrams is a very attractive graph drawing application for use in software tools. Object-oriented software may be modelled using a visual language called the Unified Modeling Language (UML). In this paper we present an algorithm for the automatic layout of UML class diagrams using an extension of the Sugiyama algorithm together with orthogonal drawing. These diagrams visualize the static structure of object-oriented software systems and are characterised by the use of two main types of edges corresponding to different relationships between the classes. The graph drawing algorithm accounts for these concepts by treating the different edge types in different ways.


  1. 1.
    G. Booch: Object-Oriented Design, Benjamin/Cummings Publishing, 1991Google Scholar
  2. 2.
    F.J. Brandenburg, editor: Proceedings of Graph Drawing '95, Vol. 1027 of Lecture Notes in Computer Science, Springer Verlag, 1996Google Scholar
  3. 3.
    G. Di Battista, P. Eades, R. Tamassia, I.G. Tollis: Algorithms for drawing graphs an Annotated Bibliography, Comput. Geometry Theory Appl., 4:235–282, 1994Google Scholar
  4. 4.
    Peter Eades, Kozo Sugiyama: How to draw a directed graph, Journal of Information Processing, 14(4):424–437, 1990Google Scholar
  5. 5.
    A. Rick: Upper bounds on the Number of Hidden Nodes in the Sugiyama Algorithm, in [8], pp. 169–183Google Scholar
  6. 6.
    E.R. Ganser, E. Koutsofios, S. North, K.-P. Vo: A technique for drawing directed graphs, IEEE Transactions on Software Engineering, 19(3): 214–230, March 1993CrossRefGoogle Scholar
  7. 7.
    F. Newbery-Paulisch, W. F. Tichy: Edge: An extendible graph editor, Software — Practice and Experience, 20(1): 63–88, June 1990Google Scholar
  8. 8.
    S. North, editor: Proceedings of Graph Drawing '96, Vol. 1190 of Lecture Notes in Computer Science, Springer Verlag, 1997Google Scholar
  9. 9.
    P. Mutzel: An Alternative Method to Crossing Minimization on Hierarchical Graphs, in [8], pp. 318–333Google Scholar
  10. 10.
    J. Rumbaugh, M. Blaha, W. Premerlani, F. Eddy, W. Lorenson: Object-Oriented Modeling and Design, Prentice-Hall, 1991Google Scholar
  11. 11.
    G. Sander: A Fast Heuristic for Hierarchical Manhattan Layout, in [2], pp. 447–458Google Scholar
  12. 12.
    J. Seemann, J. Wolff von Gudenberg: OMTscript — eine Programmiersprache für objekt-orientierten Software-Entwurf, Technical Report, Department of Computer Science, Würzburg University, 1997Google Scholar
  13. 13.
    Kozo Sugiyama, Shojiro Tagawa, and Mitsuhiko Toda: Methods for visual understanding of hierarchical system structures, IEEE Transactions on Systems, Man, and Cybernetics SMC-11(2): 109–125, February 1981Google Scholar
  14. 14.
    Rational Software Corporation: The Unified Modeling Language 1.0, only available via WWW: http://www.rational.com, January 1997Google Scholar
  15. 15.
    J. Warfield: Crossing Theory and Hierarchy Mapping, IEEE Transactions on Systems, Man, and Cybernetics SMC-7(7): 505–523, July 1977Google Scholar

Copyright information

© Springer-Verlag 1997

Authors and Affiliations

  • Jochen Seemann
    • 1
  1. 1.Institut für InformatikAm HublandWürzburg

Personalised recommendations