Products:
Compendium-TA
A modelling tool
Email Control Center
Free - Control Outlook
URL Control Center
Free url manager
Perl Path Analysis
Free Testing Tool
Test Utilities in Excel
Free Testing Utilities
Test Data Utilities
Free Test Data Utilities
ForceWindowVisible
Free System Util
Compendium Developments Software Testing Reviews, Essays and Tools
 
Web site

 

Page 8

index: [Page 1] [Page 2] [Page 3] [Page 4] [Page 5] [Page 6] [Page 7] [Page 8]

Appendix 5: Graph Languages. 26

GraphViz (Dot)26

GML. 26

Graphotron. 27

GXL. 27

GraphXML. 27

GraphML. 27

XGMML. 27

 

Appendix 5: Graph Languages

More information on all the Graph Languages presented in this paper can be found below, with links to their respective web sites.

 

XML Based

Structured Text

XGMML

GXL

GraphXML

GraphML

Graphotron

Dot

GML

 

All the markup languages listed here are simple text files. Dot and GML are the oldest so are a structured text rather than XML. This actually makes them simpler to manage and maintain without formal tool support.

 

Structured Text

 

GraphViz (Dot)

http://www.research.att.com/sw/tools/graphviz/

http://www.graphviz.org

 

Description

Sample

The GraphViz graph markup language. This is probably the most well supported graph visualisation format available. It is also one of the easiest languages to write by hand.

 

It is a very simple representation and is my favourite when it comes to hand crafting the graph representations.

 

Nodes are all given a unique ID and a textual label. Edges are defined as being from node -> node and it is the label that identifies them as unique.

 

The language is more flexible than presented here and there are a lot of extra attributes to define line style, colour, shape, position. But for constructing a graph quickly, all that is required is shown in the example.

digraph G2 {

rankdir = LR;

node16[label = "start application (16)"];

node17[label = "main window (17)"];

node18[label = "exit application (18)"];

node19[label = "file edit window (19)"];

node17 -> node19[ label = "open file (23)"];

node19 -> node19[ label = "edit file (24)"];

node19 -> node19[ label = "save file (25)"];

node19 -> node17[ label = "close file (26)"];

node16 -> node17[ label = "start (27)"];

node17 -> node18[ label = "exit (28)"];

}

 

GML

Graph Markup Language

 

http://infosun.fmi.uni-passau.de/Graphlet/GML/

 

Description

Sample

GML was created as the markup language for Graphlet. But is also the text representation used by the VGJ tool.

 

It is a very simple structured  text language format that uses white space and [ ] as delimiters, and while it is easy to write by hand, I prefer the dot representation.

 

The GML format is probably easier to parse if you want to read it as an input format as it marks off when a node starts and when an edge starts.

 

Both GML and GraphViz are easily automatically or manually constructed.

 

As per the GraphViz language, there are a lot of extra markup attributes for colour and shape etc.

graph [

    comment "G2"

    directed 1

    id 42

    label "Graph G2"

    node [ id 16  label "start application (16)" ]

    node [ id 17  label "main window (17)" ]

    node [ id 18  label "exit application (18)" ]

    node [ id 19  label "file edit window (19)" ]

    edge [ source 17 target 19 label "open file (23)" ]

    edge [ source 19 target 19 label "edit file (24)” ]

    edge [ source 19 target 19 label "save file (25)” ]

    edge [ source 19 target 17 label "close file (26)” ]

    edge [ source 16 target 17 label "start (27)” ]

    edge [ source 17 target 18 label "exit (28)”  ]

]

 

XML Based

 

All the XML variants are very similar, and I’m only going to list the output of a couple of them. XML is obviously easier to add extra fields and notation too, and can be edited in XML editors as well as the tools which support the notation, but the following notations are not actually as well supported as the  two structured text representations GraphViz and GML and are far harder to write by hand.

Graphotron

http://www.zvon.org/ZvonSW/ZvonGraphotron/

 

Description

Sample

Graphotron is designed as an intermediary XML language which can be converted into other graph languages.

 

At the moment the Saxon style sheet parser is used and the supported outputs are Dot (GraphViz), daVinci and VCG.

 

 

<graphotron version="1.0" 
  xmlns="http://zvon.org/graphotron" 
  xmlns:dot="http://zvon.org/graphotron/dot">
 
<global-settings>
<dot:label select="/*/title/@Zvon"/>
</global-settings>
 
<vertex match="/*/*">
<name select="substring(/*/title,
                 count(preceding::*)*3 - 1,
                 3)"/>
<dot:color select="."/>
<dot:fontcolor select="."/>
</vertex>

...

 

GXL

Graph Exchange Language

 

http://www.gupro.de/GXL/

 

GXL Converter Framework:

http://ist.unibw-muenchen.de/GXL/triebsees/

Description

Sample

XML based graph language. There is a GXL converter framework which will turn GXL into various formats, but from a quick look at the web site only syntax trees are supported as output.

<?xml version="1.0"?>

<!DOCTYPE gxl SYSTEM "../../../gxl-1.0.dtd">

<gxl xmlns:xlink="http://www.w3.org/1999/xlink">

   <graph id="simpleExample"><type xlink:href="../../schema/gxl/ simpleExampleSchema.gxl#simpleExampleSchema"/>

      <node id="p">

         <type xlink:href="../../schema/gxl/ simpleExampleSchema.gxl#Proc"/>

         <attr name="file">

            <string>main.c</string>

         </attr>

      </node>

      <edge id="r1" from="p" to="v">

         <type xlink:href="../../schema/gxl/ simpleExampleSchema.gxl#ref"/>

         <attr name="line">

            <int>127</int>

         </attr>

      </edge>

   </graph>

</gxl>

 

 

GraphXML

http://www.cwi.nl/InfoVisu/GraphXML/index.html

 

Description

Sample

XML based graph language that doesn’t seem to have much tool support.

[see web site]

 

GraphML

http://graphml.graphdrawing.org/

 

Description

Sample

Another XML based graph language with little tool support. GraphML is based on GML.

[see web site]

 

XGMML

http://www.cs.rpi.edu/~puninj/XGMML/

 

Description

Sample

XML Based graph language based on the GML language. Created for the WWWPAL web visualisation software.

 

There are converters to turn XGMML into and from GML.

[see web site]

Page 8

index: [Page 1] [Page 2] [Page 3] [Page 4] [Page 5] [Page 6] [Page 7] [Page 8]