[Pragmatics] Advanced Filtering of Diagrams
The KIELER framework provides automatically generated diagrams for various models which can be configured in many different ways. For example, the SCCharts shown below are both for the same motor control, whereas the diagrams look different. The left diagram shows an initial view, that might be shown when first opening the SCChart model file, while the right diagram shows the same SCChart model file, but with some different options applied. Some notable differences are the missing declarations, missing shadows, some collapsed regions, and different edge label placement.
When designing a model, the designer often has a specific diagrammatic view in mind and can highlight or hide specific parts of that model by configuring the options. However, the KIELER framework currently does not support storing such contextual information in general and storing the configuration needs to be implemented individually for different projects. The goal for this thesis would be to generalize the concept of storing configurable views based on a single model file or embedding contextual information in the model. Furthermore, the thesis could continue to build a constraint language as a DSL to make the configuration human-readable and easy to modify textually next to the natural graphical configuration of the view.
Current domain-specific implementations are the SCCharts implementation, where at least some layout information can be stored in the SCChart model files, as well as the OSGiViz / SPViz project, where view configurations including layout and synthesis options can be stored alongside project model files to feature individual views on different (software) projects and their architecture. With advances from this thesis, such current implementations and more languages might switch to and apply the results for configurable view constraints!
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
Niklas Rentz, Reinhard von Hanxleden. SPViz: A DSL-Driven Approach for Software Project Visualization Tooling. CoRR, abs/2401.17063 January 2024. PDF
See also https://github.com/kieler/SoftwareProjectViz/
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
- Java/Xtend
- KIELER Framework / KLighD
- Eclipse and VS Code
Supervised By
Niklas Rentz nre@informatik.uni-kiel.de