Zum Hauptinhalt springen

Studierendenprojekte

Testing of UML Models

Unit testing of UML Models with a CI/CT Toolchain

W ith the rising emergence of the Internet of things, the delivered products of manufacturers become increasingly complex as they are more and more connected with one another. Consequently, the dependability on complex systems of today’s society increases continuously. Failures in these systems present a vulnerability, that needs to be remedied. However, since the systems complexity increases, there is a lack of mutual understanding of the systems themselves as well as the processes and tools necessary to manage risks and failures of the systems. Because of this increase, especially concerning software products, architectural design models are gaining importance. Unified Modeling Language (UML) is mainly used for those models, helping with understanding, evaluating and testing design solutions. Alongside the models, Model-Driven Development becomes more important as well. This means, that the software development process shifts from being code-centric towards being model-centric. Accordingly, for the software development process to be successful, the quality of the underlying models must be assured. However, analysis, debugging and testing of architectural models is challenging for several reasons. UML is a modelling language, without precisely specified semantics. This leads to possible ambiguous interpretations and executions. Moreover, the information about the system is not just distributed across different model views, but also across multiple diagrams. Based on the above described challenges, the aim of this project, is to clarify the question whether debugging and testing can be achieved for UML models. The first objective in this R&D project was performing a research on the State-of-the-Art how CI/CT is currently used on UML diagrams. Further criteria have been researched, which allow a UML model being checked for its validity (e.g. basic UML rules, architectural smells). The final result of this R&D project was a Toolchain based on a Jenkins build server. Additionally, a Web frontend was created for better usability. The user uploads the to be tested XMI file to the Web frontend. Afterwards the frontend pushes the file to a GitLab repository. Jenkins has access to this repository, takes the XMI file and with the help of an XMI parser then starts the validation process. After the XMI file was checked for structural mistakes, a report listing all mistakes is sent to the initial user via e-mail.

Facts:
Projekt-Betreuer: DI Goran Lastro und Prof. (FH) Dr. Christian Neureiter
Typ: R&D-Projekt
Studiengang: Master Informationstechnik & System-Management

Foto: FH Salzburg/Studierendengruppe