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 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.
- D. Batory, J. N. Sarvela, and A. Rauschmayer. Scaling step-wise refinement. In Proceedings of the 25th International Conference on Software Engineering, ICSE ’03, pages 187–197, Washington, DC, USA, 2003. IEEE Computer Society. Google ScholarDigital Library
- D. Benavides, S. Segura, and A. R. Cortés. Automated analysis of feature models 20 years later: A literature review. Information Systems Journal, 35(6):615–636, 2010. Google ScholarDigital Library
- A. Cicchetti, D. Di Ruscio, R. Eramo, and A. Pierantonio. Automating co-evolution in model-driven engineering. In Enterprise Distributed Object Computing Conference, 2008. EDOC ’08. 12th International IEEE, pages 222–231, 2008. Google ScholarDigital Library
- S. Creff, J. Champeau, J.-M. Jézéquel, and A. Monégier. Model-based product line evolution: an incremental growing by extension. In 16th International Software Product Line Conference, SPLC ’12, NY, USA, 2012. ACM. Google ScholarDigital Library
- G. Deng, D. C. Schmidt, A. Gokhale, J. Gray, Y. Lin, and G. Lenz. Evolution in model-driven software product-line architectures. Designing Software-Intensive Systems: Methods and Principles, 2008.Google ScholarCross Ref
- D. Dhungana, P. Grünbacher, R. Rabiser, and T. Neumayer. Structuring the modeling space and supporting evolution in software product line engineering. Journal of Systems and Software, 83(7):1108–1122, 2010. Google ScholarDigital Library
- J.-M. Favre. Meta-model and model co-evolution within the 3d software space. In In Procedings of the International Workshop on Evolution of Large-scale Industrial Software Applications (ELISA) at ICSM, pages 98–109, Amsterdam, Netherlands, September 2003.Google Scholar
- F. Fleurey, Ø. Haugen, B. Møller-Pedersen, G. K. Olsen, A. Svendsen, and X. Zhang. A generic language and tool for variability modeling. Technical Report SINTEF A13505, 2009.Google Scholar
- J. Font, L. Arcega, Ø. Haugen, and C. Cetina. Building software product lines from conceptualized model patterns. In Proceedings of the 19th International Conference on Software Product Line, SPLC 2015, Nashville, TN, USA, July 20-24, 2015, pages 46–55, 2015. Google ScholarDigital Library
- K. Garcés, F. Jouault, P. Cointe, and J. Bézivin. Managing model adaptation by precise detection of metamodel changes. In R. F. Paige, A. Hartman, and A. Rensink, editors, Model Driven Architecture - Foundations and Applications, volume 5562 of Lecture Notes in Computer Science, pages 34–49. Springer Berlin Heidelberg, 2009. Google ScholarDigital Library
- B. Gruschko, D. Kolovos, and R. Paige. Towards synchronizing models with evolving metamodels. In Proceedings of the International Workshop on Model-Driven Software Evolution, 2007.Google Scholar
- M. Herrmannsdoerfer, S. Benz, and E. Juergens. Cope - automating coupled evolution of metamodels and models. In S. Drossopoulou, editor, ECOOP 2009 Object-Oriented Programming, volume 5653 of Lecture Notes in Computer Science, pages 52–76. Springer Berlin Heidelberg, 2009. Google ScholarDigital Library
- L. Passos, K. Czarnecki, S. Apel, A. Wasowski, C. Kästner, J. Guo, and C. Hunsen. Feature-oriented software evolution. In 7th International Workshop on Variability Modelling of Software-intensive Systems, Italy, 2013. ACM. Google ScholarDigital Library
- K. Pohl, G. Böckle, and F. Van Der Linden. Software product line engineering: foundations, principles, and techniques. Springer, 2005. Google ScholarDigital Library
- L. M. Rose, R. F. Paige, D. S. Kolovos, and F. A. Polack. An analysis of approaches to model migration. In Proc. Joint MoDSE-MCCM Workshop, pages 6–15, 2009.Google Scholar
- M. Svahnberg and J. Bosch. Evolution in software product lines: Two cases. Journal of Software Maintenance, 11(6):391–422, Nov. 1999. Google ScholarDigital Library
- G. Wachsmuth. Metamodel adaptation and model co-adaptation. In E. Ernst, editor, ECOOP 2007 Object-Oriented Programming, volume 4609 of Lecture Notes in Computer Science, pages 600–624. Springer Berlin Heidelberg, 2007. Google ScholarDigital Library
Index Terms
- Addressing metamodel revisions in model-based software product lines
Recommendations
Building software product lines from conceptualized model patterns
SPLC '15: Proceedings of the 19th International Conference on Software Product LineSoftware Product Lines (SPLs) can be established from a set of similar models. Establishing the Product Line by mechanically finding model differences may not be the best approach. The identified model fragments may not be seen as recognizable units by ...
Addressing metamodel revisions in model-based software product lines
GPCE '15Metamodels 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 ...
SMartyModeling: an Environment for Engineering UML-based Software Product Lines
VaMoS '21: Proceedings of the 15th International Working Conference on Variability Modelling of Software-Intensive SystemsSoftware Product Line (SPL) has been successfully consolidated as an approach for systematic reuse. The adoption of the SPL approach aims at increasing the reuse of requirements and artifacts, thus reusing documents, source code and artifacts and ...
Comments