TEXT FORMAT

GDL

GDL (aiSee)

GDL (Graph Description Language) is a plain-text format for specifying attributed graphs together with layout hints. It originated with the VCG tool ("Visualization of Compiler Graphs"), written by Georg Sander at Universität des Saarlandes around 1995 within the EU COMPARE compiler project, and was carried forward and extended by the commercial successor aiSee, released by AbsInt in 1997. GDL is essentially the VCG language plus AbsInt extensions; the original VCG dialect is a subset. The format was designed to be emitted programmatically by compilers, debuggers, and data-structure analyzers rather than hand-written, so tools such as GCC could dump control-flow and call graphs directly to .gdl or .vcg files for automatic layout.

Structurally, a GDL file is a single top-level graph: { ... } block containing nested node: and edge: entries, each written as brace-delimited lists of key-value attributes. Every node carries an obligatory title attribute serving as its identifier; every edge specifies sourcename and targetname referring to those titles. Subgraphs are expressed by nesting further graph: blocks, which supports hierarchical folding. GDL provides a rich predefined attribute vocabulary controlling shape (box, triangle, rhomb, ellipse), color (up to 256 named/indexed colors), text, and layout, plus mechanisms for default attributes and per-class redefinition. Special edge kinds such as nearedge and backedge, and edge classes that can be hidden or folded interactively, let the graph author steer the hierarchical (Sugiyama-style) layout, crossing reduction, and orthogonal ("Manhattan") routing that the tool computes automatically.

Within the graph-data and format-conversion landscape, GDL occupies a niche similar to DOT from Graphviz and VCG (its own VCG ancestor): a declarative, layout-oriented graph language rather than a pure data-interchange serialization like GraphML or GML. It sees most use in compiler construction and embedded static-analysis workflows, and remains embedded today inside AbsInt's aiT, StackAnalyzer, and related tools after aiSee was discontinued as a standalone product on 1 November 2014.

Strengths include compact human-readable syntax, extremely rich layout control, and fast automatic layout of graphs with thousands of nodes. Limitations are its narrow, largely AbsInt-tied ecosystem, sparse modern documentation, and the fact that its many layout-specific attributes do not map cleanly onto general graph formats; converters such as Graph::Easy parse VCG/GDL but explicitly lose information on unmapped attributes.

Alternative Names: Graph Description Language

File Extensions: .gdl
FeatureGDL (aiSee)
Nodes supported
Undirected Edges partial
Directed Edges supported
Hyperedges not supported
Mixed-directionality Edges partial
Parallel Edges supported
Self-loops supported
Edges on Edges not supported
Nested Graphs in Nodes supported
Nested Graphs in Edges not supported
Nested Graphs in Graphs supported
Node Labels supported
Edge Labels supported
Attributes on Nodes supported
Attributes on Edges supported
Attributes on Graphs supported
Typed Edges supported

Tools(Read & Write)

Frequently Asked Questions

What is a GDL (aiSee) file?

A GDL (aiSee) file stores a graph — its nodes, edges and attributes — in the GDL (aiSee) format (also: Graph Description Language). See the feature table above for what it supports.

How do I open a GDL (aiSee) file?

Open it in a graph tool that supports GDL (aiSee), or convert it to a format your tool reads. With GraphInOut you can convert GDL (aiSee) to GraphML, DOT, Connected JSON and more, right in your browser.

How do I convert a GDL (aiSee) file to another format?

Use the Convert from GDL (aiSee) link above: upload or paste your GDL (aiSee) file (input preset to GDL (aiSee)), choose a target format and download the result — free, no install.