Like all languages, meta-languages are prone to change which often require corresponding changes in their underlying models. However, ensuring that these models remain consistent with their evolving meta-models is a complex challenge within Model-Driven Engineering (MDE). This thesis addresses this challenge by adapting and implementing a model co-evolution approach within the context of the Meta Attack Language (MAL), a domain-specific language used for modeling cyber threats.
The primary goal of this research was to develop a prototype system that can automatically generate migration strategies to restore or improve the conformance between models and their meta-models following meta-model changes. The approach utilises a multi-objective evolutionary algorithm (NSGA-II) to explore a search space of possible change operations. The system was designed to prioritise correctness and reduce manual effort, while also accommodating to a set of requirements drawn from a design process backed by a conceptual framework developed from subsequent literature.
Through a series of controlled experiments, the prototype system was evaluated against several models derived from the MAL language coreLang. The results demonstrate that the system does provide some effort in reestablish model conformance, although with some variability in performance.
This thesis contributes to the field of MDE by providing insights into the practical application of model co-evolution techniques in a domain-specific context. The developed prototype serves as a foundation for future research seeking to refine these techniques and expanding their applicability to a broader range of modeling scenarios.