Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006 Seminar Graphenlayoutalgorithmen Folie 1 von 58 Visualisierung von UML-Diagrammen.

Ähnliche Präsentationen


Präsentation zum Thema: "Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006 Seminar Graphenlayoutalgorithmen Folie 1 von 58 Visualisierung von UML-Diagrammen."—  Präsentation transkript:

1 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006 Seminar Graphenlayoutalgorithmen Folie 1 von 58 Visualisierung von UML-Diagrammen Christian M. Meyer

2 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 2 von 58 A New Approach for Visualizing UML Class Diagrams Einleitung Vorstellung des GoVisual-Algorithmus Artikel von Gutwenger, Jünger, Klein, Kupke, Leipert und Mutzel: Visualisierung von UML-Diagrammen » Einleitung

3 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 3 von 58 Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links Visualisierung von UML-Diagrammen » Agenda Agenda

4 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 4 von 58 Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links Visualisierung von UML-Diagrammen » Agenda Agenda

5 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 5 von 58 Graph Graph G = (V, E) mit V Knotenmenge E Kantenmenge Visualisierung von UML-Diagrammen » Grundlagen » Graphen gerichteter Graphungerichteter Graph

6 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 6 von 58 Einbettung, Planarität Einbettung: Darstellung eines Graphen in der Ebene Knoten sind Punkte Kanten sind Verbindungslinien Planar: Der Graph kann ohne Kreuzungen in der Ebene eingebettet werden Visualisierung von UML-Diagrammen » Grundlagen » Graphen

7 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 7 von 58 UML = Unified Modeling Language Modellierungssprache für Software Standardisiert von der OMG (Object Management Group) Visualisierung von UML-Diagrammen » Grundlagen » UML UML

8 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 8 von 58 Visualisierung von UML-Diagrammen » Grundlagen » UML Booch: OOAD Rumbaugh: OMT Unified Method 0.8 Jacobsen: OOSE Coad/Yourdan: OOA/OOD Hewlett PackardMicrosoft Oracle Unified Modeling Language 0.9 Unified Modeling Language 2.0 Unified Modeling Language 1.0 und 1.1 (von der OMG zum Standard erklärt) Entwicklung der UML

9 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 9 von 58 Abstrakter als Programmiersprache Einheitliche Beschreibungen im Projekt Sprachenunabhängig Verschiedene Sichten: statisch, dynamisch Verständigung zwischen Entwicklern, Architekten, Designer, Auftraggeber,… Dokumentation Visualisierung von UML-Diagrammen » Grundlagen » UML Warum UML?

10 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 10 von 58 Graphische Interpretation der Modelle: Visualisierung von UML-Diagrammen » Grundlagen » UML Use-Case-DiagrammKlassendiagrammInteraktionsdiagrammZustandsdiagramm SequenzdiagrammDeploymentdiagrammKomponentendiagramm Timingdiagramm Diagramme

11 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 11 von 58 Beliebtestes Diagramm Statische Struktur der Software Klassen Beziehungen Visualisierung von UML-Diagrammen » Grundlagen » UML Klassendiagramm

12 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 12 von 58 Datentyp Attribute und Methoden Visualisierung von UML-Diagrammen » Grundlagen » UML ClassName –privateOperation() #protectedOperation() +publicOperation() – attribute1: Type –attribute2: Type Klassenname Attribute Methoden Modifier – private # protected + public Klassen

13 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 13 von 58 Generalisierung Attribute und Methoden werden geerbt Visualisierung von UML-Diagrammen » Grundlagen » UML SuperClass SubClass Oberklasse Subklasse, Kindklasse Generalisierung, Vererbung Beziehungen (1)

14 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 14 von 58 Assoziation Beziehung zwischen 2 oder mehr Typen Navigierbarkeit, Multiplizität Einfache Assoziation: Aggregation: Komposition: Visualisierung von UML-Diagrammen » Grundlagen » UML Class1Class2Class1Class2Class1Class3 Beziehungen (2)

15 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 15 von 58 Klassendiagramm als Graph Generalisierungen sind gerichtet Assoziationsrichtung für automatische Layoutalgorithmen unwichtig Daher: semi-gerichteter Graph G = (V, A, E) mit V Klassenmenge A Gerichtete Generalisierungskanten E Ungerichtete Assoziationskanten Visualisierung von UML-Diagrammen » Grundlagen » UML

16 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 16 von 58 Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links Visualisierung von UML-Diagrammen » Agenda Agenda

17 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 17 von 58 UML-Diagramme sind groß Layout von Hand ist aufwändig Automatisches Layout für MDA notwendig Viele Tools für automatisches Graphenlayout Anbindung an führende Case-Tools: Rational Rose Together Microsoft Visio Visualisierung von UML-Diagrammen » Motivation Motivation (1)

18 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 18 von 58 Aber: Tools haben viele Nachteile Hierarchische Vererbungsstrukturen werden nicht behandelt Übersicht ist oft unzureichend Ästhetische Mängel Spezielle Algorithmen für UML-Diagramme sinnvoll Visualisierung von UML-Diagrammen » Motivation Motivation (2)

19 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 19 von 58 Visualisierung von UML-Diagrammen » Probleme Viele Kreuzungen Unnötige Knicke Nicht orthogonal Einzelne Vererbungspfeile Überlappung Assoziation-Klasse Probleme (1)

20 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 20 von 58 Visualisierung von UML-Diagrammen » Probleme Richtung der Vererbungspfeile Fehlende Hierarchie Probleme (2)

21 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 21 von 58 Visualisierung von UML-Diagrammen » Probleme Verschachtelte Hierarchien Probleme (3)

22 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 22 von 58 Kriterien für ästhetische UML-Diagramme: Minimale Kreuzungen Minimale Knicke Einheitliche Richtung in Hierarchien Keine verschachtelten Hierarchien Beziehungen je nach Semantik betrachten Orthogonales Layout Kombinierte Vererbungspfeile Gut lesbare Kantenbeschriftungen Visualisierung von UML-Diagrammen » Ziele Ziele

23 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 23 von 58 Visualisierung von UML-Diagrammen » Ziele Beispiel

24 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 24 von 58 Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links Visualisierung von UML-Diagrammen » Agenda Agenda

25 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 25 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

26 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 26 von 58 Generalisierungen sollen verbunden werden Dadurch ergeben sich u.U. neue Kreuzungen Bleiben bei Planarisierung unerkannt Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (1) v w1w1 w2w2 w3w3 v w1w1 w2w2 w3w3

27 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 27 von 58 Lösung: Zwischenknoten einfügen Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (2) v w1w1 w2w2 w3w3 v w1w1 w2w2 w3w3 dvdv

28 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 28 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Vorberechnung Vorberechnung (3) v w1w1 w2w2 w3w3 dvdv O(|V|)

29 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 29 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

30 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 30 von 58 Generalisierungen bilden Hierarchien Zusammenhängende Subgraphen von (V, A) Tiefensuche, O(|V|+|A|) Visualisierung von UML-Diagrammen » Algorithmus » Hierarchien Hierarchie

31 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 31 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

32 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 32 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Gleichgerichtete Graphen Alle Kanten zeigen in die gleiche Richtung SuperClass1 SuperClass2 Class1 SubClass Class2 Class3

33 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 33 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Gleichgerichtete Graphen Alle Kanten zeigen in die gleiche Richtung SuperClass1 SuperClass2 Class1 SubClass Class2 Class3 SuperClass1 SuperClass2 Class2Class3Class1 SubClass

34 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 34 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Hierarchien gleichrichten Hierarchien werden gleichgerichtet bessere Übersicht Hierarchien sofort erkennbar

35 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 35 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Planarisieren Planare gleichgerichtete Einbettung finden Aber: Nicht immer möglich Planar, aber nicht gleichgerichtet planar

36 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 36 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Gleichrichten und Planarisieren Algorithmen G ist gleichgerichtet planar und G hat genau eine Senke: Algorithmus von Bertolazzi (1998) O(|V H |), Algorithmus gibt Einbettung zurück Mehrere Senken: Supersenke verwenden sonst: NP -schwer, Kreuzungen durch Dummy- Knoten ersetzen, Algorithmen von Sugiyama oder Eades/Kelly,…

37 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 37 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

38 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 38 von 58 Quelle: Knoten s, nur ausgehende Kanten Senke: Knoten t, nur eingehende Kanten ST-Graph: Graph mit genau einer Quelle s, einer Senke t und einer Kante (s, t) Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph ST-Graph (1) s t

39 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 39 von 58 Graph mit mehreren Quellen/Senken kann in ST-Graph umgewandelt werden: Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph ST-Graph (2) SuperClass1SuperClass2 Class SubClass1SubClass2 Class SubClass1SubClass2 Sink SuperClass1SuperClass2 Source

40 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 40 von 58 Visualisierung von UML-Diagrammen » Algorithmus » ST-Graph ST-Graph (3) Class SubClass1SubClass2 Sink SuperClass1SuperClass2 Source O(|V|)

41 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 41 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

42 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 42 von 58 Assoziationen innerhalb der Hierarchie H einfügen, Beispiel Composite-Pattern: Kantenmenge: {(u, v) E | u V H v V H } Algorithmen von Battista oder Gutwenger Visualisierung von UML-Diagrammen » Algorithmus » Assoziationen einfügen Assoziationen einfügen LeafComposite Component Source LeafComposite Component Source

43 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 43 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

44 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 44 von 58 Cluster-Graph: C = (G, T) mit G = (V, E) Graph und T = (V T, E T ) gerichteter Baum Cluster: C(v) = (G(v), T(v)) T definiert Inklusionsrelation auf G Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Graph v1v1 v2v2 v3v3 v4v4 v5v5 v6v6 v1v1 v2v2 v3v3 v6v6 v5v5 v4v4 c4c4 c3c3 c2c2 c1c1 T G

45 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 45 von 58 Jede Vererbungshierarchie H bildet Cluster Gleichgerichtet planare Einbettung in P H vorhanden Gesucht: Planare Einbettung des gesamten Graphen, Cluster sollen beachtet werden Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Clusterhierarchien

46 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 46 von 58 Facette: Flächen, die von Kanten eingeschlossen werden Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Facetten v1v1 v4v4 v2v2 v3v3 v7v7 v6v6 v5v5 äußere Facette innere Facette

47 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 47 von 58 Wheel-Graph: Äußere Knoten bilden einen Kreis, Zentrum c ist mit allen äußeren Knoten verbunden. Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Wheel-Graph v1v1 v4v4 v2v2 v3v3 c v5v5

48 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 48 von 58 Knoten der äußeren Facette von P H bilden den Kreis des Wheel-Graphen Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Wheel-Graph bilden v1v1 v4v4 v2v2 v3v3 c v5v5 c2c2 c1c1 v3v3 v4v4 v5v5 v2v2 v1v1

49 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 49 von 58 Assoziationen zu anderen Wheel-Graphen Planare Einbettung eines Subgraphen finden Außenknoten des Wheel-Graphen verändert Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Planarisierung v1v1 v4v4 v2v2 v3v3 c1c1 v5v5 u1u1 u2u2 u3u3 c2c2 v1v1 v4v4 v2v2 v3v3 c1c1 v5v5 u2u2 u1u1 u3u3 c2c2

50 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 50 von 58 Wheel-Graph gibt Eingangsreihenfolge vor: Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Eingänge v1v1 v4v4 v2v2 v3v3 c v5v5 v1v1 v4v4 v2v2 v5v5 c v3v3 v1v1 v3v3 v4v4 v2v2 v5v5 v1v1 v3v3 v4v4 v2v2 v5v5

51 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 51 von 58 Alle Wheel-Graphen durch die berechnete planare Einbettung der Hierarchien ersetzen Fehlende Kanten zwischen den Hierarchien einfügen (Battista) Dummy-Kanten und -Knoten entfernen Visualisierung von UML-Diagrammen » Algorithmus » Cluster-Graph erstellen Cluster-Graph erstellen v1v1 v4v4 v2v2 v3v3 c1c1 v5v5 u2u2 u1u1 u3u3 c2c2 c2c2 c1c1 v3v3 v4v4 v5v5 v2v2 v1v1

52 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 52 von 58 Visualisierung von UML-Diagrammen » Algorithmus » Übersicht Algorithmus

53 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 53 von 58 Knoten vom Grad 4 durch Cage ersetzen Knickminimierung nach Tamassia Verschiedene Nebenbedingungen linearer Zeitaufwand Fläche minimieren Constructive flow-based compaction nach Klau, Klein und Mutzel Visualisierung von UML-Diagrammen » Algorithmus » Orthogonalisieren Orthogonalisieren

54 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 54 von 58 Einleitung Grundlagen Motivation Ziele GoVisual Algorithmus Zusammenfassung Software und Links Visualisierung von UML-Diagrammen » Agenda Agenda

55 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 55 von 58 Visualisierung von UML-Diagrammen » Zusammenfassung Zusammenfassung Vorberechnung Hierarchien finden Gleichrichten und planarisieren ST-Graph erstellenAssoziationen einfügen Wheel-Graph bilden OrthogonalisierenPlanare Einbettung findenWheel-Graphen ersetzen

56 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 56 von 58 Visualisierung von UML-Diagrammen » Zusammenfassung Resultate Microsoft Visio Oreas GDE

57 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006Folie 57 von 58 GoVisual wird von oreas entwickelt Diagramm Editor frei erhältlich Bibliotheken & Plug-Ins für Case-Tools werden kommerziell vertrieben Visualisierung von UML-Diagrammen » Software und Links Software und Links

58 Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006 Seminar Graphenlayoutalgorithmen Folie 58 von 58 Vielen Dank für die Aufmerksamkeit Fragen zum Vortrag? Folien zum Download:


Herunterladen ppt "Seminar Graphenlayoutalgorithmen, Christian M. Meyer, 24. Juni und 1. Juli 2006 Seminar Graphenlayoutalgorithmen Folie 1 von 58 Visualisierung von UML-Diagrammen."

Ähnliche Präsentationen


Google-Anzeigen