skip to main content
10.1145/3382025.3414955acmconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

A conceptual model for unifying variability in space and time

Published: 19 October 2020 Publication History

Abstract

Software engineering faces the challenge of developing and maintaining systems that are highly variable in space (concurrent variations of the system at a single point in time) and time (sequential variations of the system due to its evolution). Recent research aims to address this need by managing variability in space and time simultaneously. However, such research often relies on nonuniform terminologies and a varying understanding of concepts, as it originates from different communities: software product-line engineering and software configuration management. These issues complicate the communication and comprehension of the concepts involved, impeding the development of techniques to unify variability in space and time. To tackle this problem, we performed an iterative, expert-driven analysis of existing tools to derive the first conceptual model that integrates and unifies terminologies and concepts of both dimensions of variability. In this paper, we present the unification process of concepts for variability in space and time, and the resulting conceptual model itself. We show that the conceptual model achieves high coverage and that its concepts are of appropriate granularity with respect to the tools for managing variability in space, time, or both that we considered. The conceptual model provides a well-defined, uniform terminology that empowers researchers and developers to compare their work, clarifies communication, and prevents redundant developments.

References

[1]
Frederik Ahlemann and Gerold Riempp. 2008. RefModPM: A Conceptual Reference Model for Project Management Information Systems. Wirtschaftsinformatik 50, 2 (2008).
[2]
Sofia Ananieva, Thorsten Berger, Andreas Burger, Timo Kehrer, Heiko Klare, Anne Koziolek, Henrik Lönn, S. Ramesh, Gabriele Taentzer, and Bernhard Westfechtel. 2019. Conceptual Modeling Group. In Software Evolution in Time and Space: Unifying Version and Variability Management (Dagstuhl Seminar 19191), Thorsten Berger, Marsha Chechik, Timo Kehrer, and Manuel Wimmer (Eds.). Schloss Dagstuhl-Leibniz-Zentrum für Informatik.
[3]
Sofia Ananieva, Timo Kehrer, Heiko Klare, Anne Koziolek, Henrik Lönn, S. Ramesh, Andreas Burger, Gabriele Taentzer, and Bernhard Westfechtel. 2019. Towards a Conceptual Model for Unifying Variability in Space and Time. In International Systems and Software Product Line Conference (SPLC). ACM.
[4]
Sofia Ananieva, Heiko Klare, Erik Burger, and Ralf Reussner. 2018. Variants and Versions Management for Models with Integrated Consistency Preservation. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM.
[5]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[6]
Sven Apel, Florian Janda, Salvador Trujillo, and Christian Kästner. 2009. Model Superimposition in Software Product Lines. In International Conference on Theory and Practice of Model Transformations (ICMT). Springer.
[7]
Timo Asikainen, Tomi Männistö, and Timo Soininen. 2006. A Unified Conceptual Foundation for Feature Modelling. In International Software Product Line Conference (SPLC). IEEE.
[8]
Rabih Bashroush, Muhammad Garba, Rick Rabiser, Iris Groher, and Goetz Botterweck. 2017. CASE Tool Support for Variability Management in Software Product Lines. ACM Computing Surveys 50, 1 (2017).
[9]
Don Batory. 2005. Feature Models, Grammars, and Propositional Formulas. In International Conference on Software Product Lines (SPLC). Springer.
[10]
Maurice H. ter Beek, Klaus Schmid, and Holger Eichelberger. 2019. Textual Variability Modeling Languages: An Overview and Considerations. In International Systems and Software Product Line Conference (SPLC). ACM.
[11]
Thorsten Berger, Marsha Chechik, Timo Kehrer, and Manuel Wimmer. 2019. Software Evolution in Time and Space: Unifying Version and Variability Management (Dagstuhl Seminar 19191). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik.
[12]
Danilo Beuche. 2013. pure::variants. In Systems and Software Variability Management - Concepts, Tools and Experiences, Rafael Capilla, Jan Bosch, and Kyo Chul Kang (Eds.). Springer.
[13]
Jan Bosch. 2010. Toward Compositional Software Product Lines. IEEE Software 27, 3 (2010).
[14]
Paul Clements and Linda Northrop. 2001. Software Product Lines: Practices and Patterns. Addison-Wesley.
[15]
Reidar Conradi and Bernhard Westfechtel. 1998. Version Models for Software Configuration Management. ACM Computing Surveys 30, 2 (1998).
[16]
Krzysztof Czarnecki, Paul Grünbacher, Rick Rabiser, Klaus Schmid, and Andrzej Wąsowski. 2012. Cool Features and Tough Decisions: A Comparison of Variability Modeling Approaches. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM.
[17]
Krzysztof Czarnecki, Chang Hwan, Peter Kim, and KT Kalleberg. 2006. Feature Models are Views on Ontologies. In International Software Product Line Conference (SPLC). IEEE.
[18]
Yael Dubinsky, Julia Rubin, Thorsten Berger, Slawomir Duszynski, Martin Becker, and Krzysztof Czarnecki. 2013. An Exploratory Study of Cloning in Industrial Software Product Lines. In European Conference on Software Maintenance and Reengineering (CSMR). IEEE.
[19]
Jacky Estublier. 2000. Software Configuration Management: A Roadmap. In Conference on the Future of Software Engineering (FOSE). ACM.
[20]
Stefan Fischer, Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2014. Enhancing Clone-and-Own with Systematic Reuse for Developing Software Variants. In International Conference on Software Maintenance and Evolution (ICSME). IEEE.
[21]
Stefan Fischer, Lukas Linsbauer, Roberto E. Lopez-Herrejon, and Alexander Egyed. 2015. The ECCO Tool: Extraction and Composition for Clone-and-Own. In International Conference on Software Engineering (ICSE). IEEE.
[22]
Matthias Galster, Danny Weyns, Dan Tofan, Bartosz Michalik, and Paris Avgeriou. 2014. Variability in Software Systems---A Systematic Literature Review. IEEE Transactions on Software Engineering 40, 3 (2014).
[23]
Rohit Gheyi, Tiago Massoni, and Paulo Borba. 2008. Algebraic Laws for Feature Models. Journal of Universal Computer Science 14, 21 (2008).
[24]
Giancarlo Guizzardi, Luís Ferreira Pires, and Marten van Sinderen. 2005. An Ontology-Based Approach for Evaluating the Domain Appropriateness and Comprehensibility Appropriateness of Modeling Languages. In International Conference on Model Driven Engineering Languages and Systems (MODELS). Springer.
[25]
Jose-Miguel Horcas, Mónica Pinto, and Lidia Fuentes. 2019. Software Product Line Engineering: A Practical Experience. In International Systems and Software Product Line Conference (SPLC). ACM.
[26]
Martin Fagereng Johansen, Franck Fleurey, Mathieu Acher, Philippe Collet, and Philippe Lahire. 2010. Exploring the Synergies Between Feature Models and Ontologies. In International Conference on Software Product Lines (SPLC).
[27]
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 CMU/SEI-90-TR-21. Carnegie-Mellon University.
[28]
Timo Kehrer, Udo Kelter, and Gabriele Taentzer. 2013. Consistency-Preserving Edit Scripts in Model Versioning. In International Conference on Automated Software Engineering (ASE). IEEE.
[29]
Max E. Kramer, Erik Burger, and Michael Langhammer. 2013. View-Centric Engineering with Synchronized Heterogeneous Models. In International Workshop on View-Based, Aspect-Oriented and Orthographic Software Modelling (VAO). ACM.
[30]
Jacob Krüger. 2019. Are You Talking about Software Product Lines? An Analysis of Developer Communities. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM.
[31]
Jacob Krüger, Sofia Ananieva, Lea Gerling, and Eric Walkingshaw. 2020. Third International Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution 2020). In International Systems and Software Product Line Conference (SPLC). ACM.
[32]
Christian Kästner, Thomas Thüm, Gunter Saake, Janet Feigenspan, Thomas Leich, Fabian Wielgorz, and Sven Apel. 2009. FeatureIDE: A Tool Framework for Feature-Oriented Software Development. In International Conference on Software Engineering (ICSE). IEEE.
[33]
Lukas Linsbauer, Thorsten Berger, and Paul Grünbacher. 2017. A Classification of Variation Control Systems. In International Conference on Generative Programming: Concepts & Experience (GPCE). ACM.
[34]
Lukas Linsbauer, Alexander Egyed, and Roberto Erick Lopez-Herrejon. 2016. A Variability Aware Configuration Management and Revision Control Platform. In International Conference on Software Engineering (ICSE). ACM.
[35]
Lukas Linsbauer, Roberto Erick Lopez-Herrejon, and Alexander Egyed. 2017. Variability Extraction and Modeling for Product Variants. Software and Systems Modeling 16, 4 (2017).
[36]
Lukas Linsbauer, Somayeh Malakuti, Andrey Sadovykh, and Felix Schwägerl. 2018. 1st Intl. Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution). In International Systems and Software Product Line Conference (SPLC).
[37]
Jon Loeliger and Matthew McCullough. 2012. Version Control with Git. O'Reilly.
[38]
Stephen A. MacKay. 1995. The State of the Art in Concurrent, Distributed Configuration Management. In International Workshop on Software Configuration Management (SCM). Springer.
[39]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer.
[40]
Damir Nešić, Jacob Krüger, S, tefan Stănciulescu, and Thorsten Berger. 2019. Principles of Feature Modeling. In Joint Meeting on European Software Engineering Conference and Symposium on the Foundations of Software Engineering (ESEC/FSE). ACM.
[41]
Michael Nieke, Gil Engel, and Christoph Seidl. 2017. DarwinSPL: An Integrated Tool Suite for Modeling Evolving Context-Aware Software Product Lines. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM.
[42]
Michael Nieke, Lukas Linsbauer, Jacob Krüger, and Thomas Leich. 2019. Second International Workshop on Variability and Evolution of Software-Intensive Systems (VariVolution 2019). In International Systems and Software Product Line Conference (SPLC). ACM.
[43]
Linda M. Northrop. 2002. SEI's Software Product Line Tenets. IEEE Software 19, 4 (2002).
[44]
Object Management Group (OMG). 2014. Object Constraint Language.
[45]
David L. Parnas. 1976. On the Design and Development of Program Families. IEEE Transactions on Software Engineering SE-2, 1 (1976).
[46]
Juliana Alves Pereira, Kattiana Constantino, and Eduardo Figueiredo. 2015. A Systematic Literature Review of Software Product Line Management Tools. In International Conference on Software Reuse (ICSR). Springer.
[47]
Christopher Pietsch, Timo Kehrer, Udo Kelter, Dennis Reuling, and Manuel Ohrndorf. 2015. SiPL - A Delta-Based Modeling Framework for Software Product Line Engineering. In International Conference on Automated Software Engineering (ASE). IEEE.
[48]
Christopher Pietsch, Udo Kelter, Timo Kehrer, and Christoph Seidl. 2019. Formal Foundations for Analyzing and Refactoring Delta-Oriented Model-Based Software Product Lines. In International Systems and Software Product Line Conference (SPLC). ACM.
[49]
Christopher Pietsch, Christoph Seidl, Michael Nieke, and Timo Kehrer. 2020. Delta-Oriented Development of Model-Based Software Product Lines with DeltaEcore and SiPL: A Comparison. In Model Management and Analytics for Large Scale Systems, Bedir Tekinerdogan, Önder Babur, Loek Cleophas, Mark van den Brand, and Mehmet Akşit (Eds.). Elsevier.
[50]
C. Michael Pilato, Ben Collins-Sussman, and Brian W. Fitzpatrick. 2008. Version Control with Subversion: Next Generation Open Source Version Control. O'Reilly.
[51]
Klaus Pohl, Günter Böckle, and Frank J. van der Linden. 2005. Software Product Line Engineering. Springer.
[52]
Julia Rubin and Marsha Chechik. 2013. A Framework for Managing Cloned Product Variants. In International Conference on Software Engineering (ICSE).
[53]
Nayan B. Ruparelia. 2010. The History of Version Control. ACM SIGSOFT Software Engineering Notes 35, 1 (2010), 5--9.
[54]
Ina Schaefer, Lorenzo Bettini, Viviana Bono, Ferruccio Damiani, and Nico Tanzarella. 2010. Delta-Oriented Programming of Software Product Lines. In International Conference on Software Product Lines (SPLC). Springer.
[55]
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 (2012).
[56]
Pierre-Yves Schobbens, Patrick Heymans, Jean-Christophe Trigaux, and Yves Bontemps. 2007. Generic Semantics of Feature Diagrams. Computer Networks 51, 2 (2007).
[57]
Felix Schwägerl. 2018. Version Control and Product Lines in Model-Driven Software Engineering. Ph.D. Dissertation. University of Bayreuth.
[58]
Felix Schwägerl and Bernhard Westfechtel. 2016. SuperMod: Tool Support for Collaborative Filtered Model-driven Software Product Line Engineering. In International Conference on Automated Software Engineering (ASE). ACM.
[59]
Felix Schwägerl and Bernhard Westfechtel. 2019. Integrated Revision and Variation Control for Evolving Model-Driven Software Product Lines. Software and Systems Modeling 18, 6 (2019).
[60]
Christoph Seidl, Ina Schaefer, and Uwe Aßmann. 2014. Capturing Variability in Space and Time with Hyper Feature Models. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM.
[61]
Christoph Seidl, Ina Schaefer, and Uwe Aßmann. 2014. DeltaEcore - A ModelBased Delta Language Generation Framework. In Modellierung. GI.
[62]
Christoph Seidl, Ina Schaefer, and Uwe Aßmann. 2014. Integrated Management of Variability in Space and Time in Software Families. In International Software Product Line Conference (SPLC). ACM.
[63]
Daniel Strüber, Mukelabai Mukelabai, Jacob Krüger, Stefan Fischer, Lukas Linsbauer, Jabier Martinez, and Thorsten Berger. 2019. Facing the Truth: Benchmarking the Techniques for the Evolution of Variant-Rich Systems. In International Systems and Software Product Line Conference (SPLC). ACM.
[64]
Ştefan Stănciulescu, Sandro Schulze, and Andrzej Wąsowski. 2015. Forked and Integrated Variants in an Open-Source Firmware Project. In International Conference on Software Maintenance and Evolution (ICSME). IEEE.
[65]
Thomas Thüm, Leopoldo Teixeira, Klaus Schmid, Eric Walkingshaw, Mukelabai Mukelabai, Mahsa Varshosaz, Goetz Botterweck, Ina Schaefer, and Timo Kehrer. 2019. Towards Efficient Analysis of Variation in Time and Space. In International Software Product Line Conference (SPLC). ACM.
[66]
Birgit Vogel-Heuser, Christoph Legat, Jens Folmer, and Stefan Feldmann. 2014. Researching Evolution in Industrial Plant Automation: Scenarios and Documentation of the Pick and Place Unit. Technical Report TUM-AIS-TR-01-14-02. Technical University of Munich.
[67]
Bernhard Westfechtel, Bjørn P. Munch, and Reidar Conradi. 2001. A Layered Architecture for Uniform Version Management. IEEE Transactions on Software Engineering 27, 12 (2001).

Cited By

View all
  • (2024)Consistency Is Key: Can Your Product Line Realise What It Models?Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3687812(690-699)Online publication date: 22-Sep-2024
  • (2024)Integrated Approach for High-quality Software Development of Upgradeable Vehicles2024 Stuttgart International Symposium on Automotive and Engine Technology10.1007/978-3-658-45010-6_13(202-217)Online publication date: 30-Jun-2024
  • (2023)Union Models for Model Families: Efficient Reasoning over Space and TimeAlgorithms10.3390/a1602010516:2(105)Online publication date: 11-Feb-2023
  • Show More Cited By

Recommendations

Comments

Information & Contributors

Information

Published In

cover image ACM Conferences
SPLC '20: Proceedings of the 24th ACM Conference on Systems and Software Product Line: Volume A - Volume A
October 2020
323 pages
ISBN:9781450375696
DOI:10.1145/3382025
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected]

Sponsors

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 19 October 2020

Permissions

Request permissions for this article.

Check for updates

Badges

Author Tags

  1. product lines
  2. revision management
  3. variability
  4. version control

Qualifiers

  • Research-article

Funding Sources

  • Deutsche Forschungsgemeinschaft (DFG)

Conference

SPLC '20
Sponsor:

Acceptance Rates

SPLC '20 Paper Acceptance Rate 17 of 49 submissions, 35%;
Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)44
  • Downloads (Last 6 weeks)3
Reflects downloads up to 25 Feb 2025

Other Metrics

Citations

Cited By

View all
  • (2024)Consistency Is Key: Can Your Product Line Realise What It Models?Proceedings of the ACM/IEEE 27th International Conference on Model Driven Engineering Languages and Systems10.1145/3652620.3687812(690-699)Online publication date: 22-Sep-2024
  • (2024)Integrated Approach for High-quality Software Development of Upgradeable Vehicles2024 Stuttgart International Symposium on Automotive and Engine Technology10.1007/978-3-658-45010-6_13(202-217)Online publication date: 30-Jun-2024
  • (2023)Union Models for Model Families: Efficient Reasoning over Space and TimeAlgorithms10.3390/a1602010516:2(105)Online publication date: 11-Feb-2023
  • (2023)Architecture-based attack propagation and variation analysis for identifying confidentiality issues in Industry 4.0at - Automatisierungstechnik10.1515/auto-2022-013571:6(443-452)Online publication date: 7-Jun-2023
  • (2023)A Vision on Intentions in Software EngineeringProceedings of the 31st ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering10.1145/3611643.3613087(2117-2121)Online publication date: 30-Nov-2023
  • (2023)An Action-based Model to Handle Cloning and Adaptation in Tabular Data ApplicationsProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608991(201-212)Online publication date: 28-Aug-2023
  • (2023)VariantIncProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3608984(129-140)Online publication date: 28-Aug-2023
  • (2023)How do microservices evolve? An empirical analysis of changes in open-source microservice repositoriesJournal of Systems and Software10.1016/j.jss.2023.111788204(111788)Online publication date: Oct-2023
  • (2023)A benchmark generator framework for evolving variant-rich softwareJournal of Systems and Software10.1016/j.jss.2023.111736203(111736)Online publication date: Sep-2023
  • (2023)Analyzing Variant Forks of Software Repositories from Social Coding PlatformsSoftware Ecosystems10.1007/978-3-031-36060-2_6(131-152)Online publication date: 26-May-2023
  • Show More Cited By

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media