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

Slides:



Advertisements
Similar presentations
Copyright © 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Chapter 2 Introduction to XHTML Programming the World Wide Web Fourth edition.
Advertisements

AP STUDY SESSION 2.
1
1 Vorlesung Informatik 2 Algorithmen und Datenstrukturen (Parallel Algorithms) Robin Pomplun.
University of Paderborn Software Engineering Group E. Kindler Handout for the talk given in the eJustice Dialogues at Saarland University. June 6, 2005.
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 Interoperability of Reengineering Tools Dagstuhl, Jan 20-25, 2001 Graph Exchange Language.
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 8-1 Created by Cheryl M. Hughes, Harvard University Extension School Cambridge, MA The Web Wizards Guide.
© 2008 Pearson Addison Wesley. All rights reserved Chapter Seven Costs.
Copyright © 2003 Pearson Education, Inc. Slide 1 Computer Systems Organization & Architecture Chapters 8-12 John D. Carpinelli.
Processes and Operating Systems
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 1 Embedded Computing.
Copyright © 2011, Elsevier Inc. All rights reserved. Chapter 6 Author: Julia Richards and R. Scott Hawley.
Author: Julia Richards and R. Scott Hawley
1 Copyright © 2013 Elsevier Inc. All rights reserved. Chapter 3 CPUs.
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:
UNITED NATIONS Shipment Details Report – January 2006.
RXQ Customer Enrollment Using a Registration Agent (RA) Process Flow Diagram (Move-In) Customer Supplier Customer authorizes Enrollment ( )
By John E. Hopcroft, Rajeev Motwani and Jeffrey D. Ullman
Business Transaction Management Software for Application Coordination 1 Business Processes and Coordination. Introduction to the Business.
18 Copyright © 2005, Oracle. All rights reserved. Distributing Modular Applications: Introduction to Web Services.
1 RA I Sub-Regional Training Seminar on CLIMAT&CLIMAT TEMP Reporting Casablanca, Morocco, 20 – 22 December 2005 Status of observing programmes in RA I.
Custom Statutory Programs Chapter 3. Customary Statutory Programs and Titles 3-2 Objectives Add Local Statutory Programs Create Customer Application For.
FACTORING ax2 + bx + c Think “unfoil” Work down, Show all steps.
© Fachgebiet Softwaretechnik, Heinz Nixdorf Institut, Universität Paderborn 2.5 Graph Grammars.
Projects in Computing and Information Systems A Student’s Guide
1 Click here to End Presentation Software: Installation and Updates Internet Download CD release NACIS Updates.
Knowledge Extraction from Technical Documents Knowledge Extraction from Technical Documents *With first class-support for Feature Modeling Rehan Rauf,
REVIEW: Arthropod ID. 1. Name the subphylum. 2. Name the subphylum. 3. Name the order.
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.
Bellwork Do the following problem on a ½ sheet of paper and turn in.
XML and Databases Exercise Session 3 (courtesy of Ghislain Fourny/ETH)
Exarte Bezoek aan de Mediacampus Bachelor in de grafische en digitale media April 2014.
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.
Factor P 16 8(8-5ab) 4(d² + 4) 3rs(2r – s) 15cd(1 + 2cd) 8(4a² + 3b²)
Basel-ICU-Journal Challenge18/20/ Basel-ICU-Journal Challenge8/20/2014.
1..
CONTROL VISION Set-up. Step 1 Step 2 Step 3 Step 5 Step 4.
© 2012 National Heart Foundation of Australia. Slide 2.
Adding Up In Chunks.
Universität Kaiserslautern Institut für Technologie und Arbeit / Institute of Technology and Work 1 Q16) Willingness to participate in a follow-up case.
25 seconds left…...
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
©Brooks/Cole, 2001 Chapter 12 Derived Types-- Enumerated, Structure and Union.
Essential Cell Biology
Intracellular Compartments and Transport
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
Murach’s OS/390 and z/OS JCLChapter 16, Slide 1 © 2002, Mike Murach & Associates, Inc.
Steffen Staab 1WeST Web Science & Technologies University of Koblenz ▪ Landau, Germany Structured Data on the Web Introduction to.
Introduction Peter Dolog dolog [at] cs [dot] aau [dot] dk Intelligent Web and Information Systems September 9, 2010.
From Model-based to Model-driven Design of User Interfaces.
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.
GXL Progress Report Susan Elliott Sim on behalf of Andreas Winter, Ric Holt, and Andy Schürr and the GXL Mailing List.
Sharing is fun! Thoughts on open access research
Presentation transcript:

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

© 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

© 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

© 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

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

© 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

© 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

© 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

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

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

© 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)

© 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 >

© 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

© 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

© 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" >

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

© 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

© 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

© 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 >

© 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

© 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}

© 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">

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

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

© 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

© 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

© 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"/>

© 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"/>

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

© 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

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

© 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 ?

© 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 ?

© 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"> ?

© 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

© 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)

© 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

© 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 –

© 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 ???