The layout area provides the foundation for pretty much everything else in KIELER. Much effort in the Pragmatics area has gone into freeing the user from so-called "enabling steps": things a developer has to do to prepare for the model change he actually wants to make. This will usually be things like moving nodes around to make space for other nodes, taking care of edge routing etc. Good layout algorithms are necessary to be able to free the user from tasks like this that don't actually contribute anything to the final model.The core component is KIML, the
. KIML provides the connection between graphical editors on the one hand, and layout algorithms on the other hand. Besides integrating various open source graph layout libraries such as OGDF and Graphviz, KIELER also includes custom layout algorithms in KLay, the component. The most important and most advanced algorithm is KLay Layered, a layer-based layout algorithm targeted primarily at the layout of data flow diagrams. However, KIELER also includes KLay Force, which provides implementations of force-based layout algorithms, as well as a KLay Planar, a planarization-based algorithm. Our custom layout algorithms are implemented in pure Java and can easily be adapted to be used outside of Eclipse as well. There's also the KWebS component, which makes our layout algorithms available as a web service. Finally, GrAna, our graph analysis component, allows us to compute a whole lot of different metrics for diagrams, which is handy when it comes to evaluating the performance of our layout algorithmsOur layout infrastructure and algorithms are available under the umbrella of the Eclipse Foundation as the Eclipse Layout Kernel (ELK) project.
Demonstrators are editors we use to test and demonstrate the technologies developed in the other three areas.
A number of projects that started out as demonstrators were so useful to end users that they ended up in a separate area, OpenKieler. This project is hosted on GitHub and everyone is invited to contribute. DebuKViz helps programmers debug applications visually by generating diagrams of data structures on the fly. KlassViz is a lightweight class diagram generator. EcoreViz displays Ecore models graphically on the fly. KLayJS-D3 finally provides a binding between the KLayJS layout algorithm and the popular D3 graph drawing library.Go to OpenKieler at GitHub
Since this is a research project, we cannot provide support for all subprojects forever. Those that are no longer considered in active development and future releases are listed on the discontinued projects page. We have still some archived documentation for these old subprojects: