How can the relationships between different models and model types be visualized and explored in model-driven software projects? In cooperation with the Chair of Software Engineering at RWTH Aachen University, a prototype has been created that gets to the bottom of this question for the modeling world of A12.
In software projects based on mgm’s model-driven development platform A12, large parts of the application are specified in models – from domain-specific contents and the application framework to parts of the user interface such as forms and overviews. The more extensive and complex the modeled part of an A12 application becomes, the more challenging it is to understand the relationships between the models.
As A12’s central modeling tool, the Simple Model Editor (SME) offers a Workspace Explorer for managing models. Here, modelers can see all models in the workspace in an overview list. What they do not see, however, is how the models are linked to each other – for example, which Form Model accesses which underlying Document Model. A visual overview is only available for data modeling with the SME’s Data Modeling Perspective. However, it only shows a fraction of the existing model types and dependencies.
Editor prototype should be able to answer analytical questions
In order to investigate the potential of visual exploration of model dependencies in more detail, an editor prototype was developed as part of a master’s thesis – the so-called Model Dependency Explorer. The scientific examination of this was carried out as part of the cooperation between mgm and the Chair of Software Engineering at RWTH Aachen University under the direction of Prof. Dr. Bernhard Rumpe. Since the beginning of 2020, practice-relevant innovations in the field of model-based software development have been driven forward as part of the strategic research cooperation.
The analysis of model dependencies is considered particularly promising, as it can provide new insights and information about the modeling structure and make complex model-driven applications easier to manage. “A key objective of the tool is to be able to answer analytical questions relating to model dependencies,” explains Joel Charles, who supervised the thesis. “This required not only the development of a flexible visualization system for potentially very extensive model relationships, but also extensive filtering options.”
Flexible exploration thanks to visibility-, filter- and navigation-options
The user interface of the Model Dependency Explorer is divided into two areas: A canvas displays the models and their relationships in a diagram. The displayed elements can be moved using drag & drop. A sidebar provides access to numerous options to determine what exactly should be displayed, centered or hidden. Technically, the prototype is based on the A12 Diagram Editor – a development framework for implementing interactive diagram-based editors in A12.
After loading a workspace, the tool first displays all models as nodes and dependencies as edges in the canvas. Both nodes and edges can be selected to show or hide them or to highlight them in color. The sidebar offers further navigation and setting options for models and relations, which can be grouped according to visibility and type. Clicking on a model in the sidebar centers it in the canvas and shows the immediately adjacent context. Thanks to the filter options, answers to questions such as “Which UI models visualize the subtype of a specific document model?” can also be found quickly in the diagram, which illustrates the relevant facts.
The prototype is currently being evaluated by mgm employees with project experience. If the expected advantages for working in practice are confirmed, the prototype could be developed further.
Further Information: