Skip to main content

Eclipse Layout Kernel

Ever feel like you spend most of your time getting a diagram’s layout right instead of its content?

Diagrams are great for visualizing concepts and systems. However, just being graphical in nature does not automatically make a diagram easy to understand. Its usefulness much rather depends on the placement of its elements, that is: on its layout. Getting the layout right is labour intensive and time consuming, so why not make algorithms do the work?

The Eclipse Layout Kernel (ELK) provides layout algorithms, as well as an infrastructure to connect them to diagram editors.

To get started using automatic layout, a developer usually only has to provide a transformation that produces an ElkGraph and applies the computed layout results back to his editor.

The Parts of ELK

The Eclipse Layout Kernel consists of two parts:

  1. The kernel itself provides the basic infrastructure that connects editors with layout algorithms. Part of that is the ElkGraph, a data structure used to pass diagrams to the layout algorithms and receive the layout information computed by the algorithms.
  2. The actual layout algorithms. Different layout algorithms specialize in different kinds of diagrams and layout problems. We also provide connections to popular layout libraries.

Who Is This For?

The Eclipse Layout Kernel is aimed at tool developers that want to enhance their graphical editors and viewers by adding automatic layout functionality. If you're a user of such tools, there's a very high probability that simply installing the Eclipse Layout Kernel will not add automatic layout to the tool (at least not in a way that will be remotely helpful to you). Instead, ask the developers of your tool to look into integrating their tool with the Eclipse Layout Kernel.

What we used to be…

The Eclipse Layout Kernel used to be the KIELER Infrastructure for Meta Layout (KIML) and was a part of the KIELER project.


Back to the top