GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Slides:



Advertisements
Ähnliche Präsentationen
Business Engineering Philipp Osl, Alexander Schmidt
Advertisements

8. Termin Teil B: Wiederholung Begriffe Baum
Grundlagen der Systemtheorie
Programmierung 1 - Repetitorium WS 2002/2003 Programmierung 1 - Repetitorium Andreas Augustin und Marc Wagner Homepage:
Inhalt Saarbrücken,.
Statistische Aspekte der PSG
7.2 B-Bäume / B*-Bäume als Hilfsmittel zur Indexorganisation
Datenmodellierung Externe Phase Informationsstruktur
DTD XML-Technik Dino Azzano. Definition Document Type Definition Beschreibung der Regeln zum Aufbau aller XML-Dokumente, die zu einer Dokumentklasse.
Anmerkungen zu XML Im September 2000 Entwicklung/Anspruch von XML
7. Natürliche Binärbäume
R. Der - Vorlesung Algorithmen und Datenstrukturen (Magister)
Die 1-Baum-Relaxation des TSP mit der Subgradientenmethode
Kapitel 4 Datenstrukturen
Christian A. Kopf Institut für Informatik FU Berlin Episode Recognizer Framework - Rahmenwerk zur Episodenerkennung.
Ziele der Analyse sozialer Netzwerke in den Sozialwissenschaften
Manfred Thaller, Universität zu Köln Köln 22. Januar 2009
FH-Hof Extensible Markup Language Richard Göbel. FH-Hof Extensible Markup Language XML XML ist universeller Ansatz für die Strukturierung von Zeichenketten.
DOM (Document Object Model)
Vorlesung Informatik 2 Algorithmen und Datenstrukturen (17 – Bäume: Grundlagen und natürliche Suchbäume) Prof. Th. Ottmann.
Algorithmen und Datenstrukturen
XML-Schema HKI Proseminar Wintersemester 2010/11 Dozentin: Frau Kurz von Jan Kohl und Christian Lütticke.
Ressource Description Language
Kapitel 5 Stetigkeit.
Modularization of XHTML™
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Vorlesung 2 SWS WS 99/00 Gisbert Dittrich FBI Unido
Einführung XML XML Einführung Andreas Leicht.
Geoinformation III Vorlesung 13b XML-Schema.
Rigi und Web2Rsf vorgestellt von Tobias Weigand. Inhalt Ziel von Web2Rsf und Rigi Vorstellung des Parsers Web2Rsf Vorstellung des Werkzeugs Rigi Analyse.
Explizite und editierbare Metainformationen für Software Muster.
Minimum Spanning Tree: MST
RDF-Schema Seminar: „Semantic Web“ André Rosin,
1 Grundlagen und Anwendung der Extensible Markup Language (XML ) Peter Buxmann Institut für Wirtschaftsinformatik Johann Wolfgang Goethe-Universität Frankfurt.
Was versteht man unter XML Schema?
Wissenschaftliche Übung Metadatenformate und -standards
Folie 1 Reengineering-Werkzeugen für Webseiten Johannes Martin, University of Victoria Ludger Martin, Technische Universität Darmstadt WSR 2001 Bad Honnef,
1 Dienstbeschreibung mit DAML Ein graphischer Editor für DAML - Ting Zheng Betreuer: Michael Klein, Philipp Obreiter.
1 Zwischenstandsbericht III Olaf Watteroth Computer Systems and Telematics Institute of Computer Science Freie Universität Berlin
Prof. Dr. Gerhard Schmidt pres. by H.-J. Steffens Software Engineering SS 2009Folie 1 Objektmodellierung Objekte und Klassen Ein Objekt ist ein Exemplar.
Letzter Tag Spaeter Zeitpunkt letzte Lied hoert man weiter.
Effiziente Algorithmen
Institut für Kartographie und Geoinformation Prof. Dr. Lutz Plümer Objektorientierte Konzepte/UML Geoinformation I Vorlesung 2 WS 2000/2001.
Effiziente Algorithmen
Effiziente Algorithmen
Hartmut Klauck Universität Frankfurt SS
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Sesame Florian Mayrhuber
Institut für Theoretische Informatik
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
UML-Kurzüberblick Peter Brusten.
Black Box Algorithmen Hartmut Klauck Universität Frankfurt SS
Beispiele von Objektkatalogen
XML (Extensible Markup Language)
Petrinetze 1. Einführung Informatik : wesentlich Modellierung von
Paul, Morten, Yannick Blue J. Entwicklungsumgebung  versteht Java Programmcode  Für die Entwicklung eigener Software  Durch die Programmierung.
Eike Schallehn, Martin Endig
Landkarten Landkarten sind Tesselationen mit folgenden Eigenschaften:
ER-Modell Attribute, Attributwerte (1|8) Attribut (a): Eigenschaft a = Name des Attributes E : Ein Entity-Typ E wird charakterisiert.
Analyse der Laufzeit von Algorithmen
Abbildung UML-Schema  Rel. Schema (1)
1 Attribute, Attributwerte (1) Attribut (a): Eigenschaft eines Entity mit Attributname a Zu jedem Attribut a gehört ein Wertebereich (Domain) dom(a) Zum.
Eine kurze Geschichte der Graphentheorie
1 6.4 Verwaltung semistrukturierter Daten - was ist das? Datenverwaltung für XML-Dokumente - Daten in XML-Gewand - eigentlich XML-Dokumente - Abbildung.
Seminar Modellgetriebene Softwareentwicklung XMI - XML Metadata Interchange Vortrag im Rahmen des Seminar Modellgetriebene Softwareentwicklung Mirko Otto.
- Studienarbeit - Entwurf und Umsetzung von kombinierten Anfragen für die Ähnlichkeitssuche auf digitalen Bilder auf der Basis von Regionen und Features.
Version vom Max-Flow in Orientierten Matroiden Winfried Hochstättler & Robert Nickel Fernuniversität in Hagen Lehrstuhl für Diskrete Mathematik.
Sichtbarkeit einschränken
Gliederung der Vorlesung
Einführung in die Informationsverarbeitung Teil Thaller Stunde V: Wege und warum man sie geht Graphen. Köln 14. Januar 2016.
Rechen- und Kommunikationszentrum (RZ) Selektionsstrategien auf Graphstrukturen Sven Porsche Seminarvorträge Aachen.
 Präsentation transkript:

GXL – Eine XML-Anwendung Martin Sievers

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

1. Begriffe & Notationen

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.

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

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

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

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

Beispiel (Hypergraph) E5E5 E2E2 E1E1 E4E4 E6E6 E3E3

2. Motivation & Entwicklung von GXL

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

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

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

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

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

Entwicklung von GXL (Schematisch) TAGraXPROGRES GXL GXL GXL 0.7 GXL 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

3. Austausch von Graphen mit GXL

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

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

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.

Beispiel (einfacher Graph)

GXL-Darstellung main.c test.c pvqwpq

GXL-Darstellung main.c test.c pvqwpq

GXL-Darstellung main.c test.c pvqwpq

GXL-Darstellung main.c test.c pvqwpq

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.

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

main max a b 8

main max a b 8

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

Beispiel (Hierarchischer Graph)

uvtw v

uvtw v

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

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

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

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)

Ü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

4. GXL in der Praxis / Implementierungen

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

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

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

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

Literatur / Quellen [1] C.Berge: Graphs and Hypergraphs. North-Holland, Amsterdam, 2.Edition, [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 [3] J.Ebert, K.Kontogiannis, J.Mylopoulos: Interoperbility of Reengineering Tools /, 2001.

Literatur / Quellen [4] A.Winter: Exchanging Graphs with GXL [5] model). [6] [7] gxl.the_basics/gxl_the_basics.htm.