Addressing metamodel revisions in model-based software product lines

Metamodels evolve over time, which can break the conformance between the models and the metamodel. Model migration strategies aim to co-evolve models and metamodels together, but their application is not fully automatizable and is thus cumbersome and error prone. We introduce the Variable MetaModel (VMM) strategy to address the evolution of the reusable model assets of a model-based Software Product Line. The VMM strategy applies variability modeling ideas to express the evolution of the metamodel in terms of commonalities and variabilities. When the metamodel evolves, the models continue to conform to the VMM, avoiding the need for migration. We have applied both the traditional migration strategy and the VMM strategy to a retrospective case study that includes 13 years of evolution of our industrial partner, an induction hobs manufacturer. The comparison between the two strategies shows better results for the VMM strategy in terms of model indirection, automation, and trust leak.

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

[2]  Douglas C. Schmidt,et al.  Evolution in Model-Driven Software Product-Line Architectures , 2009 .

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

[4]  Sven Apel,et al.  Feature-oriented software evolution , 2013, VaMoS.

[5]  Klaus Pohl,et al.  Software Product Line Engineering - Foundations, Principles, and Techniques , 2005 .

[6]  Jaime Font,et al.  Building software product lines from conceptualized model patterns , 2015, SPLC.

[7]  Don S. Batory,et al.  Scaling step-wise refinement , 2004, IEEE Transactions on Software Engineering.

[8]  Jean-Marc Jézéquel,et al.  Model-based product line evolution: an incremental growing by extension , 2012, SPLC '12.

[9]  Paul Grünbacher,et al.  Structuring the modeling space and supporting evolution in software product line engineering , 2010, J. Syst. Softw..

[10]  Jean-Marie Favre,et al.  Meta-Model and Model Co-evolution within the 3D Software Space , 2003 .

[11]  Sergio Segura,et al.  Automated analysis of feature models 20 years later: A literature review , 2010, Inf. Syst..

[12]  Elmar Jürgens,et al.  COPE - Automating Coupled Evolution of Metamodels and Models , 2009, ECOOP.

[13]  Birger Møller-Pedersen,et al.  A Generic Language and Tool for Variability Modeling , 2009 .

[14]  Jean Bézivin,et al.  Managing Model Adaptation by Precise Detection of Metamodel Changes , 2009, ECMDA-FA.

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

[16]  Jan Bosch,et al.  Evolution in software product lines: two cases , 1999, J. Softw. Maintenance Res. Pract..