» Dienste. Algorithmen und Meta Layout müssen den Anwendern zugänglich gemacht werden, damit ein Nutzen daraus entsteht. Dazu müssen wir verschiedenste graphische Frameworks mit vorhandenen Layout-Bibliotheken integrieren und eine Reihe von Werkzeugen entwickeln, mit denen die Verfügbarkeit unserer Lösungen gesteigert wird. Hierzu gehört z.B. die Unterstützung von Standard-Graphenformaten sowie ein Web-Service für automatisches Layout.
- 1 Tight Packing of Connected Components (Bachelor, Master)
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.
- 2 Heuristics for the Compact Layering Problem (Bachelor, Master)
Usually the layer assignment problem of the layer-based approach seeks to let as many edges as possible point into the same direction. Refraining from doing so sometimes allows more compact drawings, which so far has been evaluated using optimization problems. The task is to find and evaluate appropriate heuristics.
- 2 Evaluate Impact of Reversing Edges on Humans (Master)
Reversing edges during the layer assignment problem as suggested by the previous topic may have a negative impact on the readability of diagram. User-studies should be carefully planned and conducted to answer two questions: which edges are naturally reversed by humans and does reversing too many edges worsen comprehensibility?
- 2 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 be the consideration of the number of edge crossings, a given aspect ratio, or overall compactness.
- 2 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.
- 2 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. Assess how such constraints can be persisted within the model.
- 3 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.
- 3 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.
- 1 Improved Spline Edge Routing (Master)
Our layer-based layout algorithm is capable to route edges as splines. Evaluate the results using state machine diagrams, identify possible improvements and develop solutions to address these.
- 1 Improve and Assess KLay Layered's JUnit Test Environment Orthogonal "Edge Bundling" (Bachelor, Master)
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.3 Orthogonal "Edge Bundling" (Bachelor, Master)
Implement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithmImplement and evaluate strategies for orthogonal edge bundling within our layer-based layout algorithm.
- Force-directed Methods for State Machine Layout (Master)
We currently use layer-based methods to layout SCCharts, a state machine dialect. The goal of this topic is to evaluate and implement force-directed methods to lay out SCCharts. Hard requirements are a proper placement of edge labels, proper routing of edges, and being able to specify the relative positioning of certain nodes to each other.
- Routing of Self-Loops (Master)
Self-loops are an integral part of many diagram types, for instance, of state diagrams and dataflow diagrams. Properly routing self-loops is not as easy as one may think. The task of this topic is to evaluate and implement different strategies to route self-loops for three edge routing styles: polyline, orthogonal, and splines. Labels of self loops are to be considered as well.
Advisors: Reinhard von Hanxleden, Ulf Rüegg, Christoph Daniel Schulze
- Developing an Info Screen (Bachelor)
Info screens are screens that present data in ways that can be easily understood. This includes static data (project description graphics, members of a team, ...) as well as dynamically aggregated data (bug statistics, automatic build overviews, ...). This topic is about developing such an info screen for our group and making it easily configurable.
- Developing a domain specific language (DSL) for model railway control (Bachelor/Master)
We maintain a model railway installation as a demonstrator for our work and as a student teaching tool. Especially for demonstations to non-technical visitors we would like to have a simple language to create controllers for the railway.