Top Banner
GXL – Eine XML-Anwendung Martin Sievers 27.06.2002
45

GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Apr 05, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

GXL – Eine XML-Anwendung

Martin Sievers

27.06.2002

Page 2: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Inhalt

Begriffe & Notationen

Motivation & Entwicklung von GXL

Austausch von Graphen mit GXL

GXL in der Praxis; Implementierungen

Fazit

Ausblick

Page 3: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

1. Begriffe & Notationen

Page 4: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Definition Digraph

Seien V,E Mengen mit V nichtleer, endlich, E ⊂ VxV.

Dann heißt G:=(V,E) gerichteter Graph

(Digraph) mit der Knotenmenge V und der

Kantenmenge E.

Page 5: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 6: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Definition Hypergraph

Seien I Indexmenge, V Knotenmenge und ℰ :={Ei :

i ∈ I} Familie von Teilmengen (sog. Hyperkanten)

von V.

Dann heißt H:=(V,ℰ) Hypergraph, falls

i) ∀ i ∈ I : Ei nicht leer

ii) ∪ i ∈ I : Ei = V

Page 7: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Eigenschaften von Hypergraphen

Zwei Knoten u,v heißen adjazent, falls ∃ j ∈ I : {u,v} ⊂ Ej

Zwei Kanten E1,E2 heißen adjazent, falls E1 ∩ E2 nichtleer

Die Zahl r := r(V) := max {|V ∩ Ei| : 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

Page 8: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Bemerkungen zu Hypergraphen

1. Jeder Graph ist ein Hypergraph zweiten Grades

2. Falls die Ei disjunkt sind, heißt H einfach

(simple)

3. Hyperkanten werden durch Ellipsen, die die

zugehörigen Kanten umschließen, dargestellt

Page 9: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Beispiel (Hypergraph)

1

8

5

4

3

76

2E5

E2

E1E4

E6

E3

Page 10: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

2. Motivation & Entwicklung von

GXL

Page 11: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 12: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Fakten

Graph eXchange Language

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/

Page 13: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Entwicklung von GXL (1. Phase)

Grundformate

GraX

TA

PROGRES

Page 14: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Entwicklung von GXL (2. Phase)

Grundformate

Formate des Reengineerin

g

GraX ATerms

TA RPA

PROGRES RSF

Page 15: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Entwicklung von GXL (3. Phase)

Grundformate

Formate des Reengineerin

g

Formate des Graphzeichne

ns

GraX ATerms daVinci

TA RPA GML

PROGRES RSF Graphlet

GRL

XGMML

GraphXML

Page 16: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Entwicklung von GXL (Schematisch)TA GraX PROGRES

GXL 0.4.2

GXL 0.6.6

GXL 0.7

GXL 0.7.2

GXL 1.0

da VinciGML

GraphletGML

XGMML

RPARSF

ATerms

BarcelonaBerlin

BudapestKent

GraphXML

WCRE 1999AlGra 2000GROOM 2000

WoSEF 2000

Graph Drawing workshop on data exchange formats (GD 2000)

CASCON 2000WCRE 2000

Dagstuhl 2001„Interoperability of Reengineering Tools“Quelle: [1], Abb. 1

Page 17: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

3. Austausch von Graphen mit GXL

Page 18: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 19: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Grundlagen für den Austausch von Graphen per GXL

GXL-Dokumente werden stets von <gxl>

umschlossen; jeder im Dokument definierte Graph

von <graph>

jedem Graph muß eindeutiger Name zugewiesen

werden

zu jedem Graph gehört Graph-Schema

Knoten und Kanten werden mit <node> bzw. <edge>

und optionalem eindeutigen Namen gekennzeichnet

Page 20: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Innerhalb von <node> bzw. <edge> werden durch

1. from und to zu einer Kante inzidente Knoten

2. fromorder und toorder die Ordnung der Kanten

3. <type> der aus dem Graph-Schema bekannte

Typ für Knoten und Kanten

4. <attr> zugehörige evtl. verschachtelte Attribute

des Typs <int>, <bool>, <string>, <float> u.a.

angegeben.

Page 21: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Beispiel (einfacher Graph)

Page 22: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

GXL-Darstellung<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="simpleExample"><type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#

simpleExampleSchema"/>

      <node id="p">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>main.c</string>

         </attr>

      </node>

      <node id="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>test.c</string>

         </attr>

      </node>

      <node id="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var

"/>

         <attr name="line">

             <int>225</int>

         </attr>

      </node>

      

<node id="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var"/

>

         <attr name="line">

             <int>316</int>

         </attr>

      </node>

      <edge id="r1" from="p" to="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>127</int>

         </attr>

      </edge>

      <edge id="r2" from="q" to="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>27</int>

         </attr>

      </edge>

      <edge id="c" from="p" to="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#call"/

>

         <attr name="line">

             <int>42</int>

         </attr>

      </edge>

   </graph>

</gxl>

Page 23: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

GXL-Darstellung<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="simpleExample"><type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#

simpleExampleSchema"/>

      <node id="p">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>main.c</string>

         </attr>

      </node>

      <node id="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>test.c</string>

         </attr>

      </node>

      <node id="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var

"/>

         <attr name="line">

             <int>225</int>

         </attr>

      </node>

      

<node id="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var"/

>

         <attr name="line">

             <int>316</int>

         </attr>

      </node>

      <edge id="r1" from="p" to="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>127</int>

         </attr>

      </edge>

      <edge id="r2" from="q" to="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>27</int>

         </attr>

      </edge>

      <edge id="c" from="p" to="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#call"/

>

         <attr name="line">

             <int>42</int>

         </attr>

      </edge>

   </graph>

</gxl>

Page 24: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

GXL-Darstellung<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="simpleExample"><type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#

simpleExampleSchema"/>

      <node id="p">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>main.c</string>

         </attr>

      </node>

      <node id="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>test.c</string>

         </attr>

      </node>

      <node id="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var

"/>

         <attr name="line">

             <int>225</int>

         </attr>

      </node>

      

<node id="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var"/

>

         <attr name="line">

             <int>316</int>

         </attr>

      </node>

      <edge id="r1" from="p" to="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>127</int>

         </attr>

      </edge>

      <edge id="r2" from="q" to="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>27</int>

         </attr>

      </edge>

      <edge id="c" from="p" to="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#call"/

>

         <attr name="line">

             <int>42</int>

         </attr>

      </edge>

   </graph>

</gxl>

Page 25: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

GXL-Darstellung<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="simpleExample"><type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#

simpleExampleSchema"/>

      <node id="p">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>main.c</string>

         </attr>

      </node>

      <node id="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Pro

c"/>

         <attr name="file">

             <string>test.c</string>

         </attr>

      </node>

      <node id="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var

"/>

         <attr name="line">

             <int>225</int>

         </attr>

      </node>

      

<node id="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#Var"/

>

         <attr name="line">

             <int>316</int>

         </attr>

      </node>

      <edge id="r1" from="p" to="v">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>127</int>

         </attr>

      </edge>

      <edge id="r2" from="q" to="w">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#ref"/>

         <attr name="line">

             <int>27</int>

         </attr>

      </edge>

      <edge id="c" from="p" to="q">

         <type

xlink:href="../../schema/gxl/simpleExampleSchema.gxl#call"/

>

         <attr name="line">

             <int>42</int>

         </attr>

      </edge>

   </graph>

</gxl>

Page 26: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Austausch von Hypergraphen per GXL

Betrachtung typisierter, attribuierter,

(un-)gerichteter, geordneter Hypergraphen

⇒Notwendigkeit zusätzlicher Tags im GXL-Dokument

jede Hyperkante wird durch <rel> definiert und evtl.

durch <type> und <attr> näher erklärt

die durch eine Hyperkante verbundenen Knoten

werden über <relend> angegeben und durch

target, role, startorder, endorder,

isdirected, direction genauer spezifiziert.

Page 27: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Beispiel (Hypergraph)

a = max(a,b)

Page 28: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="hypergraph2"><type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#

hypergraph2Schema"/>

      <node id="v1">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Functi

on"/>

         <attr name="name">

             <string>main</string>

         </attr>

      </node>

      <node id="v4">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Functi

on"/>

         <attr name="name">

             <string>max</string>

         </attr>

      </node>

      <node id="v6">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Variabl

e"/>

         <attr name="name">

             <string>a</string>

         </attr>

      </node>

      

<node id="v7">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.g

xl# Variable"/>

         <attr name="name">

             <string>b</string>

         </attr>

      </node>

      <rel id="r1">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.g

xl# FunctionCall2"/>

         <attr name="line">

             <int>8</int>

         </attr>

         <relend target="v1" role="caller"/>

         <relend target="v4" role="callee"/>

         <relend target="v6" role="output"/>

         <relend target="v6" role="input"

startorder="1"/>

         <relend target="v7" role="input"

startorder="2"/>

      </rel>

   </graph>

</gxl>

Page 29: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="hypergraph2"><type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#

hypergraph2Schema"/>

      <node id="v1">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Functi

on"/>

         <attr name="name">

             <string>main</string>

         </attr>

      </node>

      <node id="v4">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Functi

on"/>

         <attr name="name">

             <string>max</string>

         </attr>

      </node>

      <node id="v6">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.gxl#Variabl

e"/>

         <attr name="name">

             <string>a</string>

         </attr>

      </node>

      

<node id="v7">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.g

xl# Variable"/>

         <attr name="name">

             <string>b</string>

         </attr>

      </node>

      <rel id="r1">

         <type

xlink:href="../../schema/gxl/hypergraph2Schema.g

xl# FunctionCall2"/>

         <attr name="line">

             <int>8</int>

         </attr>

         <relend target="v1" role="caller"/>

         <relend target="v4" role="callee"/>

         <relend target="v6" role="output"/>

         <relend target="v6" role="input"

startorder="1"/>

         <relend target="v7" role="input"

startorder="2"/>

      </rel>

   </graph>

</gxl>

Page 30: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

<graph>-Elementen

Page 31: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Beispiel (Hierarchischer Graph)

Page 32: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

               <edge id="e1" from="u" to="v">                  <type xlink:href="../../schema/gxl/ crossingSchema.gxl#E"/>               </edge>         </graph>      </node>      <node id="w">         <type xlink:href="../../schema/gxl/ crossingSchema.gxl#W"/>      </node>      <edge id="e2" from="t" to="w">         <type xlink:href="../../schema/gxl/

crossingSchema.gxl#f"/>      </edge>      <edge id="e3" from="w" to="v">         <type xlink:href="../../schema/

gxl/crossingSchema.gxl#g"/>      </edge>   </graph></gxl>

<?xml version="1.0"?><!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd"><gxl xmlns:xlink= "http://www.w3.org/1999/xlink">   <graph id="crossingHierarchies"> <type xlink:href="../../schema/gxl/ crossingSchema.gxl#crossingSchema"/>      <node id="t">         <type xlink:href="../../schema/gxl/ crossingSchema.gxl#T"/>    <graph id="graph2"><type xlink:href="../../schema/gxl/ crossingSchema.gxl#GraphT"/>         <node id="u">             <type xlink:href="../../ schema/gxl/ crossingSchema.gxl#U"/>         </node>         <node id="v">

<type xlink:href= "../../schema/ gxl/crossingSchema.gxl#V"/>         </node>                 

Page 33: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

               <edge id="e1" from="u" to="v">                  <type xlink:href="../../

schema/gxl/crossingSchema.gxl#E"/>               </edge>         </graph>      </node>      <node id="w">         <type xlink:href="../../schema/gxl/ crossingSchema.gxl#W"/>      </node>      <edge id="e2" from="t" to="w">         <type xlink:href="../../schema/gxl/

crossingSchema.gxl#f"/>      </edge>      <edge id="e3" from="w" to="v">         <type xlink:href="../../schema/

gxl/crossingSchema.gxl#g"/>      </edge>   </graph></gxl>

<?xml version="1.0"?><!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd"><gxl xmlns:xlink= "http://www.w3.org/1999/xlink">   <graph id="crossingHierarchies"> <type xlink:href="../../schema/gxl/ crossingSchema.gxl#crossingSchema"/>      <node id="t">         <type xlink:href="../../schema/gxl/ crossingSchema.gxl#T"/>    <graph id="graph2"><type xlink:href="../../schema/gxl/ crossingSchema.gxl#GraphT"/>         <node id="u">             <type xlink:href="../../ schema/gxl/ crossingSchema.gxl#U"/>         </node>         <node id="v">

<type xlink:href= "../../schema/ gxl/crossingSchema.gxl#V"/>         </node>                 

Page 34: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Weitere Aspekte

Graphmodell von GXL als XML-DTD

Übersetzung manuell durchgeführt

⇒nur 18 XML Elemente notwendig

Page 35: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 36: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Anwendung entscheidet über

Knoten, Kanten, Hyperkanten

Beziehungen zwischen Graphobjekten

Attributstrukturen

Graphhierachien

weitere Bedingungen wie Inzidenzordnung,

Gradbeschränkung etc.

Page 37: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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)

Page 38: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Überblick

UML-Klassen-Diagramm

UML-Objekt-Diagramm

GXL Graph GXL-Metasche

ma

GXL-Schema

Graph-Klasse

Zur Darstellung von Schema-Graphen

ist Instanz von

wird repräsentiert durch

dargestellt als

visualisiert als

ist Instanz von

definiert

repräsentiert als

Nach: [7], Seite 2.

nutzt

Page 39: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

4. GXL in der Praxis /

Implementierungen

Page 40: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 41: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

Implementierungen

Implementierungen zwar angekündigt, jedoch

bisher nicht ausreichend umgesetzt

Einzelne (studentische) Projekte

Stillstand?

Page 42: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 43: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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

Page 44: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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.

Page 45: GXL – Eine XML-Anwendung Martin Sievers 27.06.2002.

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.