Available Topics - [Pragmatics] Fast and Efficient Incremental Diagram Generation 

Page / - last modified by Maximilian Kasperowski on 2024/06/21 11:29 

[Pragmatics] Fast and Efficient Incremental Diagram Generation 
last modified by Maximilian Kasperowski
on 2024/06/21 11:29

Table of Contents
Goals
Scope
Related Work/Literature
Involved Languages/Technologies
Supervised by

The KIELER framework provides a VS Code extension that supports interactive diagrams for a variety of languages. Technologically this is realized using a language server that has been extended to support diagram generation and interaction. Diagrams can become rather large and at that point the server-client communication becomes a bottleneck for the responsiveness of updating diagrams. In [1] an initial prototype was developed to support incrementally sending a diagram in chunks from the server to the client, prioritized by the current location of the viewport. This drastically increases the speed of individual transmissions, but due to the additional overhead and extra request messages the total time to send a diagram can actually increase, which is not desired.
The current communication protocol is a very simple request-response pattern and the goal of this thesis would be to implement a better protocol (e.g. by utilizing pipelining) and evaluate the speeds that can be achieved using different approaches. The hierarchical structure of the graphs being sent and the viewport location provide ordering constraints that make this an interesting problem to solve.
This thesis involves three main components:
 1.	On the klighd-vscode client, diagram pieces must be requested, received and patched into the local graph model
 2.	The communication protocol may need to be updated with new messages and options and the protocol concept itself must be developed.
 3.	On the server-side in KLighD, requests must be handled appropriately and the diagram generation may need to be adapted.
Because this topics builds upon previous work, the general infrastructure for all this is already in place and the goal is to really improve and evaluate the protocols and algorithms that are used.
Goals
•	Development and implementation of an improved incremental diagram generation utilizing concepts commonly used in other network protocols.
•	Evaluating and comparing the diagram generation time of the classical approach (sending whole  diagram at once), the existing naive implementation, and any new approaches developed during the thesis.
Scope
Bachelor's Thesis
Related Work/Literature
[1] Maximilian Kasperowski, A Top-Down Approach on Automatic Graph Visualization, October 2021 (pdf)
Involved Languages/Technologies
•	Java / Xtend in KLighD
•	Typescript in klighd-vscode
•	Sprotty
Supervised by
Maximilian Kasperowski
mka@informatik.uni-kiel.de