Presentation is loading. Please wait.

Presentation is loading. Please wait.

Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint.

Similar presentations


Presentation on theme: "Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint."— Presentation transcript:

1 Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint work with Ric Holt (University of Waterloo) Susan Elliott Sim (University of Toronto) Andy Schürr (Universität BW München) (and many more)

2 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (2) Graph Drawing 2001 Contents Motivation and Idea GXL Overview –Exchanging graphs with GXL –Exchanging schemas with GXL GXL current work –GXL Tools Conclusion

3 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (3) Graph Drawing 2001 extract: parser and fact extractors for multi-language systems, Ada, C/C++, Cobol, Java, SQL... abstract: analysis techniques like querying, browsing, data flow analysis, architecture recovery, cluster analysis... view: visualization charts, diagrams, graphs, tables, source code,... GXL Background Tools in Software Reengineering source code extract repository abstract view

4 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (4) Graph Drawing 2001 History

5 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (5) Graph Drawing 2001 GXL Partners

6 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (6) Graph Drawing 2001 1 function main (){... 8 a := max(a,b);... 19 b := min(b,a);... } GXL Example typed nodes attributed nodes attributed edges ordered incidences directed edges typed edges

7 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (7) Graph Drawing 2001 Requirements of Exchange Formats (1) Independence –application independence language independence (C/C++, Cobol, Java, JCL, SQL, multi-language etc.) abstraction level independence (AST, "middle level", Architecture) aspect independence (data flow, control flow, code structure, etc.) –tool independence data structure independence (syntax trees, various types of graphs, relational databases, object oriented databases, file and directory structures)

8 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (8) Graph Drawing 2001 Requirements of Exchange Formats (2) Efficiency –efficiency in time –efficiency in space –efficiency in "building tools" Extensibility –extensible for further applications (CASE tools, visualization tools, etc) Universality –used by others –standardized format

9 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (9) Graph Drawing 2001 GXL Objective Exchanged Data –instance data –schemas data Mathematical Model –typed, attributed, ordered, directed graphs –expanded by hypergraphs and hierarchical graphs Notation –eXtensible Markup Language (XML) –Unified Modeling Language (UML)

10 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (10) Graph Drawing 2001 GXL Graph Model typed graphs attributed graphs directed graphs ordered graphs hierarchical graphs hyper- graphs graph part

11 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (11) Graph Drawing 2001 GXL Document Type Definition (1.0)

12 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (12) Graph Drawing 2001 Exchanging Graphs with GXL Attributed, typed, directed Graphs Undirected Graphs Ordered Graphs Hypergraphs Hierarchical Graphs

13 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (13) Graph Drawing 2001 Exchanging Graphs with GXL p : v : graph r : typed refs Proc Var attributed file = "main.c" line = 27 <edge from = "p" to = "v"> main.c 27 id = "r"

14 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (14) Graph Drawing 2001 Exchanging Schemas with GXL Graph Schema Definition with UML Class Diagrams –attributed, typed, directed, ordered graphs –hypergraphs –hierarchical graphs GXL Representation of class diagrams GXL Metaschema

15 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (15) Graph Drawing 2001 Exchanging Schemas with GXL Graph Class (UML class diagram) Var file : string line : int refs Proc Var file="main.c" line = 27 line = 42 e : refs Graph (UML object diagram) p : Proc v :

16 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (16) Graph Drawing 2001 Representing Schemas Schemas (graph classes) are represented as graphs as well Schemas are exchanged as GXL documents suiting a metaschema for graph classes only one common and simple DTD for exchanging –graphs matching different graph schemas –graph classes matching a metaschema

17 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (17) Graph Drawing 2001 GXL Schema Representation UML class diagram Var file:string line : int Proc refs Proc:NodeClass name="Proc" a1:Attribute name="file" s : String refs: EdgeClass name="refs" var:NodeClass name="Var" i : Integer a2:Attribute name="line" comesFrom goesTo has Attribute has Domain has Attribute has Attribute has Domain schema graph

18 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (18) Graph Drawing 2001 GXL Schema Representation Proc refs Var...

19 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (19) Graph Drawing 2001 GXL Metaschema (Graph Part)

20 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (20) Graph Drawing 2001 GXL Current Work GXL Usage –Software Reengineering –Graph Transformation Systems (GTXL) GXL Standard Schemas –Ferenc, Gyimothy, Holt, Koschke, Sim: C++-Reference-Schema –Lethbridge, Tichelaar et al.: Dagstuhl Middle Level Model –Jahnke, Mylopoulos, Wadsack, Hainaut, Henrard: Data Reverse Engineering Reference-Schema (DRE)

21 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (21) Graph Drawing 2001 GXL Tools and Applications CPPX (C++ AST Extractor), U Waterloo Columbus/CAN (C++ Extractor and Analyzer), U Szeged ECW (Edinburgh Concurrency Workbench), U Edinburgh Fujaba (Roundtrip Engineering for UML diagrams) U Paderborn GenSet (simple graph transformations), U Oregon GRAS (Graph Data Base) U Aachen GXL reader/writer for Bauhaus Resource Graphs, U Stuttgart GXL2RPA, RPA2GXL, Philips, Eindhoven GXL2G, G2GXL, U Koblenz GXL2Progres, Progres2GXL, U Aachen GXLQuery, U Koblenz GXL2RSF, RSF2GXL, U Victoria, Nokia GXL2XMI, U BW München GXLFramework, U BW München GXL2TA, TA2GXL, U Waterloo, U Toronto Royere (graph visualization), CWI Amsterdam SugiBib (UML diagram layout), U Würzburg UPGRADE (visual languages), RWTH Aachen yFiles (graph visualization), U Tübingen

22 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (22) Graph Drawing 2001 GXL Change Requests XML Schema –instead of XML DTD –more powerful extension mechanism Packages –attributes - structure (GXL) - GTXL - GraphML/GD... Hierarchical Graphs –graph valued attributes Additional Attribute Types –free type attributes –structs References to GXL Schemas –textual attributes instead of XLINK-References Additional features –implicit node definition by edges

23 © Institut für Softwaretechnik Universität Koblenz-Landau Vienna, September 26, 2001 (23) Graph Drawing 2001 Conclusion GXL: uniform language for –exchanging graphs –exchanging graph schemas GXL: ratified as standard exchange format –Software Reengineering community (Dagstuhl, January 26. 2001) –Graph Transformation Systems community (APPLIGRAPH Subgroup Meeting, Bremen, March, 1.-2., 2001) GXL: standards activities –cited in XML OASIS Cover Pages and XML.org XML Standards Report –planed to become an IEEE Software Engineering Standard –will be introduced to OMG more information http: www.gupro.de/GXL mailto: gxl@uni-koblenz.de


Download ppt "Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint."

Similar presentations


Ads by Google