COPE - Automating Coupled Evolution of Metamodels and Models

Model-based development promises to increase productivity by offering modeling languages tailored to a specific domain. Such modeling languages are typically defined by a metamodel. In response to changing requirements and technological progress, the domains and thus the metamodels are subject to change. Manually migrating existing models to a new version of their metamodel is tedious and error-prone. Hence, adequate tool support is required to support the maintenance of modeling languages. This paper introduces COPE, an integrated approach to specify the coupled evolution of metamodels and models to reduce migration effort. With COPE, a language is evolved by incrementally composing modular coupled transformations that adapt the metamodel and specify the corresponding model migrations. This modular approach allows to combine the reuse of recurring transformations with the expressiveness to cater for complex transformations. We demonstrate the applicability of COPE in practice by modeling the coupled evolution of two existing modeling languages.

[1]  Jean-Marie Favre Languages evolve too! Changing the software time scale , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[2]  Steffen Becker,et al.  A Process Model and Classification Scheme for Semi-Automatic Meta-Model Evolution , 2007 .

[3]  Erik Ernst,et al.  ECOOP 2007 - Object-Oriented Programming, 21st European Conference, Berlin, Germany, July 30 - August 3, 2007, Proceedings , 2007, ECOOP.

[4]  Bernhard Rumpe,et al.  Domain specific modeling , 2005, Software & Systems Modeling.

[5]  R. Lämmel Coupled Software Transformations — Extended , 2022 .

[6]  Tom Mens,et al.  Challenges in software evolution , 2005, Eighth International Workshop on Principles of Software Evolution (IWPSE'05).

[7]  Jay Banerjee,et al.  Semantics and implementation of schema evolution in object-oriented databases , 1987, SIGMOD '87.

[8]  Xue Li A survey of schema evolution in object-oriented databases , 1999, Proceedings Technology of Object-Oriented Languages and Systems (Cat. No.PR00393).

[9]  Elke A. Rundensteiner,et al.  SERF: schema evolution through an extensible, re-usable and flexible framework , 1998, CIKM '98.

[10]  Anneke Kleppe,et al.  MDA explained - the Model Driven Architecture: practice and promise , 2003, Addison Wesley object technology series.

[11]  Elmar Jürgens,et al.  Automatability of Coupled Evolution of Metamodels and Models in Practice , 2008, MoDELS.

[12]  José Nuno Oliveira,et al.  FME 2001: Formal Methods for Increasing Software Productivity , 2001, Lecture Notes in Computer Science.

[13]  Frank Budinsky,et al.  Eclipse Modeling Framework , 2003 .

[14]  Gabor Karsai,et al.  Metamodel driven model migration , 2003 .

[15]  Jack Greenfield Software Factories: Assembling Applications with Patterns, Models, Frameworks and Tools , 2004, GPCE.

[16]  Fabrizio Ferrandina,et al.  Schema and Database Evolution in the O2 Object Database System , 1995, VLDB.

[17]  Markus Herrmannsdoerfer,et al.  COPE : A Language for the Coupled Evolution of Metamodels and Models , 2008 .

[18]  Erhard Rahm,et al.  An online bibliography on schema evolution , 2006, SGMD.

[19]  Ralf Lämmel,et al.  Towards an engineering discipline for GRAMMARWARE Draft as of August 17 , 2003 , 2003 .

[20]  Antonio Cicchetti,et al.  Automating Co-evolution in Model-Driven Engineering , 2008, 2008 12th International IEEE Enterprise Distributed Object Computing Conference.

[21]  Ralf Lämmel,et al.  Grammar Adaptation , 2001, FME.

[22]  Elke A. Rundensteiner,et al.  XEM: managing the evolution of XML documents , 2001, Proceedings Eleventh International Workshop on Research Issues in Data Engineering. Document Management for Data Intensive Business and Scientific Applications. RIDE 2001.

[23]  B. Gruschko Towards Synchronizing Models with Evolving Metamodels , 2007 .

[24]  Kevin Lano,et al.  Slicing of UML models using model transformations , 2010, MODELS'10.

[25]  Sander Vermolen,et al.  Heterogeneous Coupled Evolution of Software Languages , 2008, MoDELS.

[26]  Tom Mens,et al.  A Taxonomy of Model Transformation , 2006, GRaMoT@GPCE.

[27]  Wolfgang Lohmann Format Evolution , 2001 .

[28]  Paul King,et al.  Groovy in Action , 2007 .

[29]  Elmar Jürgens,et al.  Automating Language Evolution , 2007, First Joint IEEE/IFIP Symposium on Theoretical Aspects of Software Engineering (TASE '07).

[30]  Guido Wachsmuth,et al.  Metamodel Adaptation and Model Co-adaptation , 2007, ECOOP.

[31]  Gabor Karsai,et al.  A domain-specific visual language for domain model evolution , 2004, J. Vis. Lang. Comput..