Orthogonal Graph Drawing with Constraints: Algorithms and Applications
Total Page:16
File Type:pdf, Size:1020Kb
Orthogonal Graph Drawing with Constraints: Algorithms and Applications Dissertation der Fakult¨at fur¨ Informations- und Kognitionswissenschaften der Eberhard-Karls-Universit¨at Tubingen¨ zur Erlangung des Grades eines Doktors der Naturwissenschaften (Dr. rer. nat.) vorgelegt von Dipl.-Inform. Martin Siebenhaller aus Meersburg Tubingen¨ 2009 Tag der mundlichen¨ Qualifikation: 16.12.2009 Dekan: Prof. Dr.-Ing. Oliver Kohlbacher 1. Berichterstatter: Prof. Dr. Michael Kaufmann 2. Berichterstatter: Prof. Dr. Wolfgang Kuchlin¨ Acknowledgments Writing this thesis would not have been possible without the great support of various people. First of all I want to thank my advisor Prof. Dr. Michael Kaufmann for all his support, for introducing me to the interesting field of graph drawing, for giving me the opportunity to be part of his research group and for providing me the possibility to attend several international work- shops and conferences. I am also very grateful to Dr. Markus Eiglsperger for guiding me through my first steps of designing and implementing graph drawing algorithms. I would like to thank the Deutsche Forschungsgemein- schaft (DFG) for financial support of our research under grant Ka 812/8-3 and the yWorks company for providing both the yFiles library and their technical support. Further, I want to thank all my co-authors for the suc- cessful cooperation as well as the rest of the research group, namely Philip Effinger, Andreas Gerasch, Markus Geyer, Stephan Kottler and Dr. Katha- rina Zweig, for providing a pleasant working environment and for relaxing coffee breaks. Special thanks also to the proofreaders Marc B´egin, Philip Effinger, Stephan Kottler and Thomas Wurst. Last but not least, I want to thank my parents for supporting my studies. iv Deutsche Zusammenfassung Die Visualisierung ist ein bew¨ahrtes und probates Mittel f¨ur die Repr¨asen- tation von Daten. Aufgrund der kognitiven F¨ahigkeiten von Menschen er- leichtert eine Visualisierung (graphische Darstellung) das Aufnehmen und Verstehen der in den Daten enthaltenen Informationen. Die vorliegende Arbeit besch¨aftigt sich mit der Graph-basierten Visualisierung, d. h. der Visualisierung von Daten, die durch Graphen beschrieben werden k¨onnen. Ein Graph ist ein Konstrukt der Mathematik (Graphentheorie) und wird zur Modellierung von bin¨aren Relationen zwischen Objekten verwendet. Die Objekte werden dabei h¨aufig als Knoten“ und die Relationen als Kan- ” ” ten“ bezeichnet. Das Forschungsgebiet, welches sich mit der Visualisierung von Graphen, im Speziellen mit dem automatischen Anordnen (Layout) von Knoten und Kanten besch¨aftigt, heißt Graphenzeichnen“. Beim Zeichnen ” von Graphen werden Knoten ¨ublicherweise als Punkte/Rechtecke und Kan- ten als Kurven repr¨asentiert. Außerdem werden verschiedene ¨asthetische Anforderungen ber¨ucksichtigt, z. B. soll die Anzahl der Kantenkreuzungen in der resultierenden Zeichnung m¨oglichst gering sein. In orthogonalen Zeichnungen von Graphen werden die Kanten durch Polygonz¨uge dargestellt, die aus abwechselnd horizontalen und vertikalen Liniensegmenten bestehen. Das bekannteste Verfahren zur Erzeugung von orthogonalen Zeichnungen ist der Topology-Shape-Metrics“ Ansatz (TSM- ” Ansatz), der aus den Phasen Planarisierung, Orthogonalisierung und Kom- paktierung besteht. Im Gegensatz zu den sogenannten kr¨aftebasierten und hierarchischen Zeichenverfahren, wird der TSM-Ansatz in der Praxis nur selten eingesetzt. Das liegt zum einen an dessen h¨oherem Implementierungs- aufwand, zum anderen daran, dass im Vergleich zu den beiden anderen Ver- fahren nur wenige Erweiterungen zur Einbeziehung von Nebenbedingungen bez¨uglich der Anordnung der Graphelemente bekannt sind. Die Formulierung solcher Nebenbedingungen ist notwendig, um geeignete Visualisierungen f¨ur Anwendungen aus Bereichen wie Software-Technik, Bio- informatik und Netzwerkanalyse zu erzeugen. In der vorliegenden Arbeit wird ein neues Zeichenverfahren pr¨asentiert, welches auf dem TSM-Ansatz basiert und die folgenden Nebenbedingungen unterst¨utzt: vi • Eine Teilmenge der Kanten wird durch monoton steigende Kurven repr¨asentiert. Diese Kanten besitzen also eine einheitliche Flussrich- tung. • Eine Teilmenge der Knoten wird bimodal“ gezeichnet, d. h. so, dass ” die eingehenden und ausgehenden Kanten eines Knotens, bez¨uglich ihrer Reihenfolge um den Knoten, getrennt voneinander erscheinen. • Zusammengeh¨orige Knoten werden zu Clustern gruppiert. Jeder Clus- ter wird durch eine rechteckige Region repr¨asentiert, welche genau die zum Cluster geh¨orenden Knoten beinhaltet. Die Position eines Clus- ters wird dabei nicht vorgegeben. • Die Zeichenfl¨ache wird in Rechtecke zerlegt. Jeder Knoten wird inner- halb eines vorgegebenen Rechtecks platziert. • Die m¨oglichen Anschlusspunkte einer Kante an einem dazugeh¨origen Knoten werden durch die Vorgabe einer Seite oder einer genauen Po- sition am Knotenrand eingeschr¨ankt. Bislang ist kein TSM-basiertes Verfahren bekannt, dass eine solch kom- plexe Kombination von Nebenbedingungen zul¨asst. F¨ur die Entwicklung der entsprechenden Algorithmen wird auf bew¨ahrte Methoden und Konzepte aus dem Bereich des Graphenzeichnens zur¨uckgegriffen. Wie der Titel der Arbeit bereits verr¨at, werden nicht nur neue Algorithmen pr¨asentiert, son- dern diese auch im praktischen Einsatz getestet. Die erzielten Ergebnisse best¨atigen, dass das Verfahren gut f¨ur die Visualisierung praktischer An- wendungen geeignet ist. Im Einzelnen gliedert sich die Arbeit wie folgt: Nach einer kurzen Ein- f¨uhrung in die Thematik werden im zweiten Kapitel zun¨achst grundlegende mathematische Konzepte und Definitionen aus dem Bereich der Graphenthe- orie erl¨autert. Danach wird ein Uberblick¨ ¨uber verschiedene Anforderungen und Konventionen, die beim Zeichnen von Graphen von Bedeutung sind, gegeben. Es werden die einzelnen Phasen des TSM-Ansatzes beschrieben und das hierarchische Zeichenverfahren von Sugiyama (Sugiyama-Verfahren) vorgestellt. Im dritten Kapitel werden die oben genannten Nebenbedingungen ana- lysiert und ein Uberblick¨ ¨uber bereits bestehende verwandte theoretische und praktische Arbeiten gegeben. Nach der Vorstellung der verschiede- nen Nebenbedingungen werden die Probleme, die durch deren gleichzeitige Verwendung entstehen k¨onnen, betrachtet. Außerdem wird ein Uberblick¨ ¨uber die einzelnen Schritte des neuen Zeichenverfahrens gegeben und dessen Schnittstelle beschrieben. Im vierten Kapitel wird das neue Planarisierungsverfahren eingef¨uhrt, welches die f¨unf Nebenbedingungen einbindet. Dabei wird auch eine beson- ders effiziente Implementierung des Sugiyama-Verfahrens vorgestellt, welche vii den existierenden Implementierungen bez¨uglich der Laufzeit und des Spei- cherverbrauchs weit ¨uberlegen ist. Die entwickelte Planarisierungsphase ver- wendet diese Implementierung in einem Zwischenschritt. In Kapitel f¨unf wird ein Orthogonalisierungsverfahren vorgestellt, wel- ches die Nebenbedingungen ber¨ucksichtigt. Die Orthogonalisierung basiert auf dem bekannten Kandinsky“-Verfahren und dessen Erweiterungen, wel- ” che das Vorgeben von Kantenknicken und Winkeln zwischen Kanten erm¨og- lichen. Es wird aufgezeigt, wie die verschiedenen Nebenbedingungen mithilfe dieser Erweiterungen realisiert werden k¨onnen. Im sechsten Kapitel werden alternative Planarisierungs- und Orthogonal- isierungsverfahren f¨ur die Modellierung von Nebenbedingungen, welche die m¨oglichen Anschlusspunkte der Kanten an Knoten einschr¨anken, beschrie- ben. Dabei wird auch ein orthogonales Zeichenverfahren vorgestellt, welches nicht auf dem TSM-Ansatz, sondern einer anderen Methode beruht. Die Tauglichkeit der in dieser Arbeit vorgestellten Algorithmen und Methoden wird im siebten Kapitel demonstriert. Zuerst wird das neue Verfahren zum Zeichnen von UML-Aktivit¨atsdiagrammen eingesetzt. Dazu werden die entsprechenden Anforderungen ermittelt, ein Uberblick¨ ¨uber bestehende verwandte Arbeiten gegeben und die Resultate der in bekannten UML-Werkzeugen verwendeten Zeichenverfahren untersucht. Die Qualit¨at des Verfahrens wird anhand verschiedener Beispieldiagramme belegt. Im zweiten Teil des Kapitels wird eine Visualisierungsmethode f¨ur Ausf¨uhrungs- graphen von parallelen Programmabl¨aufen pr¨asentiert. Diese Methode ba- siert auf der schnellen Implementierung des Sugiyama-Verfahrens. Wieder werden die entsprechenden Anforderungen ermittelt und verwandte Arbeiten auf diesem Gebiet vorgestellt. Die Visualisierungsmethode wird mittels einer repr¨asentativen Beispielsanwendung veranschaulicht. Das Kapitel wird mit einer experimentellen Untersuchung abgeschlossen, welche die Qualit¨at und die Laufzeit der vorgestellten Algorithmen analysiert. Die Arbeit endet mit einer Zusammenfassung der wichtigsten Ergebnisse und einem Ausblick ¨uber m¨ogliche Weiterentwicklungen. viii Contents 1 Introduction 1 2 Basics of Graph Drawing 7 2.1 BasicTermsandConcepts. 7 2.1.1 Graphs .......................... 7 2.1.2 Drawings and Planarity . 9 2.2 RequirementsofDrawings . 11 2.2.1 Drawing Conventions . 12 2.2.2 Drawing Aesthetics . 12 2.2.3 Drawing Constraints . 13 2.3 The Topology-Shape-Metrics (TSM) Approach . 14 2.3.1 Planarization . 15 2.3.2 Orthogonalization . 19 2.3.3 Compaction........................ 23 2.4 Sugiyama’sApproach . 25 2.4.1 CycleRemoval ...................... 27 2.4.2 Layer Assignment and Normalization . 29 2.4.3 CrossingReduction. 30 2.4.4 Horizontal Coordinate Assignment . 31 3 Orthogonal Graph Drawing with Constraints 35 3.1 DrawingConstraints . 35 3.1.1 Bimodal Drawings (BIMODAL) . 35 3.1.2 (Mixed)