Page tree

Versions Compared

Key

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

Here's a selection of possible bachelor and master topics. If you're interested in one of them, don't hesitate to contact us! We'll sit down, have tea, and talk about what we could do together.

Bachelor Topics

...

Graph Layout

  • Add Support for Self Loops for Polyline / Spline Layouts
    Self loops, that is, edges connecting a node with itself, need to be properly routed. This is already implemented for orthogonal edge routing, but is still an open problem for spline and polyline edge routing. 
    Jira
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1073
  • Implement Greedy Switch Heuristic for Crossing Minimization
    The order of nodes in a layer determines the number of crossings and is computed during the crossing minimization step. The results can usually be further improved by switching the order of nodes around, which we currently lack proper algorithms for. 
    Jira
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-891
  • Layering Algorithms
    Implement an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout.
  • Integrate KIML with JGraph
    Provide automatic layout through KIML for the JGraph diagram library and develop a simple JGraph-based graph editor to test the integration with.
    Jira
    showSummarytrue
    serverKIELER JIRA
    columnskey,summary,type,created,updated,due,assignee,reporter,priority,status,resolution
    serverId2851bd34-0bf1-3f02-ab12-7d77ccab0fae
    keyKIPRA-1214
  • Improved Edge Label Placement
    Our layout algorithm already supports the placement of edge labels. However, there's still room for improvement...

...

  • Developing an Info Screen
    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.

...

Master Topics

...

Graph Layout

  • Layering Algorithms
    Develop an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout. The algorithm shall be extended to consider the number of edge crossings and an optimal aspect ratio.
  • Spline Layout
    Develop a proper spline routing for KLay Layered. Part of this would be implementing self-loops with splines. The expected end result is that KLay Layered can well be used to layout state charts.
  • Compound Graph Layout
    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.
  • Force Based Drawing with Port Constraints
    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
    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.

Modeling Pragmatics

  • Diagram Description Language
    Developing the concepts and implementation of a diagram description language based on Klighd, with SyncCharts as application example.

Semantics and Synchronous Languages

  • FPGA Statecharts
    Development of a Statecharts editor, based on .NET, WPF, MS Silverlight. Synthesis onto FPGAs with a data-flow-based intermediate format.
  • [Quartz]
    Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.