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, discuss lessons learned over the past fifteen years, and present example usages. Finally, we reflect on potential threats to open-source graph drawing libraries.
翻译:Eclipse 布局内核(ELK)是一个支持复合图布局并将端口作为边的显式锚点的图绘制算法集合。它以EPL许可证作为开源库提供。自诞生以来,ELK既作为图绘制算法的研究载体,也作为解决实际问题的实用工具。ELK及其通过转译生成的JavaScript版本elkjs现已纳入众多学术和商业项目中。ELK中实现的大多数算法已在系列出版物中描述。本文的技术描述集中于旗舰算法ELK分层的关键特性、算法架构及使用方法。然而,本文的主要目的是提供通常未公开的宏观视角。具体而言,我们回顾其发展历程,简要概述技术论文,总结过去十五年积累的经验教训,并展示应用实例。最后,我们反思开源图绘制库面临的潜在威胁。