Towards Variability-Aware Instance Handling for Model Evolution at Runtime
Karl Kegel, Sebastian Götz · 2023
Model-driven software development addresses the growing need for individualized software and fast-changing requirements. To support timely changes to the software, adaptive object modeling realizes the domain model of an application as a runtime model represented by a changeable metamodel. Users can change both runtime- and metamodel. This leads, in principle, to a user-driven eternal system at runtime. However, model evolution is non-trivial as it introduces the co-evolution problem, i.e., what happens to the instances of an evolved model? Various approaches to address this problem exist. These approaches have weaknesses, leading to a system that ages with each evolution step. This work introduces a novel approach to cope a priori with the evolution of entity models at runtime. The Eternal Subspace Instance (ESI) approach bypasses the co-evolution problem by defining model instances as a "rich" composite structure capturing not just the current state of an instance. ESI are generated from a model extended with metadata specifying variants and versions. This information is used to interpret each ESI individually, independent of its variant and version. This work defines ESIs and proposes a framework for the resulting heterogeneous but variability-aware instances. We evaluate our approach with a publicly available reference implementation called modicio applied to an example scenario.