• Keine Ergebnisse gefunden

Graph Exchange Language

N/A
N/A
Protected

Academic year: 2022

Aktie "Graph Exchange Language"

Copied!
17
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Universität Koblenz-Landau Institut für Softwaretechnik Re-Group

Graph Exchange Language

Representing Graph Schemas

(a working report)

Ric Holt

Andreas Winter

(2)

Contents

Motivation

... summarizing previous talks

GXL schema notation

... using UML class diagrams

Exchanging GXL schemas

... using GXL documents

Conclusion

(3)

... previous Talks

Sim:

– WoSEF 2000, CASCON 2000: need for schemas – lone pine schema sanctuary

(http://www.cs.utoronto.ca/~simsuz/schema)

Holt, Hassan, Lague, Lapierre, Leduc (DATRIX):

– AST schemas for C/C++, Java

Boshernitsan, Graham:

– schemas for AST´s on different levels of granularity

Godfrey:

– hierarchy of schemas (different levels of granularity)

Girard et al. (BAUHAUS):

– schema for resource graph (architectural level)

Tichelaar, Ducasse, Demeyer (FAMIX)

– coarse grained, language independent schema for OO

(4)

Variety of different schemas

Dimensions

– Programming Languages

• single language systems (Cobol, C, C++, JAVA, ...)

• multi language systems

– Level of Abstraction

• AST level

• architectural level

Requirements

adaptable and extensible interchange format

GXL Approach

– exchange of schema data and

– exchange of instance data

(5)

standard exchange language

– for interchanging data between software engineering tools

• on instance level

• on schema level

mathematical model on instance and schema level – typed, attributed, directed graphs

notation

– eXtensible Markup Language (XML) and Unified Modeling Language (UML)

• graphs: UML object diagrams (yesterday)

• schemas: UML class diagrams (now)

GXL Objective

(6)

Example

while x > 0 do repeat

y := y + 1 until (y = x);

x := x + 1

end

(7)

What to Represent in a Graph Schema

• node, edge, and relation types

• attribute names and attribute types

• associations

– between node, edge, relation types

– between attributes and node, edge, relation types

• higher conceptual modeling constructs

– generalization of node, edge, and relation types – aggregation

– composition (hierarchical graphs)

• miscellaneous

– edge direction

– constraints e.g. cardinalities

– ordering of incidences

(8)

Graph Schema

UML class diagram (schema)

Var

file : string

line : int line : int

refers

Proc

v : Var

file="main.c"

line = 27 line = 42

e : refers

UML object diagram (graph)

p : Proc

(9)

Graph Schema - Notation

Var

file : string

line : int line : int

refers

Proc

edge type

node type node attribute

ordering

{ordered}

direction cardinalities

0 .. *

attribute attribute type

name edge

attributes

(10)

Graph Schema - Notation

UML object diagram (hierarchical graph)

u : U t : T

f : F

v : V e : E w : W

g : G

UML class diagram (schema)

V E W

T

U

F

Composition G

(11)

Graph Schema - Higher Constructs

Generalization

Aggregation

(12)

Exchanging Schemas

GXL First Directive

Everything is a typed, attributed, directed graph

Conclusion

– Schemas (UML class diagrams) are represented as graphs as well

– Schemas are exchanged as GXL documents suiting a metaschema for schema graphs – only one common and simple DTD for

exchanging

• graphs matching different graph schemas and

• graph schemas matching a metaschema

(13)

GXL Schema Representation

UML class diagram

Var file:string

line : int line : int

Proc

refers

:

Nodetyp e

name="Proc"

:

Attribut e

name="file"

:

Domain

name="string"

:

Edgetype name="refers"

:

Nodetype name="Var"

:

Domain name="int"

:

Attribut e

name="line"

from

to

hasAttr hasDom

hasAttr

hasAttr

hasDom

approach

schema graph

?

(14)

Conclusion

GXL offers a standard exchange language for

– graphs

– graph schemas

GXL uses one common DTD for exchanging

– graphs

– graph schemas

more information

– http://www.gupro.de/GXL

(15)

next Steps

• define the concrete subset of UML class diagrams, necessary for exchanging

graph schemas

• define the GXL metaschema for exchanging schema graphs (after dinner)

• define reference schemas for various applications

– different languages

– different levels of granularity Please send us your schemas

(16)

Upcoming Events

• Dagstuhl Seminar "Interoperability of Reengineering Tools" (January 21-26, 2001)

(ask Kostas, if you want to participate)

• APPLIGRAPH Meeting "Exchange Formats for Graph Transformation" (Spring,

Bremen)

• WoSEF 2001

Referenzen

ÄHNLICHE DOKUMENTE

Type matching is simplest in languages like CLU [20] and Modula-2+ [33], where the construct corresponding to our typecase allows only exact matches (no pattern variables), and

Thus, the fragment in Figure 2(b) that has a different edge insertion order is not canonical and can be pruned during the enumeration of the search lattice without any

Instead of a depth- or breadth-first search of the state space, that have been usually applied in model checkers, Approver used a general search algorithm based on priority queue..

Claim: A necessary and sufficient condition for a walk of the desired form is that the graph is connected and has exactly zero (-> Eulerian cycle) or two nodes (->

When we store the number of nodes for a graph G=(V,E) plus the degree and the neighbours of each node , such a data structure will be called an adjecency- list

Description Logics Description Logics: decidable fragments of First-Order Logic variable-free syntax theoretical foundation of the Web Ontology Language OWL Example “Everybody who

• Receptions are behavioral features and thus are realized by behavior (e.g., a state

The minimal number of cops needed to capture the robber in a robber- monotone way in the DAG Game on a directed graph does not change, if the Cop player is permitted to move only