Leveraging variability modeling to address metamodel revisions in Model-based Software Product Lines. (June 2017) - Font, Jaime; Arcega, Lorena; Haugen, Øystein; Cetina, Carlos
Abstract: 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 currently 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, changes are automatically formalized into the VMM and models that conform to previous versions of the metamodel continue to conform to the VMM, thus eliminating 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. Abstract : Highlights: We present Variable MetaModel (VMM), an approach to address the co-evolution of models and metamodels. VMM leverages variability modeling ideas at metamodel level to address revisions in model-based software product lines. We apply VMM to a retrospective case study that includes 13 years of evolution of our industrial partner (BSH). We present the lessons learned from the application of the VMM to address revisions in the presented case study.