=Paper= {{Paper |id=Vol-2019/me_3 |storemode=property |title=Metamodels Relaxation for Model Family Support |pdfUrl=https://ceur-ws.org/Vol-2019/me_3.pdf |volume=Vol-2019 |authors=Sanaa Alwidian,Daniel Amyot |dblpUrl=https://dblp.org/rec/conf/models/AlwidianA17 }} ==Metamodels Relaxation for Model Family Support== https://ceur-ws.org/Vol-2019/me_3.pdf
      Relaxing Metamodels for Model Family Support
                      Sanaa Alwidian                                                             Daniel Amyot
  School of Electrical Engineering and Computer Science                   School of Electrical Engineering and Computer Science
                   University of Ottawa                                                    University of Ottawa
                      Ottawa, Canada                                                          Ottawa, Canada
                   salwidia@uottawa.ca                                                      damyot@uottawa.ca

    Abstract—A model family regroups related models that vary        how should we extend MM (ideally with the least amount of
along some dimension such as time or product in (software)           changes) into MM’, in order for M’ to be conform to MM’?
product lines. A model family can be captured as a “150% mod-
el” that merges the family members, while enabling the extrac-
tion of the individual models. However, this 150% model may no
longer conform to the original metamodel of the family members.
This paper focuses on the evolution of a language’s metamodel to
accommodate both the original models and the 150% model. In
particular, it aims to define a technique that minimally relaxes
the metamodel constraints related to multiplicities of attributes
and association ends in order to enable conformance. The paper
uses illustrative examples from two modeling languages (UML
class diagrams and the Goal-oriented Requirement Language) to        Fig. 1. Metamodel (MM) evolu-     Fig. 2. Model-triggered metamodel
describe the problem and to explore potential approaches for         tion and model (M) co-evolution   (MM) evolution problem (general)
metamodel relaxation. While early results are promising, there                   problem
are important challenges remaining to balance conflicting forces
at play, e.g., having a minimal relaxation (such that existing           A model family regroups a set of related models that
analysis techniques can be easily adapted for the 150% model)        evolve, for example, over time. Another common source of
and predicting where relaxation is needed in the metamodel           model families is found in (software) product lines, where
   Keywords— Conformance; constraint relaxation; evolution;          different versions/variations of a product can exist without
metamodel; model-driven engineering; model family.                   necessarily being caused by some evolution over time. A
                                                                     model family can be captured as a 150% model which consists
                       I. INTRODUCTION                               of the union of the model elements from all valid family
                                                                     members [8], aggregated in a way that enables the extraction
    Over the last years, Model-Driven Engineering (MDE) has
                                                                     of an individual model. Such 150% models are mainly used in
gained significant importance and popularity as a matured
                                                                     the context of model-based product lines, where products are
discipline that has been applied in a wide array of academic
                                                                     derived using negative variability by removing artefacts from
and industrial domains [1]. At the core of MDE is the use of
                                                                     the family model according to a given feature configura-
two interrelated artefacts: metamodels and models. A model is
                                                                     tion [9].
said to conform to (or instantiates) its metamodel if the former
obeys the rules and constraints imposed by the metamodel. In             The general problem in Fig. 2 allows for individual models
a sense, a metamodel describes the abstract syntax and the           to be non-compliant to the original metamodel, MM (e.g., by
static semantic of modeling languages [2]. In addition, Meta-        using a class or association not supported in the metamodel).
models impose a significant number of rules (e.g., the con-          However, for model families, this paper assumes that all fami-
cepts to be used) and constraints (e.g., multiplicities) that gov-   ly members conform to the same metamodel. In this context,
ern how models should be created.                                    one important observation is that even if each family member
                                                                     conforms to the original metamodel, there is still no guarantee
    MDE (meta)models must be managed as they usually
                                                                     that the 150% model aggregating all individual models will
evolve over time. In the literature, a well-addressed aspect of
                                                                     conform to the original metamodel. In this case, we end up
MDE evolution is the metamodel evolution and model co-
                                                                     having an invalid/ill-formed 150% model that requires us to
evolution [3]-[7]. In these approaches (Fig. 1), model evolu-
                                                                     revisit the original metamodel and evolve it in a way that re-
tion from M to M’ is carried out after metamodel evolution
from MM to MM’. However, to the best of our knowledge,               establishes conformance, such that family members and the
                                                                     150% models comply to the evolved metamodel. Another in-
there is a lack of approaches that attempt to evolve/change
metamodels in response to model evolution. We initially refer        teresting observation here is that having new members in a
                                                                     model family does not require additions, deletions, or modifi-
to this context as the model-triggered metamodel evolution
problem. The general description of this problem (Fig. 2) is         cations of concepts to the original metamodel. This means that
                                                                     the resulting metamodel needs to be only relaxed (in terms of
characterized as: If a model M (that conforms to a metamodel
                                                                     its constraints) rather than extended. In a model family con-
MM) evolves over time, resulting in a new model version M’
                                                                     text, the general problem (Fig. 2) can be substantially simpli-
that is no longer conforming to the original metamodel MM,
                                                                     fied and specified as: If models M0...Mn (that conform to a
metamodel MM) are aggregated, resulting in a new model                 The main focus of this work is on the challenge of infer-
M150 that is no longer conforming to the original metamodel        ring the metamodel of a model family from the structure of the
MM, how should we extend MM (ideally with the least amount         metamodel of its members through a minimal set of constraint
of changes) into MM150, in order for M150 as well as M0..Mn to     relaxations. We are not dealing with the more general problem
be conform to MM150? Fig. 3 illustrates this problem.              of inferring a metamodel from a collection of models that con-
                                                                   form to different metamodels (i.e., our member models use the
    This paper illustrates and discusses this model family-        same language). Also, we are not dealing with a dynamic met-
specific metamodel evolution problem (Fig. 3) and proposes         amodel co-evolution upon changes; generating a new meta-
an initial solution called Metamodel Relaxation (MeRe),            model each time there is a new member added to the family is
while highlighting remaining challenges. The remainder of          not practical, as this would imply developing new tools (for
this paper is organized as follows: Section II discusses the       producing, editing, analyzing, and transforming 150% models)
motivation and scope of this work. Section III provides three      each time. We are also not looking at language-specific solu-
illustrative evolution scenarios. The proposed approach is dis-    tions (e.g., through the use of metadata and user links in
cussed in Section IV. Section V discusses how analysis can be      GRL). The long-term challenge is hence to predict the loca-
conducted on 150% models. Related work is presented in Sec-        tions where metamodel relaxations are needed, without relax-
tion VI. Finally, Section VII concludes and provides our fu-       ing too much so existing tools and techniques would require a
ture plans towards solving the model family-specific problem.      minimum of adaptation. Our hope is to develop tools for the
                                                                   relaxed language only once. This research aims to answer the
                                                                   following research questions:
                                                                   • RQ1) How can we minimally relax a metamodel to sup-
                                                                     port the aggregation of members of a model family in a
                                                                     way that enables the generation of all (and only) individual
                                                                     members?
                                                                   • RQ2) How can we predict where relaxation is needed (re-
                                                                     laxation points) in the original metamodel, for all potential
                                                                     150% models?
                                                                   • RQ3) What kinds of analyses can be conducted on model
       Fig. 3. Model family-specific metamodel evolution problem
                                                                     families to reason on all members of a 150% model?
                                                                       The following section provides concrete evolution scenari-
                  II. MOTIVATION AND SCOPE                         os further illustrating the problem.
    Our main motivation comes from our experience using
goal models for modeling regulations, in collaboration with                     III.   SAMPLE EVOLUTION SCENARIOS
Transport Canada. Regulators have regulations for different
                                                                       This section provides three illustrative examples from two
types of parties (say, airports of different sizes). Trying to
                                                                   modeling languages: the Goal-oriented Requirement Lan-
model these different regulations, for analysis or compliance
                                                                   guage (GRL) and UML class diagrams. These examples serve
purposes, we ended up requiring different goal models [9]-
                                                                   as evidence to justify the need for relaxing some of the meta-
[11]. We tried to capture all variants with one model, using the
                                                                   model multiplicities and other constraints (RQ1).
Goal-oriented Requirement Language (GRL) [12], to mini-
mize maintenance problems, but ended up with metamodel-            A. Example One: Different GRL Actors with the Same Goal
conformance issues because the language did not allow us to            In this section, an evolution scenario for simple GRL mod-
capture the family with one unified model. This is an issue        els is given. GRL is part of the User Requirements Notation
along the product dimension, which is not limited to GRL but       standard [12], [13]. As shown in Fig. 4.a, the first version of the
is common to most modeling languages. We then realized that        GRL model represents an actor (ActorA) containing an inten-
similar problems occur along the time dimension when a             tional element of type goal (SomeGoal). Let us assume that
model evolves. If a product has many versions over time, and       this model evolves over time, such that SomeGoal is moved
if we want to analyze all versions (say, before releasing a        from ActorA to ActorB (or when ActorA is replaced by Ac-
patch that would affect all versions), a model representing the    torB). The evolved version is shown in Fig. 4.b. Each of the
family (i.e., a 150% model) becomes necessary to allow rea-        model versions, separately, conforms to the metamodel ex-
soning about all members at once instead of reasoning about        cerpt represented in Fig. 4.c, as an intentional element may be
each member individually. However, the concern here is not         included by 0 or 1 actor. However, if we want to aggregate
the construction of the 150% model itself. Rather, the chal-       both models into one 150% model to represent their model
lenge emerges when a 150% model violates conformance with          family, the resulting 150% model will not conform to the cur-
the original metamodel, MM. In this case, we need to relax         rent metamodel. This is because an intentional element
MM into MM150 to ensure that this 150% model is representa-        (SomeGoal) cannot be contained by two actors. This violates
ble. A minimal relaxation is desirable in this context so as to    the multiplicity constraint circled in the metamodel excerpt
minimize modifications to existing tools and analysis ap-          (Fig. 4.c).
proaches.
                                                                                         The 150% model The 150% model that aggregates both
                                                                                    models is shown in Fig. 5.c. However, this 150% model can-
                                                                                    not be represented by the original metamodel because of an
                                                                                    existing (OCL) constraint stating that any pair of Intention-
                                                                                    alElements can be connected by at most one ElementLink
                                                                                    (Fig. 4.c.). Hence, it is not allowed to have both a decomposi-
          (a) Version 1                                 (b) Version 2               tion link and a contribution link between GoalA and Task2.
                                                                                    Therefore, to support the representation of such 150% models,
                            0..1          0..*
                                                                                    the OCL constraint of the original metamodel MM needs to be
                   Actor                         GRLContainableElement
                            actor      elems
                                                                                    relaxed (or removed) in the evolved metamodel MM150 to
                                                                                    allow more than one element link to connect the same pair of
                                                                                    intentional elements in the aggregated M150 family model (Fig.
                                                                                    3). In addition, as shown in Fig. 5.c, we need to distinguish the
           GRLLinkableElement
                                                     IntentionalElement             elements in the 150% model that belong to different versions
                                     type : IntentionalElementType                  of models. We annotate these elements with information about
                                     decompositionType : DecompositionType = AND
            src    1   1   dest                                                     version numbers (for example <>) to indicate that this
                                         <>         <>
                                                                                    particular element is part of only version 1 of the model. The
                                      IntentionalElementType    DecompositionType   version-based annotations are of particular importance to fa-
       linksSrc
                 0..* 0..*           Softgoal
                           linksDest Goal
                                                               AND                  cilitate the extraction of individual models from the 150%.
                                                               XOR
                ElementLink          Task                      IOR
                                                                                    The absence of such annotation means that all versions (i.e.,
                                     Resource                                       all members of the family) include that model element. Anno-
                                     Belief
                                                                                    tations are directly supported with “metadata” attached to any
                     (c) Extract of the GRL metamodel                               model element in GRL. However, should an annotation mech-
Fig. 4. First GRL example: SomeGoal moves from ActorA to ActorB, with               anism not be available in the source modeling language, the
relevant GRL metamodel elements                                                     relaxed MM150 metamodel may also need to be extended to
                                                                                    include such a mechanism.
    One way to re-establish conformance is to relax the multi-
plicity constraint of the actor association end to be (0...*). The                  C. Example 3: UML Attributes with Multiple Types
purpose of this relaxation is to allow different actors in differ-                      This third evolution scenario This third evolution scenario
ent model versions to contain the same intentional elements.                        focuses on UML class diagrams [14] Let us assume that the
Such new and relaxed MM150 metamodel would hence allow                              first version (Fig. 6.a) of class ClassOne has an attribute Attri-
the 150% model (M150) and the individual family members                             bOne of type int, as well as an operation OprOne, with argu-
(versions 1 and 2) to be conform.                                                   ment arg1 of type real, that returns a parameter of type real.
                                                                                    This class evolves to version 2 (Fig. 6.b) such that the type of
B. Example 2: GRL Goals with Multiple Links                                         AttribOne becomes real instead of int, and the operation’ pa-
    The example in Fig. 5 shows another evolution scenario in                       rameter and return data types become int (instead of real).
GRL. In the first version (Fig. 5.a), a goal (GoalA) is decom-                      These two versions are aggregated into a 150% model, illus-
posed into two intentional elements of type task (Task1 and                         trated in Fig. 6.c, where version annotations are also used on
Task2). Let us assume this model evolves such that the type of                      attributes and operations.
link that associates GoalA with Task2 changes from a decom-
position link to a contribution link (as shown in Fig. 5.b). De-                        Having multiple operations with the same names but dif-
compositions and contributions are two different sub-types of                       ferent argument types is allowed in UML. However, UML
ElementLink in the metamodel of Fig. 4.c.                                           enforces stronger constraints on attribute names. The resulting
                                                                                    150% model violates the UML standard metamodel since the
                                                                                    latter does not support the representation of one attribute with
                                                                                    multiple data types. In order to re-establish conformance, the
                                                                                    multiplicity constraint related to attributes could be relaxed in
                                                                                    UML such that attributes would be allowed to have many
                                                                                    types instead of only one.
          (a) Version 1                                (b) Version 2




                              (c) 150% model
Fig. 5: (a) Version 1: GoalA and Task2 with decomposition link (b) Version                  Fig. 6. Two ULM classes and their resulting 150% model
 2: GoalA and Task2 with Contribution Link (c) 150% model that regroups
                                both models
D. Observations                                                       Therefore, M150 is the union of all elements and all links of
    Based on the three previous evolution scenarios, there are        models in V, as defined in equation 2:
some potential partial answers that can be observed. Regard-                              M150 = ⋃           (2)
ing the first part of RQ1, i.e., “How can we minimally relax a
                                                                      B. Phase2: Change Detection
metamodel to support the aggregation of members of a model
family?”, we conjuncture that this can be done through relax-             In this phase, changes among models are detected through
ing multiplicity constraints of association ends and attributes,      the use of M150, whose elements can now be extended with a ∆
as well as external (OCL) constraints on the metamodel. Con-          annotation. To illustrate the basic idea of this phase, we take
straint relaxation also ensures that the original individual          as an example, the evolution scenario captured in Fig. 5,
models (family members) remain conform to the new meta-               where we consider each model version as a set of elements.
model. Regarding the second part of the question, i.e., “…in a        For instance, version 1 of the model consists of: GoalA,
way that enables the generation of all (and only) individual          Task1, Task2, a decomposition link between GoalA and Task1
members?”, we conjuncture that the explicit tagging of ver-           and another decomposition link between GoalA and Task2.
sions in the aggregate model enables the reconstruction of the        We refer to these elements and links as: E11, E12, E13, LE11-E12
original models (the family members) and prevents the gen-            and LE11-E13, respectively. Therefore, version 1 of the model
eration of other hybrid models                                        can be denoted as: M1= {E11, E12, E13, LE11-E12, LE11-E13}. Fol-
                                                                      lowing the same principle, version 2 of the model would be
    IV. METAMODEL RELAXATION FOR MODEL FAMILIES                       represented as M2= {E21, E22, E23, LE21-E22, LE21-E23∆}, where
   This section discusses our proposed approach, MeRe, for            the delta (∆) denotes a change in the link type from M1 to M2
metamodel relaxation triggered by model evolution in a model          (for example, a decomposition link becomes a contribution
family context. MeRe proposes four phases for enabling met-           link). This delta could be inferred by calculating the difference
amodel relaxation: model aggregation, change detection, non-          between M1 and M2, Diff(M1, M2), using, for example, the ap-
conformance detection, and metamodel relaxation inference.            proach proposed by Rivera et al. [14]. Since M150 is the union
An overview of the MeRe approach is given in Fig. 7 and its           of models at the element level, then M150= {E1, E2, E3, LE1-E2,
details are discussed in the next sections.                           LE1-E3, LE21-E23∆}. Note that in M150, we omit the superscript
                                                                      numbers (except for the last link) that refers to model versions
                                                                      to which elements and links belong. This is because these el-
                                                                      ements belong to both models M1 and M2. Therefore, there is
                                                                      no need to annotate them with the version number. The pur-
                                                                      pose of this phase is to detect and extract pairs of elements
                                                                      that have changed, denoted as Ei and Ei∆. These pairs of
                                                                      changes are taken as an input to the next phase.
                                                                      C. Phase 3: Non-Conformance Detection
                                                                          At this phase, conformance between the original meta-
                                                                      model MM and M150 model is verified. This is done by check-
                                                                      ing if the co-existence of change pairs (obtained in phase 3) in
                                                                      the same model could cause a violation of association/attribute
                                                                      multiplicities or other external (OCL) constraints of MM. For
                                                                      instance, checking that two different links between exist the
                                                                      same pair of GRL intentional elements (e.g., LE1-E3 and LE1-E3∆)
                        Fig. 7. MeRe approach                         would cause a conformance violation. If non-conformance is
A. Phase 1: Model Aggregation                                         detected, phase 4 takes place.
    The goal of this phase is to aggregate the various models         D. Phase 4: Infer Relaxation to Metamodel
of a model family into one single model, M150. Let M0 be the              Based on the metamodel conformance violations detected
initial version of a model that conforms to MM and evolves            in phase 3, the modeler is now able to decide on two things:
over time or across product variants into several versions, M1,       the extension type and the extension point. Regarding the ex-
M2, M3, etc. The set of versions, V, is V= {M0, M1, M2... Mn},        tension type, we have already discussed that in order to sup-
(where n is the number of modified versions of a particular           port model families (with large number of models), we only
model). M150 is the union of all elements in all models of V.         need to relax the metamodel internal constraints that are relat-
The union of models at an element level is defined as follows.        ed to multiplicities of attributes and association ends and/or
Mx is a tuple {Ex , Lx} with a set of elements Ex={Ex1, Ex2,          external well-formedness constraints. Regarding the extension
Ex3,...,Exi}, such that Ex1 identifies the first element of version   point (precisely, the relaxation points), the current solution
x of the model, and so on. Mx also contains a link set Lx, where      provided by this heuristic is local. That is, it provides insights
Lx ⊆ Ex × Ex. Lxa-b denotes a link between elements a and b of        about extension points related directly to the type of change
model Mx. The union of two models Mx and My is defined in             detected in phase 2, for specific models. However, if a new
equation 1:                                                           model is added to M150, phases 2 through 4 need to be repeated
                                                                      again to detect new changes and infer relaxation points in the
     ∪              ∪       ,    ∪       , 0≤ ≤ , 0≤ ≤         (1)    metamodel. At this level, it is still challenging to predict the
                                                                      exact locations (i.e., points) of metamodel multiplicities that
need to be relaxed, independently of the models in a family.        approach proposed by Salay et al. for model transfor-
We understand that we do not have to follow the naïve brute-        mations [17].
force approach and relax all multiplicity constraints and exter-
nal constraints in the metamodel. Instead, we need to identify          Inspired by the data analytics domain [18], we also envi-
                                                                    sion conducting several types of analysis over a model family
a technique to predict where relaxation is needed in the meta-
model, based on its structure and perhaps patterns of usages of     (through 150% models) to reason on all members of the fami-
                                                                    ly. Such analysis approaches include: 1) Descriptive analysis
the language. By this, we could answer RQ2.
                                                                    to describe the main aspects or features of the models being
    As an initial solution however, we suggest that the pairs of    analyzed. For example, this may describe how a regulatory
changes detected in phase 2 along with the relaxation actions       model in a particular year differs from the model of the next
inferred in phase 4 can be profiled in a separate file, called      year. This allows one to make comparisons among different
Change Log (CL), such that the CL will contain tuples in the        models. 2) Exploratory analysis to analyze models to find pre-
form of . Now, when a new               viously unknown relationships. This type of analysis is useful
model emerges, we can compare changes introduced by this            for discovering new connections and to provide future rec-
new model with ChangeTypes stored in CL. If any similarity          ommendations. 3) Inference analysis to infer information
is detected, we can infer the type and point of relaxation need-    about large population of models based on a small sample of
ed in the metamodel without going through phase 3 and 4.            models. For example, examining compliance level using a
Alternatively, based on a large collection of models, relaxation    small sample of models to explain how well the entire system
points could be discovered empirically.                             complies with regulations and rules. 4) Predictive analysis to
                                                                    analyze current and historical (or legacy) models to predict
              V. ANALYSIS OVER 150% MODELS                          future happenings of events. The essence of such approaches
    This section is dedicated to the exploration of RQ3. As         is to use data on some models to predict values for other mod-
mentioned previously, 150% models represent the union of all        els. 5) Causal analysis to figure out what will happen to one or
members of a model family. 150% models do not only merge            more models when some model gets changed, e.g., to study
the family members, but also enable the extraction of the indi-     the impact of changing one or more rule in a particular regula-
vidual, original models. To facilitate model extraction, we         tory model on the behavior of other models in the family.
suggest that elements of the 150% model be annotated with                                  VI. RELATED WORK
information about the possible variations in a model family,
such as version identifiers as suggested by Shamsaei et al. [11]        The literature suggests approaches to manage metamodel
or presence conditions and meta-expressions as presented by         evolution through studying the impact of metamodel evolution
Czarnecki and Antkiewicz [8]. The later annotations are de-         on models and/or on operations (e.g., migration and transfor-
fined in terms of features and feature attributes from a feature    mations) and then adapting models (or operations) to their
model, and can be evaluated with respect to a feature configu-      evolving metamodel (as illustrated in Fig. 1). To handle meta-
ration, for instance, to indicate whether or not a particular el-   model and model co-evolution, several approaches create dif-
ement has to be part of all or some models. That is, a 150%         ference models to calculate the difference with the last
model can be instantiated based on feature configurations           evolved metamodel, such as in [19]. Then, this difference
(these instances could be products, systems, regulations, etc.).    model is used to derive automatic transformations for co-
                                                                    evolution. Sprinkle [3],[20] proposed a visual graph transfor-
    The extraction of a particular individual model from the        mation-based language in order to specify model migration
150% model could be important for analysis purposes. For            between two metamodel versions. Gruschko et al. [21], [22]
example, instead of examining models, from years 2007 to            classify primitive metamodel changes into non-breaking, re-
2017, all at once, a decision maker could be interested to view     solvable, and irresolvable changes. Then, they provide auto-
one model only (for example, the model of 2013), to conduct         matic migration rules for non-breaking and resolvable chang-
different kind of analysis over it. In addition, the 150% model     es. Cichetti et al. [23] go a step further and try to detect com-
can be viewed as a single generic model that combines old           posite changes, e.g., extracting a class based on the difference
(i.e., legacy) models with the most recent models. This option      between metamodel versions. To adapt to metamodel changes
would facilitate the comparison among legacy systems and            and migrate models, a number of high-level transformations
current systems to infer reasoning about the current status of      were proposed in [24]. These transformations are based on a
the system (for example, in the regulatory domain) and also to      generic model that supports versioning for both models and
anticipate the future of such systems.                              metamodels. In addition, several approaches have been pro-
     The reuse of analyses techniques and tools that already ex-    posed to (semi-)automate transformation migration. In [25],
ist for the original models to the context of the 150% model is     Davide et al. present an approach for the coupled evolution of
also challenging. For example, GRL models can be analysed           metamodels and transformations. This approach tries to assess
through satisfaction propagation algorithms [16], but such          the cost of a change and use this assessment to infer transfor-
algorithms would need to be adapted to cope with the relaxed        mation evolution (for instance, whether to make a go/no-go
metamodel of the 150% model. A naïve approach would be to           decision to evolve transformations or not). These approaches
extract all the models from the family and then use existing        are conceptually different from our approach. While they
algorithms and tools on them. A more interesting approach           adapt models (or operations) to their evolving metamodel,
would be to detect whether the metamodel relaxations warrant        MeRe investigates evolving metamodels in response to the
modifications to the analysis algorithms. Yet another research      evolution of models in the model family context.
direction would be to consider “lifting” the algorithms, an
    Metamodels can also be extended through the concept of              Finally, a variety of model evolution approaches have
profiles. A well-known example is the UML.2x profile mech-          adopted the key ideas from database schema evolution ap-
anism [14]. With profiles, new constructs (stereotypes), prop-      proaches, which deal with the migration of database records to
erties (tagged values) and modeling rules (constraints) are         adapt to the evolution of the database schema. Details about
added to further restrict the metamodel’s constructs and en-        schema evolution approaches are beyond the scope of this
force the well-formedness of models of the domain-specific          paper, but the interested readers can refer to the work of Rahm
language. Similarly, Ecore (the metamodeling language of            and Roddick [33], [34] While many of the approaches from
EMF) allows users to attach annotations on any element of a         schema evolution have been adapted for model evolution, one
metamodel to capture additional information [26]. Unlike            key consideration has yet to be fully addressed: if a database
MeRe which relaxes a metamodel, these approaches either add         record evolves, or a new record is added that is not already
new concepts to the original metamodel, or modify the lan-          defined in the database schema, then there is a need to evolve
guage’s validity constraints by further constraining them in-       the schema to insure compatibility with the new record. This
stead of relaxing their restrictions.                               issue is analogous to the model-triggered metamodel evolution
                                                                    problem investigated in the paper.
    Model versioning approaches have also been proposed for
model evolution. The approach of Alanen and Porres [27] is                       VII. CONCLUSION AND FUTURE WORK
one of the earliest works on UML model versioning. In this
approach, differences between model versions are detected by            This paper defines a technique that minimally relaxes met-
calculating the created, deleted, and changed elements, and         amodel constraints to support both the original models as well
then by matching the unique identifiers of these elements.          as the 150% model of a model family. The evolution scenarios
Odyssey-VCS 2 is a version control system for UML models            illustrated in this paper suggest that in order to support model
[28]. It controls versioning by using state-based differencing      families, the metamodel constraints that need to be relaxed are
to detect elements between different versions of a model. The       mainly related to multiplicities of association ends and attrib-
Adaptable Model Versioning (AMOR) is another model ver-             utes, and to external well-formedness constraints (RQ1). Since
sion control system proposed by Altmanninger et al. [29],           our MeRe approach is solely based on light-weight metamodel
which provides a mechanism for conflict detection between           relaxation (instead of heavy-weight extensions that require
models by supporting definitions of conflict resolution poli-       adding new concepts to the metamodel), its results are promis-
cies. In addition, AMOR contains a recommender component            ing in terms of enabling conformance with evolved models
that provides suggestions to users on how to resolve the de-        with, ideally, as few changes as possible. However, ensuring
tected conflicts. Finally, Aprajita and Mussbacher [30] explic-     minimal relaxation by predicting where relaxation is needed in
itly extended the metamodel of GRL to document explicit             the metamodel independently of the family members (RQ2) as
changes (additions/deletions) of model elements to specific         well as evolving analysis approaches for exploiting and coping
versions of a metamodel. Although a model family can then           with the 150% model (RQ3) are still challenging issues that
be captured, this approach is specific to one language and cur-     need to be addressed in our forthcoming work. We hence in-
rently incomplete in the kinds of changes to versions it can        vite the research community to investigate solutions to these
accommodate. Although these approaches handle model evo-            important problems.
lution and track it through versioning, none of these approach-                                    REFERENCES
es exploits model evolution as a trigger to evolve/extend the
                                                                    [1]   J. Whittle, J. Hutchinson, and M. Rouncefield. "The state of practice in
original metamodels to enable conformance.                                model-driven engineering." IEEE software vol. 31(3) pp. 79-85, 2014.
    To manage uncertainty in MDE, Famelis et. al. [31], [32]        [2]   R. F. Paige, D. S. Kolovos, and F. Polack, “A tutorial on metamodelling
proposed the use of partial models as formal development                  for grammar researchers,” Science of Computer Programming, vol. 96,
                                                                          pp. 396–416, December 2014.
artifacts to enable the abstraction, reasoning, visualization and
manipulation of possible alternative models. In this approach,      [3]   J. Sprinkle and G. Karsai, “A domain-specific visual language for
                                                                          domain model evolution,” Journal of Visual Languages and Computing
a set of alternative models with uncertainty are merged and               vol. 15(3-4), pp. 291–307, 2004.
captured with one model called a partial model. While the idea      [4]   G. Taentzer, F. Mantz, and Y. Lamo, “Co-transformation of graphs and
of capturing models in one partial model is close to our idea of          type graphs with application to model co-evolution,” in ICGT, LNCS,
merging models of a family in one 150% model. The context                 vol. 7562, pp. 326–340. Springer, 2012.
and the purpose of our work is still different. In a sense, we do   [5]   L. Rose, D. Kolovos, R. F. Paige, and F. Polack, “Model migration with
the merge for the sake of representing model families and re-             Epsilon flock,” in ICMT 2010, LNCS, vol. 6142, pp. 184–198. Springer,
lax infer metamodels accordingly, while in [31] merging mod-              Heidelberg, 2010.
els is done to describe the observable behaviour of a system.       [6]   H. Konig, M. Lowe, and C. Schulz, “Model transformation and induced
                                                                          instance migration: a universal framework,” in SBMF 2011. LNCS, vol.
   Czarnecki and Antkiewicz [8] proposed a template-based                 7021, pp. 1–15. Springer, Heidelberg, 2011.
approach for mapping feature models to representations of           [7]   A. Kusel, J. Etzlstorfer, et al., “A Systematic Taxonomy of Metamodel
variability in UML models. The authors describe the concept               Evolution Impacts on OCL Expressions,” in Models and Evolution
                                                                          2014, CEUR-WS, vol. 1331, pp. 2–11, 2014.
of superimposed variants to realize a negative variability,
                                                                    [8]   K. Czarnecki and M. Antkiewicz, “Mapping features to models: a
which corresponds to the 150% model used in our approach.                 template approach based on superimposed variants,” in GPCE 2005,
However, the purpose of using 150% models is different in                 LNCS, vol. 3676, pp. 422–437. Springer, Berlin, Heidelberg, 2005.
both approaches.                                                    [9]   A. Polzer, D. Merschen, G. Botterweck, A. Pleuss, J. Thomas, B.
                                                                          Hedenetz, and S. Kowalewski, “Managing complexity and variability of
     a model-based embedded software product line,” Innovations in Systems     [22] B. Gruschko, D. Kolovos, and R. F. Paige, “Towards synchronizing
     and Software Engineering, 8(1), pp. 35–49, 2012.                               models with evolving metamodels,” in International Workshop on
[10] A. Palmieri, P. Collet, and D. Amyot, “Handling regulatory goal model          Model-Driven Software Evolution, paper 3, 2007.
     families as software product lines,” in Advanced Information Systems      [23] B.A. Cicchetti, D. Ruscio, R. Eramo, and A. Pierantonio, “Automating
     Engineering-27th International Conference, LNCS, vol. 9097, pp. 181–           co-evolution in model-driven engineering,” in 12th International
     196. Springer, 2015.                                                           Enterprise Distributed Object Computing Conference (EDOC), pp. 222–
[11] A. Shamsaei, D. Amyot, A. Pourshahid, E. Yu, G. Mussbacher, R.                 231. IEEE Computer Society, 2008.
     Tawhid, E. Braun, and N. Cartwright, “An approach to specify and          [24] J. Hößler, M. Soden, and H. Eichler, “Coevolution of models,
     analyze goal model families,” in 7th System Analysis and Modelling             metamodels and transformations,” in Models and Human Reasoning,
     (SAM) Workshop, LNCS, vol. 7744, pp. 347–52. Springer, 2012.                   Wissenschaft und Technik Verlag, pp. 129–154, Berlin, 2005.
[12] ITU-T, Recommendation Z.151 (10/12) User Requirements Notation            [25] D. R. Davide, I. Ludovico, and A. Pierantonio, “A methodological
     (URN) - Language definition. Online: https://www.itu.int/rec/T-REC-            approach for the coupled evolution of metamodels and ATL
     Z.151/en                                                                       transformations,” in ICMT 2013: Theory and Practice of Model
[13] D. Amyot and G. Mussbacher, “User Requirements Notation: The first             Transformations, LNCS, vol. 7909, pp. 60–75. Springer, Berlin,
     ten years, the next ten years,” Journal of Software, 6(5), pp. 747–768,        Heidelberg, 2013.
     2011.                                                                     [26] P. Langer, K. Wieland, M. Wimmer, and J. Cabot, “EMF profiles: a
[14] OMG, Unified Modeling Language (UML), Version 2.5, formal/2015-                lightweight extension approach for EMF models,” Journal of Object
     03-01, 2015.                                                                   Technology, vol. 11, no.1, pp. 1–29, April 2012.
[15] J.E. Rivera and A. Vallecillo, “Representing and operating with model     [27] M. Alanen and I. Porres, “Version control of software models,” in
     differences,” in International Conference on Objects, Components,              Advances in UML and XML-Based Software Evolution, Chapter III, pp.
     Models and Patterns, LNBIP, vol. 11, pp. 141-160. Springer Berlin              47–70. Idea Group Publishing, 2005.
     Heidelberg, 2008.                                                         [28] H. Oliveira, L. Murta, and C. Werner, “Odyssey-VCS: a flexible version
[16] D. Amyot, S. Ghanavati, et al., “Evaluating goal models within the             control system for UML model elements,” in Proc. 12th Int. Workshop
     Goal-oriented Requirement Language,” International Journal of                  on Software Configuration Management, pp. 1–16. ACM, 2005.
     Intelligent Systems (IJIS), 25(8), pp. 841–877, August 2010.              [29] K. Altmanninger, G. Kappel, et al., “AMOR – towards adaptable model
[17] R. Salay, M. Famelis, J. Rubin, A. Di Sandro, and M. Chechik, “Lifting         versioning,” in 1st International Workshop on Model Co-Evolution and
     model transformations to product lines,” in: 36th International                Consistency Management (MCCM'08), Workshop at MODELS'08,
     Conference on Software Engineering (ICSE 2014), pp. 117–128. ACM,              Toulouse, France, 2008.
     New York, 2014.                                                           [30] Aprajita and G. Mussbacher, “TimedGRL: Specifying goal models over
[18] CI&T, The Four Types of Analytics. http://www.ciandt.com/card/four-            time,” in 6th Int. Model-Driven Requirements Engineering Workshop
     types-of-analytics-and-cognition [online; accessed: April 22, 2017].           (MoDRE), pp. 125–134. IEEE CS, 2016. doi:10.1109/REW.2016.035.
[19] A. Cicchetti, D. Davide, R. Eramo, and A. Pierantonio, “Meta-model        [31] M. Famelis, S. Ben-David, M. Chechik, and Rick Salay. "Partial
     differences for supporting model co-evolution,” in Proceedings of the          models: A position paper." In Proceedings of the 8th International
     2nd Workshop on Model-Driven Software Evolution (MODSE), pp. 1–                Workshop on Model-Driven Engineering, Verification and Validation,
     10, 2008.                                                                      p. 1. ACM, 2011..
[20] J. M. Sprinkle, Metamodel driven model migration. Doctoral                [32] M. Famelis, R. Salay, and M. Chechik. “Partial models: Towards
     dissertation, Vanderbilt University, Nashville, USA, 2003.                     modeling and reasoning with uncertainty". In proceedings of ICSE, pp.
                                                                                    573–583, 2012.
[21] S. Becker, B. Gruschko, T. Goldschmidt, and H. Koziolek, “A process
     model and classification scheme for semi-automatic meta-model             [33] E. Rahm and P.A. Bernstein, “A survey of approaches to automatic
     evolution,” in 1st Workshop MDD, SOA und IT-Management (MSI),                  schema matching,” VLDB Journal, vol. 10, no. 4, pp. 334–350, 2001.
     GI, GiTO-Verlag, pp. 35–46, 2007.                                         [34] J. F. Roddick, “A survey of schema versioning issues for database
                                                                                    systems,” Information and Software Technology, vol. 37, no. 7, pp.
                                                                                    383–393,1995.