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.
- Control flow graph exploration/visualizationFlow Graph Exploration / Visualization
Use pragmatics concepts (automatic layout, focus & context) for exploring/visualizing control flow graphs and specific paths, eg. as computed by OTAWA WCET analysis tool, eg. using Klighd.
- SyncCharts and actor model visualizationActor Model Visualization
Develop an integrated viewer for SyncCharts and KAOM models using KLighD, including view management techniques such as focus & context and structure-based editing.
- Validation manager Manager for modelsModels
Develop an integrated, flexible and generic syntactic validation framework for models (e.g. Esterel or SyncCharts).
- Esterel / SyncCharts Validation
Automate the validation for a (generic) SyncCharts simulator employing the Esterel simulator and the Esterel to SyncCharts transformation.
- Transformation from SyncCharts to Esterel [possibly also Master Topic]
Develop a transformation in Xtend2 to generate Esterel code for SyncCharts.
- Layering algorithmsAlgorithms
Implement an alternative algorithm for the layer assignment problem used in the layer-based approach to graph layout.
- Heuristics for Side Aware Edge Label Placement
Think about and implement heuristic algorithms for solving the edge aware edge label placement problem for placing edge labels in data flow diagrams.
- 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.
- 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.
- Incremental Update for Klighd
Incremental update of Klighd data structure after editing.
- Visualizing Model Edits/Changes
Develop and implement methods to visualize a model while it is edited. A particular concern here is the preservation of the mental map.
- SyncCharts in Yakindu
Develop a SyncChart-Editor based on Yakindu, including basic pragmatics concept (automatic layout, collapse/expand, structure-based editing) and interfacing to host-language.
- FPGA Statecharts
Development of a Statecharts editor, based on .NET, WPF, MS Silverlight. Synthesis onto FPGAs with a data-flow-based intermediate format.
- Diagram description languageDescription Language
Developing the concepts and implementation of a diagram description language based on Klighd, with SyncCharts as application example.
Integrate the synchronous Quartz language into KIELER for validation purposes and teaching.