- Tight Packing of Connected Components (Bachelor)
Different connected components of a graph are often laid out separately and combined again afterwards. This combination step often produces too much whitespace. Research relevant 2D packing literature and implement a better solution.
Jira server KIELER JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 2851bd34-0bf1-3f02-ab12-7d77ccab0fae key KIPRA-1262 Jira server KIELER JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 2851bd34-0bf1-3f02-ab12-7d77ccab0fae key KIPRA-1031
- Implement and Evaluate a Layout Algorithm for Simple Cluster Graphs (Bachelor/Master)
Cluster graphs are graphs in which every node belongs can belong to one or more groups of nodes, or clusters. The clusters can overlap and do not need to form a hierarchy. We already have some ideas for laying out cluster graphs with simple structures. This topic focusses on implementing at least one of these ideas and evaluating it to find out if it works well.
- Layering Algorithms (Bachelor, Master)
Implement an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout. The focus of the algorithm could the consideration of the number of edge crossings, a given aspect ratio, or overall compactness.
- Combining Forces and Layers (Master)
Design and implement a layout algorithm that combines the force-based and the layer-based approaches. The first three phases of the layer-based approach shall be replaced by a node distribution computed with a force-based approach.
- Node Placement With a Focus on Compactness (Master)
Node placement algorithms often try to draw as many edges as straight lines as possible. However, that usually results in less compact diagrams. The focus of this topic would be to devise or adapt a node placement algorithm that tries to strike a balance between straightness and compactness.
- Force Based Drawing with Port Constraints (Master)
Develop methods for integrating port constraints in force-based drawing approaches. The resulting node placement shall be evaluated using an edge router such as libavoid on the model library of Ptolemy.
- Interactive constraint creation and application in automatic layout (Bachelor/Master)
Evaluate options how to create constraints on the layout like "Node x should be placed at position y" and how to implement this in the current layout algorithms.
- Compound Graph Layout (Master)
Design and implement new concepts for computing layer-based layouts of compound graphs. The main focus shall be on maintainability: ensuring that the implementation can be kept working over the years. The main area to be considered here is the crossing minimization phase.
- Orthogonal "Edge Bundling" (Bachelor, Master)
Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithm.Integrate KIML with JGraph (Bachelor)
Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
Jira server showSummary true KIELER JIRA columns key,summary,type,created,updated,due,assignee,reporter,priority,status,resolution serverId 2851bd34-0bf1-3f02-ab12-7d77ccab0fae key KIPRA-1214
- Improve and Assess KLay Layered's JUnit Test Environment
We maintain a variety of JUnit tests to assure our layout algorithm works properly. The environment to execute these tests grew over time and requires a face-lift. The task is to evaluate existing testing frameworks of other projects, find a clean and efficient way to specify and maintain our tests, and update the current implementation.
- A Simple Edge Router (Bachelor)
Often, people want their nodes to stay in the same place, but have the edges routed somehow. We currently don't have any layout algorithm that can do so. In this assignment, you would implement a simple edge router to solve this.
Advisors: Reinhard von Hanxleden, Ulf Rüegg, Christoph Daniel Schulze.