Automatic Graph Layout
Advisors: Christoph Daniel Schulze Sören Domrös, Reinhard von Hanxleden.
Advisors: Christoph Daniel Schulze, Reinhard Sören Domrös, Niklas Rentz, Reinhard von Hanxleden
- Post-Processing Label Placement with Label Management (Bachelor, Master)
This is about implementing a stand-alone label placement algorithm that can place node and edge labels after everything else has already been placed. Since there might not be enough space to place all labels, the algorithm should provide different options of coping with such situations. One would be to hide such labels, another one would be to apply label management to them.
- Standalone Edge Routing (Master)
- Compound Graph Exploration (Bachelor, Master)
A new graph exploration approach should be examined which is uses different zoom levels for different compound nodes. This tries to map the "Google Maps approach" of only showing the information of interest at any given zoom level to the field of graph exploration.
- Improvements to Spline Edge Routing (Bachelor, Master)
Spline edge routing closely follows the routes orthogonal edges would take. A Bachelor's thesis could work on improving how splines connect to their end points to make the results look more natural. A Master's thesis could look at improving the routes splines take through a diagram more generally.
- Interactivity for Further Diagram Elements and Layout Algorithms (Bachelor, Master)
- Relative Interactivity Constraints (Bachelor, Master)
- Polishing and Evaluating Interactive User Experiences (Bachelor, Master)
- Interaction Techniques for Large Diagrams (Bachelor, Master)
- Control Flow Graph Exploration / Visualization (Bachelor)
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.
Advisors: Steven Smyth, Alexander Schulz-Rosengarten, Lena Grimm, Reinhard v. Hanxleden
Synchronous languages are well-established for the design of embedded, in particular safety-critical systems. One of our research areas concerns the further development of such languages and their efficient compilation. Specifically, we explore the paradigm of "sequential constructiveness" for reconciling familiar, imperative programming concepts with the sound grounding of synchronous languages. One language we have developed to try out and validate our concepts is the SCCharts language, which keeps evolving and thus offers many opportunities for student theses.
- Optimization of the SCCharts compiler/transformations (Bachelor/Master)
Profile the actual SCCharts compiler/transformations and apply optimizations; also evaluate the possibility to use multiple cores for compilation.
- Efficient data dependency & scheduling analyses in SCCharts (Master/Bachelor)
Implement analyses for data dependencies and scheduling (e.g. tick boundaries) for SCCharts to improve static scheduling of the compiler.
- Visualization of Model-based Simulation via Tracing (Bachelor/Master)
Use the already implemented Model-to-Model-Tracing in KIELER to visualize simulations.
- Core SCCharts Interpreter with dynamic Scheduling (Master/Bachelor)
Implement an Interpreter for Core SCCharts that supports SC Policies.
- Live Debugging of Statecharts (Master/Bachelor)
Implement a dedicated debugging view for SCCharts.
- Microstep-Simulation of Statecharts (Master/Bachelor)
Implement a method to do microstep simulation with SCCharts.
Model-based C Code Compilation
- Execution of Recursive Dataflow Code (Master/Bachelor)
- Execution of Concurrent Dataflow Code (Master/Bachelor)
Modify the model-based dataflow compiler in KIELER so that it is able to compile recursive/concurrent C programs.
For Master students: Implement both.