[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/3233027.3233050acmotherconferencesArticle/Chapter ViewAbstractPublication PagessplcConference Proceedingsconference-collections
research-article

Getting rid of clone-and-own: moving to a software product line for temperature monitoring

Published: 10 September 2018 Publication History

Abstract

Due to its fast and simple applicability, clone-and-own is widely used in industry to develop software variants. In cooperation with different companies for thermoelectric products, we implemented multiple variants of a heat monitoring tool based on clone-and-own. After encountering redundancy-related problems during development and maintenance, we decided to migrate towards a software product line. Within this paper, we describe this case study of migrating cloned variants to a software product line based on the extractive approach. The resulting software product line encapsulates variability on several levels, including the underlying hardware systems, interfaces, and use cases. Currently, we support monitoring hardware from three different companies that use the same core system and provide a configurable front-end. We share our experiences and encountered problems with cloning and migration towards a software product line---focusing on feature extraction and modeling in particular. Furthermore, we provide a lightweight, web-based tool for modeling, configuring, and implementing software product lines, which we use to migrate and manage features. Besides this experience report, we contribute most of the created artifacts as open-source and freely available for the research community.

References

[1]
Vander Alves, Pedro Matos, Leonardo Cole, Paulo Borba, and Geber Ramalho. 2005. Extracting and Evolving Mobile Games Product Lines. In International Systems and Software Product Line Conference (SPLC). Springer, 70--81.
[2]
Sven Apel, Don Batory, Christian Kästner, and Gunter Saake. 2013. Feature-Oriented Software Product Lines. Springer.
[3]
Wesley Klewerton Guez Assunção and Silvia Regina Vergilio. 2014. Feature Location for Software Product Line Migration: A Mapping Study. In International Systems and Software Product Line Conference (SPLC). ACM, 52--59.
[4]
Massimo Banzi and Michael Shiloh. 2014. Getting Started with Arduino: The Open Source Electronics Prototyping Platform. Maker Media.
[5]
Don Batory. 2004. Feature-Oriented Programming and the AHEAD Tool Suite. In International Conference on Software Engineering (ICSE). IEEE, 702--703.
[6]
Don Batory, Peter Höfner, Bernhard Möller, and Andreas Zeland. 2013. Features, Modularity, and Variation Points. In International Workshop on Feature-Oriented Software Development (FOSD). ACM, 9--16.
[7]
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.
[8]
Thorsten Berger, Daniela Lettner, Julia Rubin, Paul Grünbacher, Adeline Silva, Martin Becker, Marsha Chechik, and Krzysztof Czarnecki. 2015. What is a Feature? A Qualitative Study of Features in Industrial Software Product Lines. In International Conference on Software Product Line (SPLC). ACM, 16--25.
[9]
Thorsten Berger, Ralf Rublack, Divya Nair, Joanne M. Atlee, Martin Becker, Krzysztof Czarnecki, and Andrzej Wąsowski. 2013. A Survey of Variability Modeling in Industrial Practice. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 1--8.
[10]
Danilo Beuche. 2008. Modeling and Building Software Product Lines with Pure::Variants. In International Systems and Software Product Line Conference (SPLC). IEEE, 358--358.
[11]
Muffy Calder, Mario Kolberg, Evan H Magill, and Stephan Reiff-Marganiec. 2003. Feature Interaction: A Critical Review and Considered Forecast. Computer Networks 41, 1 (2003), 115--141.
[12]
Andreas Classen, Patrick Heymans, and Pierre-yves Schobbens. 2008. What's in a Feature: A Requirements Engineering Perspective. In International Conference on Fundamental Approaches to Software Engineering (FASE). Springer, 16--30.
[13]
Paul C. Clements and Charles W. Krueger. 2002. Point/Counterpoint: Being Proactive Pays Off/Eliminating the Adoption Barrier. IEEE Software 19, 4 (2002), 28--30.
[14]
Marcus Vinicius Couto, Marco Tulio Valente, and Eduardo Figueiredo. 2011. Extracting Software Product Lines: A Case Study Using Conditional Compilation. In European Conference on Software Maintenance and Reengineering (CSMR). IEEE, 191--200.
[15]
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, 173--182.
[16]
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, 25--34.
[17]
Christof Ebert and Michel Smouts. 2003. Tricks and Traps of Initiating a Product Line Concept in Existing Products. In International Conference on Software Engineering (ICSE). IEEE, 520--525.
[18]
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, 391--400.
[19]
Martin Fowler and Kent Beck. 1999. Refactoring: Improving the Design of Existing Code. Addison-Wesley.
[20]
Claudia Fritsch and Ralf Hahn. 2004. Product Line Potential Analysis. In International Systems and Software Product Line Conference (SPLC). Springer, 228--237.
[21]
Brian W. Kernighan and Dennis M. Ritchie. 1978. The C Programming Language. Prentice-Hall.
[22]
Gregor Kiczales, John Lamping, Anurag Mendhekar, Chris Maeda, Cristina Lopes, Jean-Marc Loingtier, and John Irwin. 1997. Aspect-Oriented Programming. In European Conference on Object-Oriented Programming (ECOOP). Springer, 220--242.
[23]
Peter Knauber, Jesus Bermejo, Günter Böckle, Julio Cesar Sampaio Do Prado Leite, Frank van der Linden, Linda M. Northrop, Michael Stark, and David M. Weiss. 2002. Quantifying Product Line Benefits. In International Workshop on Product-Family Engineering (PFE). Springer, 155--163.
[24]
Sebastian Krieter, Jacob Krüger, and Thomas Leich. 2018. Don't Worry About it: Managing Variability On-The-Fly. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 19--26.
[25]
Sebastian Krieter, Marcus Pinnecke, Jacob Krüger, Joshua Sprey, Christopher Sontag, Thomas Thüm, Thomas Leich, and Gunter Saake. 2017. FeatureIDE: Empowering Third-Party Developers. In International Systems and Software Product Line Conference (SPLC). ACM, 42--45.
[26]
Charles W. Krueger. 2002. Easing the Transition to Software Mass Customization. In International Workshop on Software Product-Family Engineering (PFE). Springer, 282--293.
[27]
Charles W. Krueger. 2007. BigLever Software Gears and the 3-Tiered SPL Methodology. In ACM SIGPLAN Conference on Object Oriented Programming Systems, Languages, and Applications (OOPSLA). ACM, 844--845.
[28]
Jacob Krüger, Wolfram Fenske, Jens Meinicke, Thomas Leich, and Gunter Saake. 2016. Extracting Software Product Lines: A Cost Estimation Perspective. In International Systems and Software Product Line Conference (SPLC). ACM, 354--361.
[29]
Jacob Krüger, Wanzi Gu, Hui Shen, Mukelabai Mukelabai, Regina Hebig, and Thorsten Berger. 2018. Towards a Better Understanding of Software Features and Their Characteristics: A Case Study of Marlin. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). ACM, 105--112.
[30]
Jacob Krüger, Louis Nell, Wolfram Fenske, Gunter Saake, and Thomas Leich. 2017. Finding Lost Features in Cloned Systems. In International Systems and Software Product Line Conference (SPLC). ACM, 65--72.
[31]
George Lawton. 2005. LAMP Lights Enterprise Development Efforts. Computer 38, 9 (2005), 18--20.
[32]
Duc Minh Le, Hyesun Lee, Kyo Chul Kang, and Lee Keun. 2013. Validating Consistency Between a Feature Model and Its Implementation. In International Conference on Software Reuse (ICSR). Springer, 1--16.
[33]
Jabier Martinez, Wesley K. G. Assunção, and Tewfik Ziadi. 2017. ESPLA: A Catalog of Extractive SPL Adoption Case Studies. In International Systems and Software Product Line Conference (SPLC). ACM, 38--41.
[34]
Jens Meinicke, Thomas Thüm, Reimar Schröter, Fabian Benduhn, Thomas Leich, and Gunter Saake. 2017. Mastering Software Variability with FeatureIDE. Springer.
[35]
Tristan Pfofe, Thomas Thüm, Sandro Schulze, Wolfram Fenske, and Ina Schaefer. 2016. Synchronizing Software Variants with VariantSync. In International Systems and Software Product Line Conference (SPLC). ACM, 329--332.
[36]
Klaus Pohl, Günter Böckle, and Frank van der Linden. 2005. Software Product Line Engineering: Foundations, Principles, and Techniques. Springer.
[37]
Christian Prehofer. 1997. Feature-Oriented Programming: A Fresh Look at Objects. In European Conference on Object-Oriented Programming (ECOOP). Springer, 419--443.
[38]
Iran Rodrigues, Márcio Ribeiro, Flávio Medeiros, Paulo Borba, Baldoino Fonseca, and Rohit Gheyi. 2016. Assessing Fine-Grained Feature Dependencies. Information and Software Technology 78 (2016), 27--52.
[39]
Marko Rosenmüller and Norbert Siegmund. 2010. Automating the Configuration of Multi Software Product Lines. In International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS). 123--130.
[40]
Marko Rosenmüller, Norbert Siegmund, Christian Kästner, and Syed Saif ur Rahman. 2008. Modeling Dependent Software Product Lines. In Workshop on Modularization, Composition and Generative Techniques for Product Line Engineering (McGPLE). 13--18.
[41]
Chanchal K. Roy, James R. Cordy, and Rainer Koschke. 2009. Comparison and Evaluation of Code Clone Detection Techniques and Tools: A Qualitative Approach. Science of Computer Programming 74, 7 (2009), 470--495.
[42]
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), 477--495.
[43]
Klaus Schmid and Martin Verlage. 2002. The Economic Impact of Product Line Adoption and Evolution. IEEE Software 19, 4 (2002), 50--57.
[44]
Peri L. Tarr, Harold Ossher, William H. Harrison, and Stanley M. Sutton Jr. 1999. N Degrees of Separation: Multi-Dimensional Separation of Concerns. In International Conference on Software Engineering (ICSE). 107--119.
[45]
Reinhard Tartler, Daniel Lohmann, Julio Sincero, and Wolfgang Schröder-Preikschat. 2011. Feature Consistency in Compile-Time-Configurable System Software. In International Conference on Computer Systems (EuroSys). ACM, 47--60.
[46]
Thomas Thüm, Sven Apel, Christian Kästner, Ina Schaefer, and Gunter Saake. 2014. A Classification and Survey of Analysis Strategies for Software Product Lines. ACM Computing Surveys 47, 1 (2014), 1--45.
[47]
Frank van der Linden, Klaus Schmid, and Eelco Rommes. 2007. Software Product Lines in Action. Springer.
[48]
Kentaro Yoshimura, Dharmalingam Ganesan, and Dirk Muthig. 2006. Defining a Strategy to Introduce a Software Product Line Using Existing Embedded Systems. In International Conference on Embedded Software (EMSOFT). ACM, 63--72.

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2024)A Meta-Study of Software-Change IntentionsACM Computing Surveys10.1145/3661484Online publication date: 25-Apr-2024
  • (2024)Applying Software Product Line Techniques to an Integrated Circuit System Modelling Framework: An Experience ReportProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672583(164-169)Online publication date: 2-Sep-2024
  • Show More Cited By

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SPLC '18: Proceedings of the 22nd International Systems and Software Product Line Conference - Volume 1
September 2018
324 pages
ISBN:9781450364645
DOI:10.1145/3233027
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 the author(s) 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].

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 10 September 2018

Permissions

Request permissions for this article.

Check for updates

Author Tags

  1. case study
  2. extraction
  3. feature modeling
  4. software product line

Qualifiers

  • Research-article

Funding Sources

Conference

SPLC '18

Acceptance Rates

Overall Acceptance Rate 167 of 463 submissions, 36%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • Downloads (Last 12 months)13
  • Downloads (Last 6 weeks)3
Reflects downloads up to 14 Dec 2024

Other Metrics

Citations

Cited By

View all
  • (2024)On the Expressive Power of Languages for Static VariabilityProceedings of the ACM on Programming Languages10.1145/36897478:OOPSLA2(1018-1050)Online publication date: 8-Oct-2024
  • (2024)A Meta-Study of Software-Change IntentionsACM Computing Surveys10.1145/3661484Online publication date: 25-Apr-2024
  • (2024)Applying Software Product Line Techniques to an Integrated Circuit System Modelling Framework: An Experience ReportProceedings of the 28th ACM International Systems and Software Product Line Conference10.1145/3646548.3672583(164-169)Online publication date: 2-Sep-2024
  • (2024)Automating Software Product Line Adoption Based on Feature Models Using Large Language Models2024 IEEE 29th International Conference on Emerging Technologies and Factory Automation (ETFA)10.1109/ETFA61755.2024.10710832(1-4)Online publication date: 10-Sep-2024
  • (2023)How to Retire and Replace a Software Product LineProceedings of the 27th ACM International Systems and Software Product Line Conference - Volume A10.1145/3579027.3609004(275-286)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)Electrics/Electronics Platforms in the Automotive Industry: Challenges and Directions for Variant-Rich Systems EngineeringProceedings of the 17th International Working Conference on Variability Modelling of Software-Intensive Systems10.1145/3571788.3571796(50-59)Online publication date: 25-Jan-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
  • (2022)Towards developer support for merging forked test casesProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547002(131-141)Online publication date: 12-Sep-2022
  • (2022)Using software product lines to create blockchain productsProceedings of the 26th ACM International Systems and Software Product Line Conference - Volume A10.1145/3546932.3547001(97-107)Online publication date: 12-Sep-2022
  • 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

Media

Figures

Other

Tables

Share

Share

Share this Publication link

Share on social media