Supporting Variability Exploration and Resolution During Model Migration

In Model-Driven Engineering (MDE) metamodels are pivotal entities that underpin the definition of models. Similarly to any software artifact, metamodels evolve over time due to evolutionary pressure. However, whenever a metamodel is modified, related mode

  • PDF / 4,088,750 Bytes
  • 16 Pages / 439.37 x 666.142 pts Page_size
  • 75 Downloads / 161 Views

DOWNLOAD

REPORT


Department of Information Engineering, Computer Science and Mathematics, Universit` a degli Studi dell’Aquila, L’Aquila, Italy {davide.diruscio,alfonso.pierantonio}@univaq.it 2 Department of Cooperative Information Systems, Johannes Kepler University Linz, Linz, Austria {juergen.etzlstorfer,wieland.schwinger}@jku.at 3 Gran Sasso Science Institute, L’Aquila, Italy [email protected]

Abstract. In Model-Driven Engineering (MDE) metamodels are pivotal entities that underpin the definition of models. Similarly to any software artifact, metamodels evolve over time due to evolutionary pressure. However, whenever a metamodel is modified, related models may become invalid and adaptations are required to restore their validity. Generally, when adapting a model in response to metamodel changes, more than one migration strategy is possible. Unfortunately, inspecting all of them, which greatly overlap one with another, can be prone to errors. In this paper, we present an approach supporting the identification of variability during model migration and selection of migration alternatives by generating an intensional and thus concise representation of all migration alternatives by including also an explicit visualization of conflicting solutions.

1

Introduction

In Model-Driven Engineering [24] (MDE) metamodels are often considered a pivotal concept used for formalizing and describing application domains. A wide range of artifacts, tools and applications are defined upon one or more metamodels that altogether form a modeling ecosystem [6]. Generic modeling platforms (e.g., ADOxx1 , EMF2 , and Metaedit3 ) enable the development of full-fledged modeling environments that are specifically tailored around organization needs [8,14]. Similarly to any other software artifact, metamodels are prone to evolution during their routinely use, to cope with improvements, extensions, and corrections [18]. However, any change to a metamodel can endanger the integrity and consistency of the modeling ecosystem as models, transformations, or even editors might become 1 2 3

http://www.adoxx.org. http://eclipse.org/modeling/emf/. http://www.metacase.com/products.html.

c Springer International Publishing Switzerland 2016  and H. L¨ onn (Eds.): ECMFA 2016, LNCS 9764, pp. 231–246, 2016. A. Wasowski  DOI: 10.1007/978-3-319-42061-5 15

232

D. Di Ruscio et al.

invalid [7]. The metamodel co-evolution (or coupled evolution) problem concerns the process of recovering the relationship between evolving metamodels and the dependent artifacts in the modeling ecosystem [7]. In this paper, we focus on the model co-evolution problem, i.e., on the process of migrating a model to restore the conformance relation between evolving metamodels and those models affected by the metamodel changes. Over the last decade, numerous approaches for co-evolution of metamodels and models have been proposed. Most of them can be distinguished by falling into the groups of inductive and prescriptive ones: the former ones (e.g., [4,12]) automatically derive a model migration p