ArticleslgStudy

computer science

GXL

GXL is a computer science topic covered in the lgStudy science library. This page brings together a partial reference excerpt, illustrations, worked examples, real-world applications and a short study plan, so you can understand GXL rather than just read about it. In short: GXL (Graph eXchange Language) is designed to be a standard exchange format for graphs. GXL is an extensible markup language (XML) sublanguage and the syntax is given by an XML document type definition (DTD).

Key takeaways

  • GXL belongs to computer science; place it in that map before memorising details.
  • Learn the definition first, then one example that makes the definition concrete.
  • Connect GXL to a quantity you can measure, compute or draw — that is where exam questions come from.
  • Reproduce the core statement of GXL from memory before moving on to harder problems.

Reference excerpt

GXL (Graph eXchange Language) is designed to be a standard exchange format for graphs. GXL is an extensible markup language (XML) sublanguage and the syntax is given by an XML document type definition (DTD). This exchange format offers an adaptable and flexible means to support interoperability between graph-based tools.

Overview In particular, GXL was developed to enable interoperability between software reengineering tools and components, such as code extractors (parsers), analyzers and visualizers. GXL allows software reengineers to combine single-purpose tools especially for parsing, source code extraction, architecture recovery, data flow analysis, pointer analysis, program slicing, query techniques, source code visualization, object recovery, restructuring, refactoring, remodularization, etc., into a single powerful reengineering workbench. There are two innovative features in GXL that make it well-suited to an exchange format for software data.

The conceptual data model is a typed, attributed, directed graph. This is not to say that all software data ought to be manipulated as graphs, but rather that they can be exchanged as graphs. It can be used to represent instance data as well as schemas for describing the structure of the data. Moreover, the schema can be explicitly stated along with instance data. The structure of graphs exchanged by GXL streams is given by a schema represented as a Unified Modeling Language (UML) class diagram. Since GXL is a general graph exchange format, it can also be used to interchange any graph-based data, including models between computer-aided software engineering (CASE) tools, data between graph transformation systems, or graph visualization tools. GXL includes support for hypergraphs and hierarchical graphs, and can be extended to support other types of graphs. GXL originated in the merger of GRAph eXchange format (GraX: University of Koblenz, DE) for exchanging typed, attributed, ordered, directed graphs (TGraphs), Tuple Attribute Language (TA: University of Waterloo, CA), and the graph format of the PROGRES graph rewriting system (University Bw München, DE). Furthermore, GXL includes ideas from exchange formats from reverse engineering, including Relation Partition Algebra (RPA: Philips Research Eindhoven, NL) and Rigi Standard Format (RSF: University of Victoria, CA). The development of GXL was also influenced by various formats used in graph drawing (e.g. daVinci, Graph Modelling Language (GML), Graphlet, GraphXML) and current discussions on exchange formats for graph transformation systems.

Presentations of former GXL versions At the 2000 International Conference on Software Engineering (ICSE 2000) Workshop on Standard Exchange Formats (WoSEF), GXL was accepted as working draft for an exchange format by numerous research groups working in the domain of software reengineering and graph transformation. During the APPLIGRAPH Subgroup Meeting on Exchange Formats for Graph Transformation, an overview of GXL was given [Schürr, 2000] and participants decided to use GXL to represent graphs within their exchange format for graph transformation systems (GTXL). The 2000 IBM Centers for Advanced Studies Conference (CASCON 2000) included two half-day workshops on GXL. In the morning, 'Software Data Interchange with GXL: Introduction and Tutorial' gave a primer on the syntax and concepts in the format, while the afternoon workshop, 'Software Data Interchange with GXL: Implementation Issues' discussed the development of converters and standard schemas. At the Seventh Working Conference on Reverse Engineering (WCRE 2000), GXL was presented in a tutorial [Holt et al., 2000] and during the workshop on exchange formats [Holt/Winter, 2000]. Central results were a simpler representation of ordering information, the usage of UML class diagrams to present graph schemata and the representation of UML class diagrams by GXL graphs. The Dagstuhl Seminar on Interoperability of Reengineering Tools ratified GXL 1.0 as a standard interchange format for exchanging reengineering related data. Numerous groups from industry and research committed to using GXL, to import and export GXL documents to their tools, and to write various GXL tools.

GXL Partners During various conferences and workshops the following groups from industry and academics committed to refining GXL to be the standard graph exchange format, write GXL filters and tools or use GXL as exchange format in their tools:

Bell Canada (Datrix Group) Centrum Wiskunde & Informatica (CWI), The Netherlands (Interactive Software Development and Renovation and Information Visualization) IBM Centre for Advanced Studies, Canada Mahindra British Telecom, India Merlin Software-Engineering GmbH, Germany Nokia Research Center, Finland (Software Technology Laboratory) Philips Research, The Netherlands (Software Architecture Group) RWTH Aachen, Germany (Department of Computer Science III) TU Berlin, Germany (Theoretical CS/Formal Specification Group) University of Berne, Switzerland (Software Composition Group) University of Bremen, Germany (Software Engineering Group) University of the Bundeswehr Munich, Germany (Institute for Software Technology) University of Edinburgh, UK, (Edinburgh Concurrency Workbench) University of Koblenz, Germany (GUPRO Group) University of Oregon, USA (Department of Computer Science) University of Paderborn, Germany (AG Softwaretechnik) University of Stuttgart, Germany (BAUHAUS Group) University of Szeged, Hungary (Research Group on Artificial Intelligence) University of Toronto, Canada (Software Architecture Group) University of Victoria, Canada (RIGI Group) University of Waterloo, Canada (Software Architecture Group)

External links GXL homepage

Worked examples

Example 1 — a first encounter with GXL

Start with the simplest possible case. Write down what GXL claims or describes in one sentence, then invent the smallest concrete situation in which that sentence is true. In computer science, the smallest case is usually a single object, a single equation or a single measurement. Check that every symbol or term in your sentence has a meaning in that case.

Example 2 — changing one variable

Take the situation from Example 1 and change exactly one quantity: double it, halve it, or set it to zero. Predict what should happen to GXL before you calculate. Comparing your prediction with the result is the fastest way to find out whether you understand the idea or only the words.

Example 3 — an exam-style question

Typical questions about GXL ask you to (a) state it precisely, (b) apply it to given data, and (c) explain a limitation. Practise writing all three answers in under five minutes; the third part is what separates a full-mark answer from an average one.

Applications of GXL

In research
GXL appears in computer science research whenever the underlying quantities have to be modelled precisely. Papers usually cite it as a starting assumption and then explore where it breaks down.
In technology and industry
Engineering practice reuses GXL in design rules, simulations and safety margins. Knowing the idea lets you read a specification sheet and understand why the numbers look the way they do.
In the classroom
GXL is common in secondary-school and first-year university syllabi. It links to neighbouring topics Computer file formats, Graph description languages, XML-based standards, so understanding it makes those chapters shorter.
In everyday life
Look for GXL outside the textbook — in sport, cooking, traffic, electronics or the sky above you. An example you found yourself is remembered far longer than one you were given.
Ask Teacher Smith questions about this articleOpens your AI tutor with a question about “GXL” →

Affiliate

Preply — study more efficiently by working with a personal tutor. 50% off.

How to study GXL in 20 minutes

  1. Read the reference excerpt below once, without taking notes.
  2. Close the page and write down what GXL means in your own words.
  3. Compare your version with the excerpt and mark what you missed.
  4. Work through the three examples above with pen and paper.
  5. Explain GXL out loud to somebody else — or to Teacher Smith in the lgStudy chat.

Frequently asked questions

What is GXL in simple terms?

GXL (Graph eXchange Language) is designed to be a standard exchange format for graphs. GXL is an extensible markup language (XML) sublanguage and the syntax is given by an XML document type definition (DTD).

Why does GXL matter?

Because it connects several computer science ideas at once: it gives you a definition you can apply, a quantity you can calculate, and a way to check whether a result is plausible.

How should I study GXL?

Read the excerpt, restate it from memory, then work through the examples and applications listed on this page. The five-step study plan above takes about twenty minutes.

What does this page cover?

It gives you a compact reference excerpt plus original lgStudy explanations, examples, applications and study material on GXL.

Tags

  • Computer file formats
  • Graph description languages
  • XML-based standards

Keep exploring