GXL Ric Holt , Andy Schürr, Susan Elliott Sim, Andreas Winter
Graph eXchange Language


    Background
    Introduction
    FAQ
    Examples
    Publications




    DTD
    XML Schema




    Graph Model
    Metaschema




    Tool Catalogue
    Downloads




    Change Requests
    Future
    GXL 1.1

[4. Exchanging Graph Schemas] << [Table of Contents] >> [6. Conclusion]

5 Using GXL

In the years since ratification of GXL, groups in reengineering, graph transformation, graph visualization, and other areas of software engineering have added support for the format in their tools. Various tools have been created to support working with GXL. A framework for GXL converters [65] and a XMI2GXL translator [66] was developed at Univ. BW München. A validator for analyzing GXL documents on instance, schema and meta-schema level is provided by [62]. A list of tools known to use GXL can be found on our web site and a sampling is provided here.

There are many filters for converting GXL documents into local file formats and vice versa. These tools include Bauhaus Resource Graphs [67], DOT (GraphViz) [68], GraLab graphs [69], PROGRES graphs [70], RSF [35], and TA [33]. GXL is also supported by various fact extractors, such as Columbus/CAN [7], CPPX [6], TkSee/SN [71], and XOgastan [72]. Some reengineering workbenches that use GXL are Bauhaus [67], GUPRO [73], Missing Link (Merlin, Karlsruhe), Rigi [74], SoftAnal [75], and SwagKit [76]. There are both general purpose graph drawing tools that support GXL, as well as visualizers for reengineering. These are GraphVis [25], Graph Visualization Framework [77], Shrimp [78], JGraph [79], touchgraph [80], and yFiles [81]. Furthermore GXL is supported by a graph database (GRAS [82]), graph transformation systems (GenSet [83], and PROGRES [70]), and various software engineering tools (DiaGen [84], Fujaba [85], UPGRADE [86], MetaEdit [87]).

These tools and converters have been used as the basis of data interchange on a number of occasions.

SoftAnal and GUPRO:
SoftAnal [75] stores information about a stock trading system within relational databases. Using a GXL filter, this data was transfered to GUPRO [88] for further analysis, which in turn enabled comparison of the capabilities of both systems [89].
GReQL and grok:
GReQL [90] and grok [91] offer powerful, query based analysis for graph based data. A survey, comparing the analysis capability of GReQL and grok, was done using a common GXL factbase [11].
Bauhaus and GUPRO:
During the Dagstuhl seminar on ``Software Architecture: Recovery and Modelling,'' there was an exercise in collaborative architecture reconstruction and modeling [92]. Groups had to work together to analyze the Apache web Server. During this exercise, GXL was used to transfer facts about Apache from Bauhaus [67] to GUPRO for further analysis.
Columbus/CAN and GUPRO:
Columbus [93] is an extractor for C++ that emits ASTs in GXL. For refactoring purposes, this extractor was used within GUPRO for analysis of C++ sources.

In addition, there have been interesting applications of GXL in software engineering pedagogy and biochemistry. At University of Toronto, GXL was used in an undergraduate software engineering course. Students were required to create graph editor/layouter components that communicated using GXL [94]. Outside computer science, GXL has been used to represent regulatory networks of biological processes and biochemical behaviour [95].

[4. Exchanging Graph Schemas] << [Table of Contents] >> [6. Conclusion]
top
July 17, 2002

[change log]
[printable version of this page]