Commonalities for Preserving Consistency of Multiple Models
Heiko Klare, Joshua Gleitze · 2019
Models are used to describe different properties of a software system. Those models often share information that is represented redundantly and, thus, has to be kept consistent. Defining model transformations between the involved metamodels is a common means to preserve the consistency of their instances. Such transformations specify the relations between instances of metamodels and how to enforce them. However, redundancies are often caused by different models containing representations of the same concept. We propose to make such common, duplicated concepts explicit instead of encoding them in transformations implicitly. We achieve this by defining an additional concept metamodel and the relations between it and the existing metamodels, which we call the Commonalities approach. We describe a language that allows to define both a concept metamodel and its relations to existing metamodels in one place, in order to achieve conciseness comparable to a direct transformation between the metamodels. Additionally, our approach allows hierarchical composition of concept metamodels to keep multiple models consistent. The expected benefits of our approach are an improved understandability of relations between metamodels by making the information about commonalities explicit, reduced errors in comparison to the combination of several transformations to keep multiple models consistent, and improved reusability because metamodels are not related directly, but only through concept metamodels.