ABSTRACT
A Software Product Line (SPL) captures families of software products and its functionality is captured as features in a feature model. Similar to other software systems, SPLs and their feature models are subject to evolution. Temporal Feature Models (TFMs) are an extension to feature models that allow for engineers to model past feature-model evolution and plan future evolution. When planning future evolution of feature models, multiple evolution steps may be planned upfront but changed requirements may lead to retroactively introducing evolution steps into the planned evolution or changing already planned steps. As a consequence, inconsistencies, which we denote as evolution paradoxes, may arise leading to invalidity of already modeled future evolution steps. In this paper, we present first steps towards allowing to introduce intermediate evolution steps into planned evolution while preserving consistency of all future evolution steps. To this end, we outline a method to define and check model evolution consistency rules. Using this method, engineers are allowed to introduce intermediate feature-model evolution steps whenever these changes preserve the evolution consistency rules.
- C. Atkinson and T. Kuhne. 2003. Model-driven development: a metamodeling foundation. IEEE Software 20, 5 (Sept 2003), 36--41. Google ScholarDigital Library
- David Benavides, Sergio Segura, and Antonio Ruiz-Cortés. 2010. Automated analysis of feature models 20 years later: A literature review. Information Systems 35, 6 (2010), 615--636. Google ScholarDigital Library
- Leonardo De Moura and Nikolaj BjØrner. 2011. Satisfiability Modulo Theories: Introduction and Applications. Commun. ACM 54, 9 (Sept. 2011), 69--77. Google ScholarDigital Library
- Gregor Engels, Reiko Heckel, Jochen M. Küster, and Luuk Groenewegen. 2002. Consistency-Preserving Model Evolution through Transformations. In UML 2002 --- The Unified Modeling Language, Jean-Marc Jézéquel, Heinrich Hussmann, and Stephen Cook (Eds.). Springer Berlin Heidelberg, Berlin, Heidelberg, 212--227. Google ScholarDigital Library
- Kyo C Kang, Sholom G Cohen, James A Hess, William E Novak, and A Spencer Peterson. 1990. Feature-oriented domain analysis (FODA) feasibility study. Technical Report. Carnegie-Mellon Univ Pittsburgh Pa Software Engineering Inst.Google Scholar
- T. Kehrer, U. Kelter, and G. Taentzer. 2013. Consistency-preserving edit scripts in model versioning. In 2013 28th IEEE/ACM International Conference on Automated Software Engineering (ASE). 191--201. Google ScholarDigital Library
- Timo Kehrer, Gabriele Taentzer, Michaela Rindt, and Udo Kelter. 2016. Automatically Deriving the Specification of Model Editing Operations from Meta-Models. In Theory and Practice of Model Transformations, Pieter Van Gorp and Gregor Engels (Eds.). Springer International Publishing, Cham, 173--188. Google ScholarDigital Library
- Alexander Knüppel, Thomas Thüm, Stephan Mennicke, Jens Meinicke, and Ina Schaefer. 2017. Is There a Mismatch Between Real-world Feature Models and Product-line Research?. In Proceedings of the 2017 11th Joint Meeting on Foundations of Software Engineering (ESEC/FSE 2017). ACM, New York, NY, USA, 291--302. Google ScholarDigital Library
- Rafael Lotufo, Steven She, Thorsten Berger, Krzysztof Czarnecki, and Andrzej Wąsowski. 2010. Evolution of the Linux Kernel Variability Model. In Proceedings of the 14th International Conference on Software Product Lines: Going Beyond (SPLC'10). Springer-Verlag, Berlin, Heidelberg, 136--150. Google ScholarDigital Library
- Michael Nieke, Gil Engel, and Christoph Seidl. 2017. DarwinSPL: An Integrated Tool Suite for Modeling Evolving Context-aware Software Product Lines. In Proceedings of the Eleventh International Workshop on Variability Modelling of Software-intensive Systems (VAMOS '17). ACM, New York, NY, USA, 92--99. Google ScholarDigital Library
- Michael Nieke, Christoph Seidl, and Sven Schuster. 2016. Guaranteeing Configuration Validity in Evolving Software Product Lines. In Proceedings of the Tenth International Workshop on Variability Modelling of Software-intensive Systems (Va-MoS '16). ACM, New York, NY, USA, 73--80. Google ScholarDigital Library
- Leonardo Passos, Krzysztof Czarnecki, Sven Apel, Andrzej Wąsowski, Christian Kästner, and Jianmei Guo. 2013. Feature-oriented Software Evolution. In Proceedings of the Seventh International Workshop on Variability Modelling of Software-intensive Systems (VaMoS '13). ACM, New York, NY, USA, Article 17, 8 pages. Google ScholarDigital Library
- Leonardo Passos, Krzysztof Czarnecki, and Andrzej Wąsowski. 2012. Towards a Catalog of Variability Evolution Patterns: The Linux Kernel Case. In Proceedings of the 4th International Workshop on Feature-Oriented Software Development (FOSD '12). ACM, New York, NY, USA, 62--69. Google ScholarDigital Library
- A. Pnueli. 1977. The temporal logic of programs. In 18th Annual Symposium on Foundations of Computer Science (sfcs 1977). 46--57. Google ScholarDigital Library
- K. Pohl, G. Böckle, and F.J. van der Linden. 2005. Software Product Line Engineering: Foundations, Principles and Techniques. Springer Berlin Heidelberg. Google ScholarDigital Library
- Ina Schaefer, Rick Rabiser, Dave Clarke, Lorenzo Bettini, David Benavides, Goetz Botterweck, Animesh Pathak, Salvador Trujillo, and Karina Villela. 2012. Software diversity: state of the art and perspectives. International Journal on Software Tools for Technology Transfer 14, 5 (01 Oct 2012), 477--495. Google ScholarDigital Library
- Felix Schwägerl and Bernhard Westfechtel. 2017. Maintaining Workspace Consistency in Filtered Editing of Dynamically Evolving Model-driven Software Product Lines. In Proceedings of the 5th International Conference on Model-Driven Engineering and Software Development - Volume 1: MODELSWARD,. SciTePress, 15--28.Google ScholarDigital Library
Recommendations
There and back again: gene-processing hardware for the evolution and robotic deployment of robust navigation strategies
GECCO '14: Proceedings of the 2014 Annual Conference on Genetic and Evolutionary ComputationNavigation strategies represent some of the most intriguing examples of complex and intelligent behaviors in nature. Accordingly, they have been the focus of extensive research in animal behavior and in evolutionary robotics. However, engineering ...
The future of software engineering: a survey
Software Engineering (SE) is a new field compared to other sciences. The term Software Engineering first appeared in late 1950s. SE from its beginning has been continuously in the process of evolution. New approaches, methods, tools and techniques are ...
Design for future: managed software evolution
Innovative software engineering methodologies, concepts and tools which focus on supporting the ongoing evolution of complex software, in particular regarding its continuous adaptation to changing functional and quality requirements as well as platforms ...
Comments