Editor for Graphs (KEG)
Project Overview
Responsible:
Related Theses:
- Martin Rieß, A Graph Editor for Algorithm Engineering, September 2010 (pdf)
The KIELER Editor for Graphs (KEG) is an Eclipse-based graph editor designed for the development of graph algorithms, especially layout algorithms. To fit this purpose the KEG is able to represent most of the structures which are of interest in graph theory and supplies tools to construct and verify graph instances:
- Nodes
- Directed and undirected edges
- Hyperedges, using a combination of hypernodes and common directed or undirected edges
- Ports
- Compound nodes
- Node and edge labels
To start using the editor create a new KEG Diagram with the appropriate wizard. This will automatically open a new diagram editor and create the two required files: the *.keg file containing the KEG model and the *.kegdi file containing the GMF notation model, that is a GMF specific model to hold information about the layout of the diagram and the linkage of diagram elements to model elements.
Random Graph Creation
An alternative to starting with an empty diagram is the random graph wizard, which allows the user to generate a KEG graph utilizing one of several configurable creation algorithms. The used algorithm determines the general structure of the generated graph:
- Any Graph - can create any kind of graph, customizations can restrict the randomness by disallowing self-loops, multi-edges and cycles
- Tree - creates a rooted tree with specified maximum degree and width
- Biconnected Graph - creates a biconnected graph
- Triconnected Graph - creates a triconnected graph
- Acyclic graph without transitive edges - creates an acyclic graph without transitive edges, can be customized to force planarity
For all selected algorithms the number of nodes in the generated graph has to be specified, and in most cases the number of edges can be specified directly. The implemented graph creation algorithms are based upon the implementations found in the OGDF library.
Importing Graphs
There are many use-cases in which it is not required or desired to construct a graph by hand or generating a random graph, because a preexisting graph library fulfills all required criteria. In this cases importing those graph files is the best solution. The graph import wizard provided by KEG can import from the following graph formats:
Note that in some cases the interpretation of values in those models is not clearly specified and can differ in other implementations.
Exporting Graphs
Graphs created with KEG can be exported to different formats (a list is shown on the generated layout web service page).
Automatic Layout
The layout algorithms provided by the Layout project can be applied to KEG diagrams using the KIML user interface. The KEG editor is a good choice for testing these algorithms.
Graph Analysis
KIML provides various graph analysis algorithms for obtaining information on the structure and the drawing of a graph. This can also be applied in batch mode in order to analyze a large number of graphs.