Legacy Project

KEG is not maintained anymore and hence not part of any release. To test layout algorithms, we now use the KGraph Text Editor with KLighD.

**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.

Create an empty graph

File → New → Other... → KIELER → KEG Diagram

### 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.

Create a random graph

File → New → Other... → KIELER → Random KEG Graph

### 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.

Import an existing graph

File → Import... → KIELER → Graphs to KEG Graphs

### Exporting Graphs

Graphs created with KEG can be exported to different formats (a list is shown on the generated layout web service page).

Export a KEG graph

File → Export... → KIELER → Export Graph

### 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.

Invoke automatic layout

Hit first Ctrl + R, then L (on MacOS: Cmd + R, then L)

### 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.