Advisors: Sören Domrös, Niklas Rentz, Reinhard von Hanxleden
- Compare Software Architecural Model to Implementation
OSGiViz and Software Project Viz currently allows to inspect software architecture aspects of projects. We would like to model software architectures in the same style to enable a model-to-implementation comparison or mockup code generation for architectures.
- 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.