Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Ähnliche Präsentationen


Präsentation zum Thema: "GXL – Eine XML-Anwendung Martin Sievers 27.06.2002."—  Präsentation transkript:

1 GXL – Eine XML-Anwendung Martin Sievers 27.06.2002

2 Inhalt Begriffe & Notationen Motivation & Entwicklung von GXL Austausch von Graphen mit GXL GXL in der Praxis; Implementierungen Fazit Ausblick

3 1. Begriffe & Notationen

4 Definition Digraph Seien V,E Mengen mit V nichtleer, endlich, E V x V. Dann heißt G:=(V,E) gerichteter Graph (Digraph) mit der Knotenmenge V und der Kantenmenge E.

5 Eigenschaften von Graphen Ein Graph G=(V,E) heißt ungerichtet (undirected), falls E aus zweielementigen Teilmengen von V besteht geordnet (ordered), falls auf V,E und der Menge der zu einem Knoten inzidenten Kanten eine totale Ordnung definiert ist typisiert (typed), falls V und E aus Objekten eines bestimmten Typs bestehen attribuiert (attributed), falls mindestens einem Graphobjekt ein Paar aus Attributbezeichnung und -wert zugeordnet ist

6 Definition Hypergraph Seien I Indexmenge, V Knotenmenge und :={E i : i I} Familie von Teilmengen (sog. Hyperkanten) von V. Dann heißt H:=(V, ) Hypergraph, falls i) i I : E i nicht leer ii) i I : E i = V

7 Eigenschaften von Hypergraphen Zwei Knoten u,v heißen adjazent, falls j I : {u,v} E j Zwei Kanten E 1,E 2 heißen adjazent, falls E 1 E 2 nichtleer Die Zahl r := r(V) := max {|V E i | : i I } heißt Rang von H und gibt an, wieviele Knoten eine Kante in H maximal verbindet. Wir nennen H auch Hypergraph r-ten Grades

8 Bemerkungen zu Hypergraphen 1.Jeder Graph ist ein Hypergraph zweiten Grades 2.Falls die E i disjunkt sind, heißt H einfach (simple) 3.Hyperkanten werden durch Ellipsen, die die zugehörigen Kanten umschließen, dargestellt

9 Beispiel (Hypergraph) 1 8 5 4 3 7 6 2 E5E5 E2E2 E1E1 E4E4 E6E6 E3E3

10 2. Motivation & Entwicklung von GXL

11 Motivation von GXL Vielseitigkeit von Graphen führte zu verschiedenen Graph-Formaten in der Praxis Probleme beim Zusammenspiel von Softwarekomponenten Austausch schwierig, Nutzung von Konvertern nötig Notwendigkeit eines universellen Graph-Formats

12 Fakten G raph e X change L anguage XML - Untersprache 1998 unter Leitung von Andreas Winter an der Uni Koblenz entwickelt Aktuelle Version: GXL 1.0 (Januar 2001) Informationen unter http://www.gupro.de/GXL/

13 Entwicklung von GXL (1. Phase) Grundformate GraX TA PROGRES

14 Entwicklung von GXL (2. Phase) Grundformate Formate des Reengineering GraXATerms TARPA PROGRESRSF

15 Entwicklung von GXL (3. Phase) Grundformate Formate des Reengineering Formate des Graphzeichnens GraXATermsdaVinci TARPAGML PROGRESRSFGraphlet GRL XGMML GraphXML

16 Entwicklung von GXL (Schematisch) TAGraXPROGRES GXL 0.4.2 GXL 0.6.6 GXL 0.7 GXL 0.7.2 GXL 1.0 da Vinci GML Graphlet GML XGMML RPA RSF ATerms Barcelona Berlin Budapest Kent GraphXML WCRE 1999 AlGra 2000 GROOM 2000 WoSEF 2000 Graph Drawing workshop on data exchange formats (GD 2000) CASCON 2000 WCRE 2000 Dagstuhl 2001 Interoperability of Reengineering Tools Quelle: [1], Abb. 1

17 3. Austausch von Graphen mit GXL

18 Austausch von Graphen Betrachtung typisierter, attribuierter, gerichteter, geordneter Graphen (sog. TGraphs) Zur Verarbeitung von Hyper- bzw. hierarchischer Graphen Erweiterungen um Hyperkanten sowie hierarchische Strukturen nötig

19 Grundlagen für den Austausch von Graphen per GXL GXL-Dokumente werden stets von umschlossen; jeder im Dokument definierte Graph von jedem Graph muß eindeutiger Name zugewiesen werden zu jedem Graph gehört Graph-Schema Knoten und Kanten werden mit bzw. und optionalem eindeutigen Namen gekennzeichnet

20 Innerhalb von bzw. werden durch 1.from und to zu einer Kante inzidente Knoten 2.fromorder und toorder die Ordnung der Kanten 3. der aus dem Graph-Schema bekannte Typ für Knoten und Kanten 4. zugehörige evtl. verschachtelte Attribute des Typs,,, u.a. angegeben.

21 Beispiel (einfacher Graph)

22 GXL-Darstellung main.c test.c 225 316 127 27 42 pvqwpq

23 GXL-Darstellung main.c test.c 225 316 127 27 42 pvqwpq

24 GXL-Darstellung main.c test.c 225 316 127 27 42 pvqwpq

25 GXL-Darstellung main.c test.c 225 316 127 27 42 pvqwpq

26 Austausch von Hypergraphen per GXL Betrachtung typisierter, attribuierter, (un-)gerichteter, geordneter Hypergraphen Notwendigkeit zusätzlicher Tags im GXL-Dokument jede Hyperkante wird durch definiert und evtl. durch und näher erklärt die durch eine Hyperkante verbundenen Knoten werden über angegeben und durch target, role, startorder, endorder, isdirected, direction genauer spezifiziert.

27 Beispiel (Hypergraph) a = max(a,b)

28 main max a b 8

29 main max a b 8

30 Austausch hierarchischer Graphen Problem: Große Graphen führen schnell zu unübersichtlichen Strukturen Lösung: Zusammenfassung zusammengehöriger Objekte zu eigenständigen Strukturen Umsetzung in GXL durch Verschachtelung von - Elementen

31 Beispiel (Hierarchischer Graph)

32 uvtw v

33 uvtw v

34 Weitere Aspekte Graphmodell von GXL als XML-DTD Übersetzung manuell durchgeführt nur 18 XML Elemente notwendig

35 Graph-Schemata Graphen stellen Strukturen zur Beschreibung von Objekten (Knoten) und Zusammenhänge (Hyperkanten) bereit Graphen haben keine eigene Bedeutung Interpretation eines Graphen durch Betrachtung der dahinterliegenden Anwendung

36 Anwendung entscheidet über Knoten, Kanten, Hyperkanten Beziehungen zwischen Graphobjekten Attributstrukturen Graphhierachien weitere Bedingungen wie Inzidenzordnung, Gradbeschränkung etc.

37 Darstellung von Graph-Schemata Schematische Daten werden durch UML-Klassen- Diagramme dargestellt UML-Klassen-Diagramme können ebenfalls als Graphen dargestellt werden Konkrete Graphen und Schemata können im selben Dokument beschrieben werden (dies entspricht nicht dem XMI-Ansatz)

38 Überblick UML-Klassen-Diagramm UML-Objekt-Diagramm GXL Graph GXL- Metaschema GXL-Schema Graph-Klasse Zur Darstellung von Schema-Graphen ist Instanz von wird repräsentiert durch dargestellt alsvisualisiert als ist Instanz von definiert repräsentiert als Nach: [7], Seite 2. nutzt

39 4. GXL in der Praxis / Implementierungen

40 GXL in der Praxis GXL bzw. seine direkten Vorgänger wurden schon zur Analyse einiger prominenter Anwendungen benutzt GCC C++ Compiler (1.000.000 LOC) Linux Kernel (7.000.000 LOC) Netscape Navigator

41 Implementierungen Implementierungen zwar angekündigt, jedoch bisher nicht ausreichend umgesetzt Einzelne (studentische) Projekte Stillstand?

42 Fazit GXL ist akzeptiertes Graph-Austauschformat bietet flexibles, erweiterbares Graphformat ist einfach zu benutzen; intuitiv wird durch Forschung und Wirtschaft unterstützt ist (noch) nicht ausreichend implementiert

43 Ausblick GXL wird (hoffentlich) immer stärker auch bei bestehenden Softwarepaketen berücksichtigt GXL ist Grundlage für weitere Graph-Austauschformate GXL wird das Zusammenwirken einzelner Softwarekomponenten stark vereinfachen

44 Literatur / Quellen [1] C.Berge: Graphs and Hypergraphs. North-Holland, Amsterdam, 2.Edition, 1976. [2] J.Ebert, A.Franzke. A Declarative Approach to Graph Based Modelling. In: E.Mayr et al. (Hrsg.). Graphtheoretic Concepts in Computer Science, LNCS 903. Springer, Berlin, S. 38 - 50. 1995. [3] J.Ebert, K.Kontogiannis, J.Mylopoulos: Interoperbility of Reengineering Tools. http://www.dagstuhl.de/DATA/Reports/ 01041/, 2001.

45 Literatur / Quellen [4] A.Winter: Exchanging Graphs with GXL. http://www.gupro.de/GXL, 2001. [5] http://www.gupro.de/GXL/(graph model). [6] http://www.gupro.de/GXL/(DTD). [7] http://ist.unibw-muenchen.de/GXL/volk/ gxl.the_basics/gxl_the_basics.htm.


Herunterladen ppt "GXL – Eine XML-Anwendung Martin Sievers 27.06.2002."

Ähnliche Präsentationen


Google-Anzeigen