kieker-monitoring / kieker

Kieker's main repository
Apache License 2.0
70 stars 41 forks source link

[KIEKER-1074] Extraction/export of UML models #2805

Open rju opened 1 week ago

rju commented 1 week ago

JIRA Issue: KIEKER-1074 Extraction/export of UML models Original Reporter: Andre van Hoorn


Brief explanation:

Kieker's TraceAnalysis tool allows to discover and visualize architectural information from trace information collected at runtime. Internally, a system (meta-)model is used to represent views on the discovered architectures in terms of component types, component assembly, execution environment (including servers), and deployment of components to the servers. The supported visualizations (sequence diagrams, call trees, and dependency graphs) are based on this meta-model. It is implemented directly in plain Java. Shortcomings here are that a) models cannot be stored/reloaded and that b) visualizations have to be implemented from scratch rather than using existing architectural visualization tools — to mention just a few.

The goal of this project is to have a tighter integration of the Unified Modeling Language (UML) in Kieker in order to have a better integration with other UML tools, e.g., Papyrus. An EMF-based implementation of UML2 exists (in addition to other industry-standard meta-models) and is used by different UML tools.

Two ways to approach this topic are
1. Replacing the current Java-based system meta-model in the TraceAnalysis tool by UML. This requires the adjustment of various filters for trace reconstruction and visualization.
2. Developing a transformation from the Java-based system and visualization meta-model to UML.

Along with this project, the set of supported visualizations could be extended with respect to those being available in UML.

Note that our goal is not to cover the entire set of the UML's modeling features and diagrams.

Related tickets:

Expected results:

After the successful completion of this project, Kieker is able to extract and save UML models, which can be then imported by other UML tools.

Knowledge prerequisite:

The student working on this topic should

Skill level:

Additional documentation

Candidate Mentor(s):

The primary contact for this project idea is marked in bold font.