|Supervisor:||Prof. Gudrun Klinker|
|Advisor:||Weber, Sandro (@no68tap)|
A typical model for distributed applications in Software-Architecture is a client-server model. This model proposes to partition tasks between a server and clients. Clients are able to request resources from the server or consume a stream of data coming from a service running on the server over the network. This architecture is now being challenged by the cloud or edge infrastructure where tasks or applications are distributed over the network, not having just one server but multiple producers. Such systems are more challenging to maintain just because of the fact that there is not only one endpoint like the server in the client-server model but multiple endpoints. This work will propose an editor capable of visualizing such a system with the help of graphs and also the ability to debug distributed applications.
This thesis makes a proposal on how to visualize a distributed system using a graph. The basis for a distributed system is Ubi-Interact (UBII). In the basics it was discussed what UBI is and what possibilities there are to utilize graphs in a way that they increase the understanding of a distributed system. Furthermore it was discussed what the difference between debugging and debugging distributed applications is. The related work provided insight into how a graph layout can be analyzed. Furthermore, they gave insight into the importance of implementing a logging system. Finally, a mapping from UBII to a graph was shown and then different user interfaces with their interaction possibilities were presented. It
was explained in detail how the application was implemented and what alternatives there were in the implementation. Finally the performance was evaluated and it was shown that the application runs relatively smooth if only nodes are used and not too many edges, it was shown why and how long it takes to create layouts and it was analyzed how well a layout can contribute to understanding the underlying network. To detect errors early two suggestions were made. First, the latency of each client available in the network should be displayed to draw conclusions about the accessibility. Furthermore, it is important to keep track of the data sent over the network, which is why a message inspector was introduced and implemented.
[ Slides Kickoff/Final (optional)]