Page tree

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.


» 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.

  • 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.
    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.
  • 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?
  • 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.
  • 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.


  • 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.
  • 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.
  • 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.


  • 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.
  • Orthogonal "Edge Bundling" (Bachelor, Master)
    Implement 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.


In diesem Kontext sind Themenstellungen für Bachelor-/Master-/Diplom- und Studienarbeiten beispielhaft genannt. Bei Fragen oder sprechen Sie einen Betreuer bitte direkt an:


SCCharts Modelling & Transformations


  • Incremental Compilation of SCEst (Bachelor/Master)
    Modify the KIELER SCEst language so that KIELER is able to compile Esterel step-by-step to C via SCL.
    For Master Students: Also add the possibility to compile from SCCharts to SCEst. 
  • eSCL - Implementing gotopause (Bachelor/Master)
    Create an extended dialect of the SC Language including the gotopause statement and implement a transformation to SCL.
  • Quartz (Master)
    Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.


Miscellaneous Topics

Advisors: to be determined.

  • 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.