Surveys, Collections, Handbooks, Etc

Surveys, Collections, Handbooks, Etc

Graph Layout Support for Model-Driven Engineering Dipl.-Inf. Miro Spönemann Dissertation zur Erlangung des akademischen Grades Doktor der Ingenieurwissenschaften (Dr.-Ing.) der Technischen Fakultät der Christian-Albrechts-Universität zu Kiel eingereicht im Jahr 2014 Kiel Computer Science Series (KCSS) 2015/2 v1.0 dated 2015-3-13 ISSN 2193-6781 (print version) ISSN 2194-6639 (electronic version) Electronic version, updates, errata available via https://www.informatik.uni-kiel.de/kcss Published by the Department of Computer Science, Kiel University Real-Time and Embedded Systems Group Please cite as: Ź Miro Spönemann. Graph layout support for model-driven engineering. Number 2015/2 in Kiel Computer Science Series. Dissertation, Faculty of Engineering, Christian-Albrechts- Universität zu Kiel, 2015. @book{Spoenemann15, author = {Miro Sp{\"o}nemann}, title = {Graph layout support for model-driven engineering}, publisher = {Department of Computer Science}, year = {2015}, isbn = {9783734772689}, series = {Kiel Computer Science Series}, number = {2015/2}, note = {Dissertation, Faculty of Engineering, Christian-Albrechts-Universit\"at zu Kiel} } © 2015 by Miro Spönemann Herstellung und Verlag: BoD – Books on Demand, Norderstedt ISBN 978-3-7347-7268-9 ii About this Series The Kiel Computer Science Series (KCSS) covers dissertations, habilitation theses, lecture notes, textbooks, surveys, collections, handbooks, etc. written at the Department of Computer Science at Kiel University. It was initiated in 2011 to support authors in the dissemination of their work in electronic and printed form, without restricting their rights to their work. The series provides a unified appearance and aims at high-quality typography. The KCSS is an open access series; all series titles are electronically available free of charge at the department’s website. In addition, authors are encouraged to make printed copies available at a reasonable price, typically with a print-on-demand service. Please visit http://www.informatik.uni-kiel.de/kcss for more information, for instructions how to publish in the KCSS, and for access to all existing publications. iii 1. Gutachter: Prof. Dr. Reinhard von Hanxleden Institut für Informatik Christian-Albrechts-Universität zu Kiel 2. Gutachter: Prof. Dr. Petra Mutzel Fakultät für Informatik Technische Universität Dortmund 3. Gutachter: Prof. Dr. Wilhelm Hasselbring Institut für Informatik Christian-Albrechts-Universität zu Kiel Datum der mündlichen Prüfung: 9. Februar 2015 iv Zusammenfassung Wie bereits von Fuhrmann gezeigt [Fuh11], kann die Produktivität modell- getriebener Softwareentwicklung durch zahlreiche Konzepte zur Verbesse- rung der praktischen Handhabung von Modellen erhöht werden. Dabei ist das automatische Layout graphenbasierter Modelle ein zentraler Schlüssel. Allerdings gibt es einen bemerkenswerten Kontrast zwischen der Fülle an Forschungsergebnissen im Bereich des Graphen-Layout und dem aktuellen Stand graphischer Modellierungswerkzeuge, bei denen nur ein kleiner Teil dieser Ergebnisse übernommen wird. Das Ziel dieser Arbeit ist diese Lücke auf drei separaten Ebenen zu überbrücken: spezialisierte Layout-Algorith- men, Verwaltung von Konfigurationen und Software-Infrastruktur. Im Bezug auf Layout-Algorithmen liegt der Schwerpunkt auf dem Layer- basierten Ansatz. Wir untersuchen dessen Erweiterung zur Unterstützung von Ports und Hyperkanten, was wesentliche Bestandteile bestimmter Ar- ten von Graphen sind, z. B. Datenflussmodelle. Der Hauptbeitrag ist die Einbeziehung von Bedingungen für die Positionierung von Ports, vor al- lem während der Kreuzungsminimierung und der Kantenführungsphase. Hyperkanten werden durch normale Kanten repräsentiert, was deren Verar- beitung vereinfacht aber Ungenauigkeiten beim Zählen von Kreuzungen verursacht. Als letzte Erweiterung betrachten wir einen Sketch-basierten Ansatz für die einfache Integration von Nutzerinteraktivität. Ein abstraktes Layout ist die Auswahl eines Layout-Algorithmus zusam- men mit einer Abbildung seiner Parameter auf konkrete Werte, während ein konkretes Layout Positionsdaten beschreibt, die von einem Algorithmus berechnet wurden. Wir diskutieren ein neues Metamodell, mit dem sowohl die Struktur als auch das abstrakte sowie das konkrete Layout eines Gra- phen spezifiziert werden kann. Dies bildet eine Grundlage für die effiziente Verwaltung von Layout-Konfigurationen. Zudem untersuchen wir einen evolutionären Algorithmus für die Suche im Lösungsraum abstrakter Lay- outs, wobei zur Bewertung von Lösungen Ästhetikkriterien ausgewertet werden. v Die in dieser Arbeit entwickelte Software-Infrastruktur hat als Ziel, beliebige Graphen-basierte Diagramme (front-ends) mit beliebigen Layout- Algorithmen (back-ends) zu verbinden. Die größte Herausforderung dabei ist das Finden geeigneter Abstraktionen, die eine solche Allgemeingültigkeit erlauben und gleichzeitig die Komplexität so niedrig wie möglich halten. Wir betrachten eine mögliche Realisierung, die auf Eclipse basiert, eine von vielen Modellierungswerkzeugen verwendete Plattform. Eine Web-basierte Umfrage wurde unter Nutzern der Layout-Infrastruktur durchgeführt, um zu untersuchen inwieweit die gesteckten Ziele erfüllt worden sind. Die allgemeine Resonanz zu dieser Umfrage ist sehr positiv. vi Abstract As shown previously by Fuhrmann [Fuh11], there are several concepts for increasing the productivity of model-driven engineering by improving the practical handling of models. The automatic layout of graph-based models is a key enabler in this context. However, there is a striking contrast between the abundance of research results in the field of graph layout methods and the current state of graphical modeling tools, where only a tiny fraction of these results are ever adopted. This thesis aims to bridge this gap on three separate levels: specialized layout algorithms, configuration management, and software infrastructure. Regarding layout algorithms, here we focus on the layer-based approach. We examine its extension to include ports and hyperedges, which are essential features of certain kinds of graphs, e. g. data flow models. The main contribution is the handling of constraints on the positioning of ports, which is done mainly in the crossing minimization and edge routing phases. Hyperedges are represented with normal edges, simplifying their handling but introducing inaccuracies for counting crossings. A final extension discussed here is a sketch-driven approach for simple integration of user interactivity. An abstract layout is the selection of a layout algorithm with a mapping of its parameters to specific values. We discuss a new meta model allowing to specify the structure of a graph as well as its abstract layout and its concrete layout, i. e. positioning data computed by the layout algorithm. This forms a basis for efficient management of layout configurations. Furthermore, we investigate an evolutionary algorithm for searching the solution space of abstract layouts, taking readability criteria into account for evaluating solutions. The software infrastructure developed here targets the connection of arbitrary diagram viewers (front-ends) with arbitrary graph layout algo- rithms (back-ends). The main challenge is to find suitable abstractions that vii allow such generality and at the same time keep the complexity as low as possible. We discuss a possible realization based on the Eclipse plat- form, which is used by several modeling tools, e. g. the Graphical Modeling Framework (GMF). A web-based survey has been conducted among users of the layout infrastructure in order to evaluate to what extent the stated goals have been met. The overall feedback collected from this survey is very positive. viii Contents 1 Introduction1 1.1 Contributions of This Thesis....................4 1.1.1 Publications.........................6 1.2 Modeling Languages........................ 11 1.2.1 Data Flow Languages................... 12 1.2.2 Control Flow Languages.................. 12 1.2.3 Static Structure Languages................ 15 1.3 Definitions.............................. 16 1.3.1 Graphs............................ 16 1.3.2 Graph Layout........................ 18 1.3.3 Statistics........................... 19 1.4 Graph Layout Methods....................... 22 1.4.1 Planarization-Based Layout................ 22 1.4.2 Force-Based Layout..................... 27 1.4.3 Tree and Circular Layout................. 28 1.5 The KIELER Project......................... 29 1.6 Related Work............................ 30 I Layout Algorithms 37 2 The Layer-Based Approach 39 2.1 Base Algorithms........................... 40 2.1.1 Elimination of Cycles................... 40 2.1.2 Layer Assignment..................... 41 2.1.3 Crossing Minimization................... 44 2.1.4 Node Placement...................... 46 2.1.5 Edge Routing........................ 47 2.2 Port Constraints........................... 48 2.2.1 Handling Constraint Levels................ 49 2.2.2 Crossing Minimization................... 52 ix Contents 2.2.3 Edge Routing........................ 59 2.2.4 Evaluation.......................... 66 2.3 Hyperedges............................. 75 2.3.1 General Representation.................. 75 2.3.2 Junction Points....................... 79 2.3.3 Counting Crossings.................... 81 2.3.4 Evaluation.......................... 87 2.4 Interactive Layout.......................... 92 2.4.1 Layer-Based Sketch-Driven Layout............ 93 2.4.2 Evaluation.......................... 97 3 Meta Layout 103 3.1 A Generic Layout Interface...................

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    312 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us