Automatically generated diagrams for large models can become quite large and thus hard to navigate. One way of improving readability is the filtering of the diagram, so that it only shows a smaller amount of elements, that all share a common property or are graphically connected in a special way, that we could describe when looking at a diagram. For example, one might want to "only show every element that is (in)directly connected to a specific graph element", or to "highlight a path from node A to node B", or to "show all final states of a statemachine". The information to filter a diagram to conform to these constraints can be found by either looking at the graph structure directly, or by reading some further information from so-called tags from the underlying model.

Currently such filters are mostly hard-coded in filtering options. For example, SCCharts implement a few options to show or hide comment nodes, nodes tagged to be "hidden", or edges showing the dependencies. Another example making heavier use of filtering is OSGiViz. Visualizations of OSGiViz can show the dependencies and services of software projects with highly configurable views, where the user might want to quickly filter a large diagram down to a specific context. OSGiViz has a few options to search for specific IDs of the graph elements, and to apply that filter to only some of the graph elements, e.g. the bundles. A better way that can be implemented with this thesis is to extend the KIELER framework with a configurable filtering, similar to the one sketched in the image below. Here the user can configure their own filters based on information from the underlying model. Furthermore, some often-used default filters that were previously implemented manually could use this new filtering concept and provide pre-configured default filters.

image-20240805145634-1.png

Goals

  • Develop a concept for generic configurable view constraints for the KIELER framework
  • Implement a solution for this problem that can be applied in different diagram contexts, for example for diagrams of the coordination language Lingua Franca
  • Compare different approaches for storing and navigating between different pre-configured views
  • (going further/optional) Develop a Domain-Specific Language (DSL) as a human-readable form for generic diagram constraints

Scope

Bachelor's / (Master's) Thesis

Related Work/Literature

Niklas Rentz, Christian Dams, and Reinhard von Hanxleden. Interactive Visualization for OSGi-based Projects. 2020 Working Conference on Software Visualization (VISSOFT). IEEE, 2020. PDF
See also https://github.com/kieler/osgiviz

Maximilian Kasperowski and Niklas Rentz and Sören Domrös and Reinhard von Hanxleden. KIELER: A Text-First Framework for Automatic Diagramming of Complex Systems. In Diagrammatic Representation and Inference, 14th International Conference, DIAGRAMS ’24, 2024. To be published. (ask us for a preliminary version)
See also https://github.com/kieler/

Involved Languages/Technologies

Supervised By

Niklas Rentz nre@informatik.uni-kiel.de

Tags: