The Eclipse Layout Kernel
S\"oren Domr\"os, Reinhard von Hanxleden, Miro Sp\"onemann, Ulf, R\"uegg, Christoph Daniel Schulze

TL;DR
The paper presents the Eclipse Layout Kernel, an open-source graph drawing library supporting complex layouts and ports, highlighting its history, key algorithms, architecture, and practical applications over fifteen years.
Contribution
It provides a comprehensive overview of ELK's development, key algorithms, architecture, and lessons learned, emphasizing its impact on research and practical graph layout solutions.
Findings
ELK supports complex graph layouts with ports and compound structures.
ELK has been adopted in numerous academic and commercial projects.
The paper discusses lessons learned and future threats to open-source graph drawing tools.
Abstract
The Eclipse Layout Kernel (ELK) is a collection of graph drawing algorithms that supports compound graph layout and ports as explicit anchor points of edges. It is available as open-source library under an EPL license. Since its beginning, ELK has served both as a research vehicle for graph drawing algorithms, and as a practical tool for solving real-world problems. ELK and its transpiled JavaScript cousin elkjs are now included in numerous academic and commercial projects. Most of the algorithms realized in ELK are described in a series of publications. In this paper, the technical description concentrates on the key features of the flag-ship algorithm ELK Layered, the algorithm architecture, and usage. However, the main purpose of this paper is to give the broader view that is typically left unpublished. Specifically, we review its history, give a brief overview of technical papers,…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsModel-Driven Software Engineering Techniques · Software Testing and Debugging Techniques · Software Engineering Research
