Presentation is loading. Please wait.

Presentation is loading. Please wait.

Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, 15.11.2000 Graph Exchange Language An overview Ric Holt Andreas Winter.

Similar presentations


Presentation on theme: "Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, 15.11.2000 Graph Exchange Language An overview Ric Holt Andreas Winter."— Presentation transcript:

1 Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, 15.11.2000 Graph Exchange Language An overview Ric Holt Andreas Winter joint work with Andy Schürr and Susan Sim

2 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (2) Contents GXL motivation and history GXL requirements GXL features –nodes, edges and attributes –ordering –hypergraphs GXL extended features –support for hierarchical graphs –support for graph drawing –GXL extension –schemata Conclusion and Future Work

3 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (3) Interoperability of Tools (examples) Acacia C++ parser tool kit and AT&T graph drawing (TA) ASIS, GCC and GUPRO (TGraphs) Bauhaus Parsers and PBS/LSEDIT (TA) CPPANAL and GUPRO (TGraphs) Cxref extractor and TA CFX (PBS) and TA (RSF, TA) Dali tool kit and Rigi (TA) Datrix C++ and TA DaVinci, Graphlet and GUPRO (TGraphs) EDGE and PROGRES HTML and GUPRO (TGraphs) Grok (RSF, TA) GUPRO (multi-language) Parsers, GReQL-Query and Code-Browser (TGraphs) JViews and PROGRES Mathlab Stateflow and Daimler-Chrysler CTE (PROGRES) PLIX-Parser and TA (RSF,TA) Rigi parser, Rigi viewer and TA (RSF) SNIFF+ and TA

4 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (4) GXL Objective standard exchange language –for interchanging data between reengineering tools mathematical model –typed, attributed, directed graphs notation –eXtensible Markup Language (XML) –Unified Modeling Language (UML) application to other areas in software engineering –graph transformation –graph drawing

5 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (5) History

6 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (6) GXL Partners Bell Canada (Datrix Group), Canada IBM Centre for Advanced Studies, Canada Mahindra British Telecom, India Nokia Research Center (Software Technology Laboratory), Finland Philips Research (Software Architecture Group), The Netherlands RWTH Aachen (Department of Computer Science III), Germany University of Berne (Software Composition Group), Switzerland University Bw München (Institute for Software Technology), Germany University of Koblenz (IST, Re-Group), Germany University of Oregon (Department of Computer Science), U.S.A. University of Paderborn (AG Softwaretechnik), Germany University of Stuttgart (BAUHAUS Group), Germany University of Victoria (RIGI Group), Canada University of Waterloo (Software Architecture Group), Canada

7 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (7) Quality Criteria application domain independent based on an open standard efficient in time and space applicable to most –reengineering approaches independent of abstraction levels independent of programming languages applicable to large software software systems –graph transformation approaches independent of underlying graph models –graph visualization approaches independent of graph layout models

8 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (8) GXL Design Goals simple and compact representation of directed and undirected graphs suitable for a broad spectrum of graph models, including support for hypergraphs and hierarchical graphs uniform representation of graphs and graph schemas support for representation of complex attribute values extensibility of graph elements and attribute types

9 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (9) GXL Graph Model

10 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (10) GXL Attribute Model

11 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (11) GXL Document Type Definition automatic generation of GXL DTD follows MOF/XMI standard entity types and attributes are not distinguished blows up the number of XML elements (GXL 0.7.2: 136/74 elements) manual definition of GXL DTD manual work to do distinction between entity types and attributes reflects design decisions small and simple DTD (20 elements)

12 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (12) GXL Document Type Definition <!ATTLIST type xlink:type (simple) #FIXED "simple" xlink:href CDATA #REQUIRED > <!ATTLIST in |out ref IDREF #REQUIRED role NMTOKEN #IMPLIED >

13 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (13) Nodes, Edges and Attributes p : v : graph <edge from = "p" to = "v"> e : id = "e" refers typed Proc Var attributed file = "main.c" line = 27 main.c 27

14 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (14) Attributed Edges <edge id = "e" from = "p" to = "v"> 42 p : v : Proc Var file = "main.c" line = 27 e : refers line = 42

15 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (15) GXL Documents (DTD) <!ATTLIST graph id ID #REQUIRED edgeids ( true | false ) "false" hypergraph ( true | false ) "false" direction ( directed | undirected ) "directed" >

16 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (16) Nodes and Edges (DTD)

17 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (17)... undirected graph... <edge id = "e" direction = "undirected" from = "p" to = "v">... undirected edge in directed graph Undirected Graphs p : v : Proc Var file = "main.c" line = 27 e : edges are always noted as directed but can be interpreted as undirected

18 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (18) Prog authors = { Ric, Andy, Susan, Andreas } p : GXL supports set, sequence, bag, tuple of bool, int, float, string, complex values Complex Attributes Ric Andy Susan Andreas

19 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (19) Attributes (DTD) <!ENTITY % val " %value-extension; locator | bool | int | float | string | seq | set | bag | tup "> <!ATTLIST attr nameNMTOKEN#REQUIRED kindNMTOKEN #IMPLIED >

20 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (20) Attribute Values (DTD) <!ATTLIST locator xlink:type (simple) #FIXED "simple" xlink:href CDATA #IMPLIED > pointers to external objects simple attributes complex attributes

21 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (21) Ordering of Incidences p : a : b : c : d : e : {1} {3} {2} {4} {5} {6}

22 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (22) {1} {2} v : V w : W u : U r : theSecondU theFirstU theV theW directed Hypergraphs v : V w : W u : U theSecondU theFirstU theV theW {1} {2} undirected r : " undirected "> direction = "undirected">

23 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (23) Hypergraphs (DTD) <!ATTLIST rel id ID #IMPLIED direction (directed | undirected) #IMPLIED>

24 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (24) Context and Link (DTD) Node Incidences Edge Incidences

25 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (25) u : t : f : Support for Hierarchical Graphs v :w : e : <edge id = "e" from = "v" to = "w"/> innergraph.xml <locator xlink:href = "innergraph.xml"/> <edge id = "f" from = "t" to = "u"/> main.xml by graph-valued attributes

26 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (26) Support for Hierarchical Graphs u : t : f : v :w : e : Edges crossing hierarchies <locator xlink:href = "innergraph.xml"/> <locator xlink:href = "innergraph.xml#w"/> <edge id = "f" from = "t" to = "u"/> main.xml

27 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (27) u : t : f : Support for Hierarchical Graphs v :w : e : by nested graphs <edge id = "f" from = "t" to = "u"/> <edge id = "e" from = "v" to = "w"/>

28 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (28) Support for Hierarchical Graphs u : t : f : v :w : e : Edges crossing hierarchies g : <edge id = "e" from = "v" to = "w"/> <edge id = "f" from = "t" to = "u"/> <edge id = "g" from = "u" to = "w"/>

29 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (29) Support for Graph Drawing <node id = "v" 0.0 2 1.5 <edge id = "e" from = "v" to = "w"> 0.0 5.0 layout data is represented as ordinary attribute

30 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (30) GXL Extension by redefining entities by including GXL DTD (external entities) <!ENTITY % gxl-extension "FOO," > <!ENTITY % basegxl SYSTEM "gxl.dtd"> %basegxl; GXL offers extending – GXL documents – graphs – nodes – edges – hyperedges (rel) – contexts and links – values

31 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (31) GXL Extension (DTD)

32 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (32) Graph Schema UML class diagram (schema) Var file : string line : int refers Proc v : Var file="main.c" line = 27 line = 42 e : refers UML object diagram (graph) p : Proc ?

33 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (33) GXL Schema Representation UML class diagram Var file:string line : int Proc refers :Nodetype name="Proc" : Attribute name="file" : Domain name="string" : Edgetype name="refers" : Nodetype name="Var" : Domain name="int" : Attribute name="line" from to hasAttrhasDom hasAttr hasDom approach schema graph ?

34 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (34) GXL Schema Representation UML class diagram Var file:string line : int Proc refers Ric´s approach schema graph refers : line : int Proc : file : string Var : line : int <edge id = "refers" from = "Proc" to = "Var"> ?

35 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (35) GXL Schema Representation IST Approach clear distinction of instance and schema level same notation for all meta levels conforms UML meta modeling edges and nodes on Mi are represented by nodes on Mi+1 blows up graph size Ric´s Approach different interpretation of attributes depending from meta level requires "kind"-attributes to distinguish attributes and meta attriubtes edges/nodes on Mi are represented as edges/nodes on Mi+1 small graphs isomor-phic to class diagram

36 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (36) GXL Tools converters to/from GXL progress2gxl, gxl2progress (UAachen) g2gxl, gxl2g, gxl2sg, gxl2html (UKoblenz) gxl2rsf (Claudio Riva, Nokia) gxl2dot (Michal Young, UOregon) gxl2rsf, rsf2gxl (Jeff Michaud, UVictoria) gxl2ta, ta2gxl (UWaterloo)

37 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (37) GXL Tools: GXL2HTML p : v : e : refers Proc Var file = "main.c" line = 27 <edge from = "p" to = "v"> id = "e" main.c 27

38 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (38) Conclusion GXL offers a standard exchange language for –directed and undirected –typed –attributed –graphs and hypergraphs GXL offers a standard exchange language in –Software Reengineering –Graph Transformation –Graph Drawing more information –http://www.gupro.de/GXL

39 © Institut für Softwaretechnik Universität Koblenz-Landau CASCON 2000 (39) Upcoming Events Workshop "Practical Data Interchange Issues with GXL" (after lunch) Workshop "Exchange Formats" (WCRE 2000) Dagstuhl Seminar "Interoperability of Reengineering Tools" APPLIGRAPH Meeting "Exchange Formats for Graph Transformation" WoSEF 2001 ???


Download ppt "Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, 15.11.2000 Graph Exchange Language An overview Ric Holt Andreas Winter."

Similar presentations


Ads by Google