GXL (Graph eXchange Language) is a standard format for exchanging graph-based data. It is the culmination of a cooperative effort among an international group of researchers from disparate areas, including software reengineering and graph transformation. Researchers and tool builders have had a growing interest in comparing and combining approaches to their respective problems
and leveraging each other's results. These collaborations provide lessons learned that are critical to advancing the maturity of the discipline. A standard exchange format for data facilitates tool
interoperability and allows them to use a "best of breed" approach when building a workbench.
Interoperability is the challenge of enabling tools from different suppliers to work together. Wasserman  describes a taxonomy with five types of interoperability: platform, presentation, data, control, and process. Another model from Earl has
three levels: control, user interface, and data . Data interoperability appears in both of them.
Data interoperability requires the data to be compatible both syntactically and semantically. In other words, tools need to agree on both the format and the meaning of this data. The graph-based data model of GXL can be used to represent both instance data and schemas.
Thus, GXL provides a standardized notation for exchanging instance data (graphs) including their structure (graph schemas). Both instance and schema graphs are encoded using the same XML (eXtensible Markup Language) DTD (Document Type Definition) .
While these schema graphs do not provide semantics, they serve as a basis for users to agree upon semantics. This feature is important because it helps tools and researchers communicate about the assumptions inherent in their approaches. This increased mutual understanding is a critial step in building on each other's work to increase the impact of reseach results.
In addition to being a generic format for representing graph structures, GXL is also suitable for object-relational data. Consequently, GXL can be used to represent data from a wider range of applications, including as data repositories and factbases from reengineering tools.
Organisation of this paper
This paper is organised as follows. The next section provides background on interoperability of reengineering tools and their requirements for a standard exchange format. This background provides a motivation for the design decisions for GXL, including the selection of features to be included in the graph model. Section 3 describes how these features are used to represent graph-based instance data from software reengineering. The syntax of GXL is given by the XML DTD in Subsection 3.4. Section 4 explains how the same graph features are used to represent the schema. Adoption of GXL is outlined in Section 5 along with some examples of how GXL has been used successfully to facilitate data interoperability between reengineering tools. The paper concludes with a summary and a discussion of how GXL meets the requirements for data interoperability between reengineering tools.