Modeling Language Evolution for Model Family Support Sanaa Alwidian School of Electrical Engineering and Computer Science University of Ottawa Ottawa, Canada salwidia@uottawa.ca Abstract— In Model-Driven Engineering, models can evolve over time or vary along dimensions such as products. Such evolution results in a set of related models called model family. A model family can be captured with a “150% model” that merges the family members, while enabling the extraction of the individual models. In this context however, a 150% model may no longer conform to the original metamodel of the family members. This paper presents my Ph.D. research agenda on inferring the metamodel of a model family from the structure of the metamodel of its members. In particular, I aim to define a technique that minimally relaxes the original metamodel constraints related to multiplicities of attributes and association ends. Although a simpler problem is to infer minimal constraint relaxations from the current family members, the more interesting problem is to predict where such relaxations are needed in the metamodel, so that existing tools and analysis techniques can be adapted once and minimally for a given modeling language. This work is applicable to the regulatory domain, for example, as regulations evolve and have variations that need to be captured and analyzed using slightly different goal models. Such work would also indirectly help the community gain a better understanding of the nature of metamodels. Keywords— Conformance; constraint relaxation; evolution; metamodel; Model-Driven Engineering; model family; variability; 150% model. I. INTRODUCTION AND PROBLEM FORMULATION In Model Driven Engineering (MDE), models and/or their metamodels evolve continuously and therefore need to be managed to ensure conformance. The metamodel evolution and model co-evolution problem [1],[2] is a well-addressed aspect of evolution in MDE. In such approaches, a metamodel evolves from MM to MM’, and then a model co-evolution from M to M’ is carried out afterward (see Fig. 1). However, to the best of our knowledge, there is a lack of approaches that attempt to evolve metamodels in response to model evolution. We initially refer to this context as the model-triggered metamodel evolution problem (Fig. 2), characterized as follows: If a model M (that conforms to a the original metamodel MM) evolves or varies, resulting in a new model M’ that is no longer conform to MM, how should we extend MM (ideally with the least amount of changes) into MM’, in order for M’ to be conform to MM’? A. Problem Specification. A model family assembles a set of related models that vary along some dimension such as time or product in product/software lines. In a negative variability model (an approach that starts with a complete model of all variations and selectively remove deselected artefacts [3]), a model that captures the union of all members of a model family is often called “150% model” [3],[4]. A 150% model not only captures all the family members (for example, to enable analysis on all members at once), but also enables the extraction of individual members. In the context of a model family, we observed that even if each of the family members conforms to the same metamodel, the 150% model that captures this family may not conform to that metamodel. Another interesting observation is that the evolution/variation of models in a family does not require additions, deletions, or modifications of concepts to the original metamodel. Hence, in order to support model families (with large number of models), we only need to relax the metamodel internal constraints that are related to multiplicities of attributes and association ends and/or external well- formedness constraints. The general problem illustrated in Fig. 2 can therefore be simplified and characterized in this context (see Fig. 3): If models M0..Mn (that conform to a metamodel MM) are aggregated, resulting in a new model M150 that is no longer conforming to the original metamodel MM, how should we extend MM (ideally with the least amount of changes) into MM150, in order for M150 as well as M0..Mn to conform to MM150? M M’ Co-evolution MM MM’ Evolution 2 1 conforms conforms Fig. 1. Metamodel (MM) evolution and model (M) co- evolution problem M M’ Evolution MM MM’ Co-evolution 1 2 conforms conforms Fig. 2. Model-triggered metamodel (MM) evolution problem (general)