Since the beginning of the 21st century the architecture of software systems and especially distributed software systems have seen a considerable evolution making them easier to extend, reuse and manage. As a result, software systems have become more reliable and robust. In addition to the higher requirements for their products, software developers have to deal nowadays with more complex architecture. The challenge lies in the fact that software systems are constituted of components that are more and more autonomous and may be deployed with di erent technologies and in far geographic locations. Building such heterogeneous systems gained popularity since the appearance of Microservices which resulted in a higher performance that could be improved further by including asynchronous communication between the constituting services. All these changes though bene cial, may make the extraction of a documenting model of such systems more tricky. On the one hand such systems provide through their exible architecture a lot of advantages. On the other hand, they are more likely to be changed fast and thus make their documentation less reliable and hence di culties for maintenance and extension will increase. Through our thesis we treat this problem by extending an existing approach of model extraction of microservice-based systems from their tracing data in a way that message-based systems can also be supported. We evaluate then our results using statistical metrics such as precision, recall and F1-score in order to make sure that the accuracy of our extracted model will not be decreased compared to the approach we are extending, which is actually the case. Hence, through our approach, we provide a way to extract performance models to document message-based system in a much easier and less error prone way then the manual alternative. Subsequently, further possible future works such as calculating failure estimation and resolving parametric dependencies are presented. i
ZusammenfassungSeitdem Beginn des 21, Jahrhundert hat sich die Architektur der Software Systeme insbesondere verteilte Systeme erheblich entwickelt, so dass sie besser erweiterbar, wiederverwendbar und verwaltet sein können. Im Folge dessen, sind Software Systeme zuverlässiger und robuster geworden. Deswegen, zusätzlich zu den höheren Anforderungen für ihre Produkte, müssen sich Software Entwickler heutzutage mit komplexeren Architekturen auseinandersetzen. Die Herausforderung besteht darin, dass Software Systeme Komponenten umfassen, die immer autonomer werden, mit verschiedenen Technologien bereitgestellt werden können und sich in weit entfernten geographischen Positionen be nden. Das Bauen solcher heterogenen Systemen hat mehr an Popularität gewonnen seitdem erscheinen von Microservices, die für eine höhere Leistung gesorgt haben, die wiederum noch besser sein könnte durch das einsetzen asynchroner Kommunikation zwischen den konstituierenden Services. All diese Änderungen, auch wenn vorteilhaft, können die Extraktion eines dokumentierenden Modells solcher S...