ANNOUNCEMENT: VCG Graph Layout Tool V.1.30 (Georg Sander)
Fri, 17 Feb 1995 13:41:48 GMT

          From comp.compilers

Related articles
ANNOUNCEMENT: VCG Graph Layout Tool V.1.30 (1995-02-17)
| List of all articles for this month |

Newsgroups: comp.compilers
From: (Georg Sander)
Keywords: tools, available, FTP
Organization: Compilers Central
Date: Fri, 17 Feb 1995 13:41:48 GMT

                    Announcement: New version of the VCG tool

The VCG Tool
A Visualization Tool for compiler graphs

          The VCG tool reads a textual and readable specification of a
          graph and visualizes the graph. If not all positions of
          nodes are fixed, the tool layouts the graph using several
          heuristics as reducing the number of crossings, minimizing
          the size of edges, centering of nodes. The specification
          language of the VCG tool is nearly compatible to GRL, the
          language of the edge tool, but contains many extensions. The
          VCG tool allows folding of dynamically or statically speci-
          fied regions of the graph. It uses colors and runs on
          X11. (An older version runs on Sunview).

          The VCG tool has been developed and tested on a Sparc ELC with
          SunOs 4.1.3, X11 Release 5 and Release 6, and different ANSI C
          and K&R C compilers. It has further been tested on Solaris
          (SunOs 5.3, gcc only), on a Silicon Graphics (IRIX 5.2),
          on a IBM R6000 (AIX 2 with AIX Windows), on a HP-UX (X11R5, c89),
          on a DecStation (ULTRIX, X11R5, gcc only), on Linux (X11R5, gcc),
          and on OSF (X11R5, gcc). Recently, a user ported the tool to

          1) Several bugs are solved now. Thanks to all people who have
reported these.

          2) The most interactive commands are now much faster.

          3) Up to 254 colors out of 16777216 possibilities can be used,
                i.e. a color table is used now.

          4) Orthogonal layout is implemented: here all edges consist
                of horizontal and vertical edge segments (manhattan layout).
                In particular, flowcharts look much better in this style.

          5) Fisheye views: If the graph is very large, we normally had
                only the possibility to see a detail but not the whole graph,
                or to see the whole graph, but scaled so much that nothing is
                recognizable. Now, we use fisheyes and see the focus point en
                detail and the overview over the graph at the same time.

          6) The printer driver interface allows to produce a output file
                of the visualized graph without the need of interaction.
                The VCG tool acts as a kind of converter program in this
                case: it converts a VCG file into a PostScript or bitmap
                file. The interactive display is suppressed in this case.
                This is useful if a large number of VCG specifications must be
                converted into PostScript or bitmap file by a batch job.

          7) It is possible to explore the network of edges by the `follow
                edge' command. This command is now more comfortable: a history
                mechanism is implemented.

          8) New types of edges: backedges and bentnearedges are very useful
                for flowcharts and control flow graphs.
                There are some new attribute for the edges: the color of the
                label and the arrowheads, the style of the arrowheads etc.

          9) Time limits can be specified for the layout. If the time limit
                is exceeded, the tool switches into the fastest and ugliest
                layout mode.

        10) etc.

          0) The VCG tool is not a graph editor. It is intended to
visualize large graphs that are automatically generated by
programs, e.g. debuggers of data structures.

          1) Speed is always the first priority. Examples:

Type | Nr.of nodes | Nr.of edges | Time | Mode
                tree | 4095 | 4094 | 2 sec. | normal
graph | 66 | 95 | 3 sec. | normal
graph | 132 | 288 | 5 sec. | normal
graph | 20 | 190 | 14 sec. | normal
graph | 26 | 325 | 22 sec. | normal
graph | 75 | 3983 | 89 sec. | -f (fast mode)

The graph 5 with 75 specified nodes and 3983 edges consists of
21694 internal nodes and 23540 internal edge segments.

The tests were done using a xvcg (X11 version, compiled by
gcc version 2.6.3, gcc options -O -finline-functions).
They were done on a Sparc 10/30 (arch = sun4m) with 32 MB
main memory.
The times include time for loading, layouting and displaying.

          2) The layout algorithm can be controlled in different ways.
There are 13 basic layout methods, including a specialized
version for trees, and 4 variants of crossing reduction,
and various optional optimization methods.
Further, the priorities of edges and the number of layout
iterations may be set to influence the layout.

          3) Folding of subgraphs, of dynamically specified regions and
the hiding of classes of edges allow to select exactly the
part of the graph that is of interest.

          4) Arbitrary zooming of graphs.

          5) Color support.

          6) Different shapes of nodes are available: boxes, triangles,
                rhombs, ellipses.

          7) It is possible to specify a raster where the centers
of the nodes are placed. This may yield in a more uniform
layout in some applications.

          8) Export into PBM-P4 files (black and white) or PNM-P6 files
(color). For these formats, there are a lot of converters
and printer drivers in the world. (For instance, the PBM+
package is available by anonymous ftp at
in the directory /pub/graphics).
Colored multiple page PostScript output up to 25 pages to
                print very large graphs is possible, too.

          9) Edges can be drawn as polygon segments, or as splines.
Splines are basically of interest for a quality PostScript output,
because the drawing of splines in a X11 window is rather slow.

        10) Interface to program animations that provide the VCG tool
with a sequence of graph descriptions.

          Copyright (C) 1993--1995 by Iris Lemke, Georg Sander, and
                                                                  the Compare Consortium

          This work is supported by the ESPRIT project 5399 Compare.
          We thank the Compare Consortium for the permission to distribute
          this software and documentation freely. You can redistribute
          it under the terms of the GNU General Public License as published by
          the Free Software Foundation; version 2 of the License.

          The members of the Compare Consortium are ACE Associated Computer
          Experts bv, GMD Forschungsstelle an der Universitaet Karlsruhe,
          Harlequin Limited, INRIA, STERIA, Stichting Mathematisch Centrum (CWI),
          and Universitaet des Saarlandes.

          The Compare Consortium will neither assume responsibility for any
          damages caused by the use of its products, nor accept warranty or
          update claims. This product is distributed in the hope that it will
          be useful, but WITHOUT ANY WARRANTY; without even the implied warranty
          GNU General Public License for more details.

          The software is available by anonymous ftp at
          ( in the directory /pub/graphics/vcg. This site is
          in Germany.

          Contact for additional information.

          Georg Sander, University of Saarland, 66041 Saarbruecken, Germany.
          Iris Lemke, University of Saarland, 66041 Saarbruecken, Germany.

          The VCG tool has been developed at the Institute for Compiler
          Construction, Department of Computer Science, at the University
          of Saarland, conducted by Prof. Dr. R. Wilhelm.

| Georg Sander - FB 14 Informatik - Universitaet des Saarlandes |
| 66041 Saarbruecken, Germany |
| --------------><--------------- Phone: +49-681-302-3054 |


Post a followup to this message

Return to the comp.compilers page.
Search the comp.compilers archives again.