Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Interoperability of Reengineering Tools Dagstuhl, Jan 20-25, 2001 Graph Exchange Language.

Slides:



Advertisements
Similar presentations
Numbers Treasure Hunt Following each question, click on the answer. If correct, the next page will load with a graphic first – these can be used to check.
Advertisements

Computer Graphics: 2D Transformations
Scenario: EOT/EOT-R/COT Resident admitted March 10th Admitted for PT and OT following knee replacement for patient with CHF, COPD, shortness of breath.
Variations of the Turing Machine
Angstrom Care 培苗社 Quadratic Equation II
AP STUDY SESSION 2.
1
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group CASCON 2000Toronto, Graph Exchange Language An overview Ric Holt Andreas Winter.
Universität Koblenz-Landau Institut für Softwaretechnik GUPRO WOSEF 2000Limerick, (1) Components of Interchange Formats (Metaschemas and Typed.
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group WCRE 2000Brisbn, Nov 25, 2000 Graph Exchange Language Representing Graph Schemas (a working.
Chapter 7 System Models.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 4 Computing Platforms.
Processes and Operating Systems
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
Myra Shields Training Manager Introduction to OvidSP.
Properties Use, share, or modify this drill on mathematic properties. There is too much material for a single class, so you’ll have to select for your.
Objectives: Generate and describe sequences. Vocabulary:
David Burdett May 11, 2004 Package Binding for WS CDL.
Local Customization Chapter 2. Local Customization 2-2 Objectives Customization Considerations Types of Data Elements Location for Locally Defined Data.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
CALENDAR.
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt BlendsDigraphsShort.
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.5 Graph Grammars.
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Break Time Remaining 10:00.
Turing Machines.
Table 12.1: Cash Flows to a Cash and Carry Trading Strategy.
PP Test Review Sections 6-1 to 6-6
Bright Futures Guidelines Priorities and Screening Tables
EIS Bridge Tool and Staging Tables September 1, 2009 Instructor: Way Poteat Slide: 1.
Physical Aspects [Reflection Modelling] Hauptseminar: Augmented Reality for Driving Assistance in Cars.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
XML and Databases Exercise Session 3 (courtesy of Ghislain Fourny/ETH)
CS 6143 COMPUTER ARCHITECTURE II SPRING 2014 ACM Principles and Practice of Parallel Programming, PPoPP, 2006 Panel Presentations Parallel Processing is.
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
TESOL International Convention Presentation- ESL Instruction: Developing Your Skills to Become a Master Conductor by Beth Clifton Crumpler by.
Sample Service Screenshots Enterprise Cloud Service 11.3.
Copyright © 2012, Elsevier Inc. All rights Reserved. 1 Chapter 7 Modeling Structure with Blocks.
1 RA III - Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Buenos Aires, Argentina, 25 – 27 October 2006 Status of observing programmes in RA.
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
Adding Up In Chunks.
MaK_Full ahead loaded 1 Alarm Page Directory (F11)
1 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt 10 pt 15 pt 20 pt 25 pt 5 pt Synthetic.
Subtraction: Adding UP
: 3 00.
5 minutes.
Chapter 2 Entity-Relationship Data Modeling: Tools and Techniques
1 hi at no doifpi me be go we of at be do go hi if me no of pi we Inorder Traversal Inorder traversal. n Visit the left subtree. n Visit the node. n Visit.
Analyzing Genes and Genomes
Prof.ir. Klaas H.J. Robers, 14 July Graduation: a process organised by YOU.
1 Let’s Recapitulate. 2 Regular Languages DFAs NFAs Regular Expressions Regular Grammars.
Speak Up for Safety Dr. Susan Strauss Harassment & Bullying Consultant November 9, 2012.
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Converting a Fraction to %
Clock will move after 1 minute
PSSA Preparation.
Essential Cell Biology
Immunobiology: The Immune System in Health & Disease Sixth Edition
Physics for Scientists & Engineers, 3rd Edition
Energy Generation in Mitochondria and Chlorplasts
Select a time to count down from the clock above
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
1 Decidability continued…. 2 Theorem: For a recursively enumerable language it is undecidable to determine whether is finite Proof: We will reduce the.
Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Graph Drawing Vienna, September 26, 2001 Graph Exchange Language Andreas Winter joint.
Presenter : g9102 黃培智 Outline  Motivation and Background  GXL Overview  Exchange Graphs  Exchange Graph Schemas  Conclusion.
Presentation transcript:

Universität Koblenz-Landau Institut für Softwaretechnik Re-Group Interoperability of Reengineering Tools Dagstuhl, Jan 20-25, 2001 Graph Exchange Language Andreas Winter joint work with: Ric Holt Andy Schürr Susan Sim

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (2) Interoperablity of Reengineering Tools Contents Motivation and Idea Definition of GXL Exchanging graphs with GXL Exchanging schemas with GXL Conclusion

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (3) Interoperablity of Reengineering Tools 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

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (4) Interoperablity of Reengineering Tools History

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (5) Interoperablity of Reengineering Tools 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 TU Berlin (Theoretical CS/Formal Specification Group), Berlin University of Berne (Software Composition Group), Switzerland University Bw München (Institute for Software Technology), Germany University of Koblenz (IST, GUPRO), 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 Universities of Waterloo and Toronto (SWAG), Canada

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (6) Interoperablity of Reengineering Tools GXL Example main.c test.c <edge id = "r1" from = "P" to = "V"> 127 <edge id = "r2" from = "Q" to = "W"> 27 <edge id = "c" from = "P" to = "Q"> 316

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (7) Interoperablity of Reengineering Tools Dimensions of Reengineering Data Programming Languages –single Languages (Ada, C, C++, Cobol, Java) –multi-language systems Level of Abstraction –AST-level –Architectural level Relational Aspects –Dataflow, Controlflow,... –Includes, Calls, Uses,...

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (8) Interoperablity of Reengineering Tools Definition of GXL Requirements for Exchange Formats –independent from specific reengineering dimensions specific reengineering applications specific reengineering tools –concrete enough to be interpreted by different reengineering tools GXL Approach –exchanging instance data and schema data GXL First Directive Everything is a typed, attributed, directed graph

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (9) Interoperablity of Reengineering Tools GXL Idea Graph DataPart SchemaPart > Schema Graph Data DataPart SchemaPart > M0 M1 Meta Schema Graph DataPart SchemaPart > M2 UML class diagrams UML object diagrams GXL Documents

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (10) Interoperablity of Reengineering Tools Definition of GXL simple and compact representation of directed and undirected graphs suitable for a broad spectrum of graph models, –including support for hypergraphs and –support for hierarchical graphs support for representation of complex attribute values extensibility of graph elements and attribute types uniform representation for graphs and graph schemas

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (11) Interoperablity of Reengineering Tools GXL Graph Model

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (12) Interoperablity of Reengineering Tools GXL Attribute Model

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (13) Interoperablity of Reengineering Tools 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 (23 elements)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (14) Interoperablity of Reengineering Tools GXL Document Type Definition (0.99)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (15) Interoperablity of Reengineering Tools Exchanging Graphs with GXL Attributed, typed, directed Graphs Undirected Graphs Ordered Graphs Hypergraphs Hierarchical Graphs

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (16) Interoperablity of Reengineering Tools Typed, Attributed, Directed Graphs p : v : graph <edge from = "p" to = "v"> e : id = "e" refers typed Proc Var attributed file = "main.c" line = 27 main.c 27

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (17) Interoperablity of Reengineering Tools Attributed Edges <edge id = "e" from = "p" to = "v"> 42 p : v : Proc Var file = "main.c" line = 27 e : refers line = 42

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (18) Interoperablity of Reengineering Tools... Undirected Graphs p : v : Proc Var file = "main.c" line = 27 e : edges are always noted as directed but can be interpreted as undirected

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (19) Interoperablity of Reengineering Tools... <edge id = "e" orientation = "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

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (20) Interoperablity of Reengineering Tools GXL Documents (DTD) <!ATTLIST graph id ID #REQUIRED roleNMTOKEN#REQUIRED edgeids ( true | false ) "false" hypergraph ( true | false ) "false" direction ( directed | undirected ) "directed" >

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (21) Interoperablity of Reengineering Tools Nodes and Edges (DTD)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (22) Interoperablity of Reengineering Tools Prog authors = { Ric, Andy, Susan, Andreas } p : GXL supports set, sequence, bag, tuple of bool, int, float, string, references (URI), complex values Attribute Types Ric Andy Susan Andreas

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (23) Interoperablity of Reengineering Tools Attributes (DTD)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (24) Interoperablity of Reengineering Tools Attribute Values (DTD) <!ATTLIST locator xlink:type (simple) #FIXED "simple" xlink:href CDATA #IMPLIED > links to external objects simple attributes complex attributes

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (25) Interoperablity of Reengineering Tools Ordering of Incidences u : w : v : e : g : f : {1} {2} {4} {3} toorder = "3" toorder = "2" fromorder = "1" fromorder = "4"

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (26) Interoperablity of Reengineering Tools {1} {2} v : V w : W u : U r : theSecondU theFirstU theV theW directed Hypergraphs and n-ary Relations <link ref = "u" role = "theFirstU" direction = "out" endorder = "2" /> <link ref = "u" role = "theSecondU" direction = "out" endorder = "1" /> <link ref = "v" role = "theV" direction = "in" /> <link ref = "w" role = "theW" direction = "none"/>

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (27) Interoperablity of Reengineering Tools v : V w : W u : U r : theSecondU theFirstU theV theW undirected Hypergraphs and n-ary Relations

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (28) Interoperablity of Reengineering Tools Relations (DTD)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (29) Interoperablity of Reengineering Tools u : f : t : T Support for Hierarchical Graphs <edge id = "f" from = "t" to = "u"/> <edge id = "e" from = "v" to = "w"/> v :w : e : g : GraphT

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (30) Interoperablity of Reengineering Tools u : f : t : T Support for Hierarchical Graphs <edge id = "e" from = "v" to = "w"/> <edge id = "f" from = "t" to = "u"/> v :w : e : g : GraphT <edge id = "h" from = "u" to = "w"/> h :

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (31) Interoperablity of Reengineering Tools 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) – links – values

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (32) Interoperablity of Reengineering Tools GXL Extension (DTD)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (33) Interoperablity of Reengineering Tools Summary: Exchanging Graphs Attributed, typed, directed Graphs Undirected Graphs Ordered Graphs Hypergraphs Hierarchical Graphs

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (34) Interoperablity of Reengineering Tools Exchanging Schemas with GXL Graph Schema Definition with UML Class Diagrams –attributed, typed, directed graphs –hypergraphs –hierarchical graphs GXL Representation of class diagrams GXL Metaschema

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (35) Interoperablity of Reengineering Tools Graph Schema - Graphs UML class diagram Var file : string line : int refers Proc v : Var file="main.c" line = 27 line = 42 e : refers UML object diagram p : Proc

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (36) Interoperablity of Reengineering Tools Graph Schema - Notation Var file : string line : int refers Proc edge class node class node attribute ordering {ordered} direction multiplicity 0.. * attribute type attribute name edge attributes

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (37) Interoperablity of Reengineering Tools Graph Schema - Hypergraphs UML object diagram V W U r theSecondU theFirstU theV theW 1..* {ordered} UML class diagram v : V w : W u : U r : theSecondU theFirstU theV theW {1} {2}

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (38) Interoperablity of Reengineering Tools Graph Schema - Hierarchical Graphs UML object diagram u : U f : F t : T v : Vw : W e : E g : GraphT UML class diagram UT F V W GraphT > E Stereotype

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (39) Interoperablity of Reengineering Tools Graph Schema - Hierarchical Graphs UML object diagram u : U f : F t : T v : Vw : W e : E g : GraphT Stereotype Composition U V W T GraphT > F E UML class diagram

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (40) Interoperablity of Reengineering Tools Graph Schema - Higher Constructs Generalization Aggregation

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (41) Interoperablity of Reengineering Tools Summary: Exchanging Schemas Graph Schema Definition with UML Class Diagrams –attributed, typed, directed graphs –hypergraphs –hierarchical graphs GXL Representation of class diagrams GXL Metaschema

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (42) Interoperablity of Reengineering Tools 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

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (43) Interoperablity of Reengineering Tools GXL Schema Representation UML class diagram Var file:string line : int Proc refers :Nodeclass name="Proc" : Attribute name="file" : String : EdgeClass name="refers" : NodeClass name="Var" : Integer : Attribute name="line" comesFrom goesTo has Attribute has Domain has Attribute has Attribute has Domain schema graph

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (44) Interoperablity of Reengineering Tools GXL Metaschema (Extract)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (45) Interoperablity of Reengineering Tools GXL Metaschema - Graph (Extract)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (46) Interoperablity of Reengineering Tools GXL Metaschema - Graph (Extract)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (47) Interoperablity of Reengineering Tools GXL Metaschema - GXL Document <type xlink:href = "gxl.gxl#gxl"/> <type xlink:href = "gxl.gxl#NodeClass"/> NodeClass false... <type xlink:href = "gxl.gxl#NodeClass"/> GraphClassElement true... <type xlink:href = "gxl.gxl#isA"/>

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (48) Interoperablity of Reengineering Tools Concepts in GXL Class Diagrams Definition of NodeClasses, EdgeClasses, and RelationClasses. Definition of (structured) Attributes. Definition of Orientation, Multiplicities, Roles, and Ordering. Definition of Graph Hierarchy. Definition of Graphclasses. Definition of Generalization and Aggregation.

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (49) Interoperablity of Reengineering Tools GXL Metaschema (Graph Part)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (50) Interoperablity of Reengineering Tools GXL Metaschema (Attribute Part)

© Institut für Softwaretechnik Universität Koblenz-Landau Dagstuhl, Jan 21-26, 2001 (51) Interoperablity of Reengineering Tools Conclusion GXL offers a language for describing graphs directed and undirected, typed, attributed graphs hypergraphs and hierarchical graphs a language for defining graph classes a language for exchanging graphs instance graphs schema graphs more information –