Bachelor/Master Thesis: Automatic GUI Generation from Semantic Information in Class Diagrams
In model-driven software development, class diagrams are commonly used to define the structure and behavior of applications at a high level of abstraction. However, the development of graphical user interfaces (GUIs) visualizing these abstract models can be cumbersome. We developed a tool called CD2GUI based on MontiGem, a generator framework for web applications, to automate this transformation step by generating GUIs from class diagrams.

While the CD2GUI tool can automate GUI generation on a syntactic level, for example mapping String
attributes to generic text fields, it lacks the ability for deeper contextual understanding. In practice, attribute names like password
, email
, or birthDate
carry semantic meaning that is important for selecting appropiate GUI components (e.g. masked fields, date pickers or email validators).
Within this thesis, the goal is to integrate contextual analysis and naming heuristics into CD2GUI enabling a smarter GUI generation. The given example can be used as a starting point but other context clues and their potential visualizations should be explored as well. The approach will be integrated in the CD2GUI tool also using features from MontiGem.
Tasks of this thesis
- Elaborate which context clues in class diagrams are relevant for GUI visualization and how they can be visualized
- Develop an approach to analyze semantic information possibly based on contextual analysis and naming heuristics
- Create a mapping from context clues to GUI components
- Implement a mechanism based on the apporach
- Include the implementation into the generation process of an application using MontiGem
- Create test data and evaluate the approach with an example development project
Desirable Skills
- Interest in software engineering processes and model-driven engineering
- Lectures SLE or MBSSE
- Interest in web development (TypeScipt, Angular) and GUIs
- Programming in Java
Contact
Interested in this topic? Inform yourself about our current research and publications.
For more information please sent your application documents to Sebastian Will.
Aufgabenstellung:
Prof. Dr. Bernhard Rumpe
Lehrstuhl Software Engineering
Ahornstr. 55
52074 Aachen