Visual languages are popular 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 and can be made a lot easier by making algorithms do the work. The Eclipse Layout Kernel™ (ELK) provides such layout algorithms, as well as an infrastructure to connect them to diagram editors.
ELK consists of two parts:
- The kernel 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.
- The actual layout algorithms. Different layout algorithms specialize in different kinds of diagrams and layout problems.
To use ELK, a developer usually only has to provide a transformation that produces an ElkGraph and applies the computed layout results back to his editor.