Motivation
The world is increasingly permeated by software and data. The use and maintenance of these digital artifacts requires their linguistic representation. Otherwise, they remain ‘black boxes’ which not only threaten the achievements of enlightenment, but also jeopardize the protection of investments in software and data. A linguistic representation, for example in the form of well-documented code or, better still, conceptual models, is, however, hardly sufficient on its own. In order to support efficient and secure adaptation to new requirements and thus the long-term competitiveness of companies, abstractions to invariant and from time-varying requirements are necessary. However, common programming and modeling languages only offer limited possibilities for expressing abstractions. The multi-level language architecture FMMLx offers clear advantages here (see also Prospects of Multi-Level Modeling). Multi-level models not only support an unbounded number of classification levels, but also a common representation of models and code.
The representation of existing digital artefacts using multi-level models is suitable for significantly increasing their reusability and adaptability. However, the subsequent manual creation of multi-level models is associated with an effort that cannot be justified in many cases. This is where the AutoMLM project comes in. It is aimed at investigating and designing procedures for the (semi-) automatic (re-) construction of static multi-level models from existing representations (code, schemas, flat models) in order to provide a basis for deciding which procedures can be used in individual cases. The project is being carried out in collaboration with the American company Oracle.
Project Overview
The main objectives of the project are (1) the identification of promising automation techniques as well as (2) the analysis of prospects and challenges of the identified automation techniques to guide the (semi-)automatic construction of multi-level models. Flat representations, i.e., models or programming code void of any multi-level language features, serve as the starting point for these analyses. Example flat representations include UML class and object diagrams as well as database schemata or two-level programming code. The transformation from flat, two-level representations to multi-level models is called model deepening.
Within the research project, the following techniques to support (semi-)automatic model deepening are investigated:
- Formal Concept Analysis
- Lexical-Semantic Analysis using Structured Vocabularies (such as WordNet)
- Large Language Models
Implementation in XModelerML
When using the XModelerML in Alpha Mode (can be activated by navigating to File > Preferences… > Activate Alpha Mode) the menu item “AutoMLM” appears in the diagram editor. Currently, however, the AutoMLM feature is not supported by the publicly available XModelerML version. Although a dialogue appears when clicking on the AutoMLM menu item, it offers no functionality to a regular user.