Project Details
Semantic Model Evolution in the Large: Variability and Refinement in Context
Applicant
Professor Dr. Bernhard Rumpe
Subject Area
Software Engineering and Programming Languages
Term
from 2014 to 2021
Project identifier
Deutsche Forschungsgemeinschaft (DFG) - Project number 250902306
In model-driven software development models have to be extended, refined and adapted evolutionarily during the development and maintenance of software systems. To understand changes, it is important to compare model versions. The same applies to the comparison of model variants in product lines and the assurance of semantic-preserving model refactoring.The comparison operators introduced in (our) previous work master the comparison of two models of the same modeling language. However, a complex system must be described with many models in different languages to cover behavior, logical structure, use cases, deployment, etc.Model comparison must therefore take context into account, because models or the system components described by them often do not differ if the context appropriately restricts their use. Model evolution therefore requires semantic comparisons that include context. Context can be other models of the same language as well as of other languages. For example, the context of a behavior model is usually a structural model in which it is embedded or a globally known invariant e.g. defined as an OCL constraint.The generalization of semantic comparison operators for individual models to semantic comparison operators for several models is therefore absolutely necessary - and unfortunately not trivial.There is also the problem that the same modeling language can have slightly different semantics in different contexts of use(!). It would be advantageous to explicitly model the semantic variants of a language and to be able to automatically derive comparison operators for each variant.This project proposal includes the expansion of the techniques already successfully used for bidirectional comparisons in the following directions: (1) the relationship between syntactic and semantic differences, (2) the consideration of the model context (a set of other models) for the comparison of models in the project, and (3) the consideration of the context of use and the resulting language variability to derive comparison operators for the variants used.
DFG Programme
Research Grants