An Industrial Case Study for Adopting Software Product Lines in Automotive Industry: An Evolution-Based Approach for Software Product Lines (EVOA-SPL)

Software Product Lines (SPLs) seek to achieve gains in productivity and time to market. Many companies in several domains are constantly adopting SPLs. Dealing with SPLs begin after companies find themselves with successful variants of a product in a particular domain. The adoption of an SPL-based approach in the automotive industry may provide a significant return on investment. To switch to an SPL-based approach, practitioners lack a reengineering approach that supports SPL migration and evolution in a systematic fashion. This paper presents a practical evolution-based approach to migrate and evolve a set of variants of a given product into an SPL and describes a case study from the automotive domain. The case study considers the need to handle the classical sensor variants family (CSVF) at Bosch Company. Using this study, we performed a contributed step toward future switch of the CSVF into the SPL. We investigated the applicability of the proposed evolution-based approach with a real variants family (using the textual requirements of the CSVF) and we evaluated our approach using several data collection methods. The results reveal that our approach can be suitable for the automotive domain in the case study.

[1]  Hassan Gomaa,et al.  Modeling variability in software product lines with the variation point model , 2004, Sci. Comput. Program..

[2]  Matthias Weber,et al.  Requirements engineering in automotive development-experiences and challenges , 2002, Proceedings IEEE Joint International Conference on Requirements Engineering.

[3]  Martin Becker,et al.  Code-based variability model extraction for software product line improvement , 2012, SPLC '12.

[4]  Matthias Weber,et al.  Development: Experiences and Challenges , 2003 .

[5]  Vander Alves,et al.  Extracting and Evolving Mobile Games Product Lines , 2005, SPLC.

[6]  Mathieu Acher,et al.  Feature model extraction from large collections of informal product descriptions , 2013, ESEC/FSE 2013.

[7]  Jacques Klein,et al.  Bottom-up adoption of software product lines: a generic and extensible approach , 2015, SPLC.

[8]  Gunter Saake,et al.  Feature-Oriented Software Product Lines , 2013, Springer Berlin Heidelberg.

[9]  Yair Wand,et al.  Variability Analysis of Requirements: Considering Behavioral Differences and Reflecting Stakeholders’ Perspectives , 2016, IEEE Transactions on Software Engineering.

[10]  Jacques Klein,et al.  Automating the Extraction of Model-Based Software Product Lines from Model Variants (T) , 2015, 2015 30th IEEE/ACM International Conference on Automated Software Engineering (ASE).

[11]  Pierre-Yves Schobbens,et al.  Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis , 2007, 15th IEEE International Requirements Engineering Conference (RE 2007).

[12]  Paul Grünbacher,et al.  A prototype-based approach for managing clones in clone-and-own product lines , 2016, SPLC.

[13]  Alexander Egyed,et al.  Reengineering legacy applications into software product lines: a systematic mapping , 2017, Empirical Software Engineering.

[14]  Jacques Klein,et al.  Identifying and Visualising Commonality and Variability in Model Variants , 2014, ECMFA.

[15]  Patrick J. Tierney,et al.  The FOOM Method – Modeling Software Product Lines in Industrial Settings , 2002 .

[16]  A. Charan Kumari,et al.  Analysis of Features using Feature Model in Software Product Line: A Case Study , 2018 .

[17]  João Araújo,et al.  Generating feature model from creative requirements using model driven design , 2012, SPLC '12.

[18]  Ashwini Jagdale,et al.  Study on Forward Chaining and Reverse Chaining in Expert System , 2016 .

[19]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2014, Inf. Softw. Technol..

[20]  Krzysztof Czarnecki,et al.  Efficient synthesis of feature models , 2012, SPLC '12.

[21]  George Valença,et al.  Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript Requirements Engineering for Software Product Lines: a Systematic Literature Review Accepted Manuscript , 2022 .

[22]  Yang Li,et al.  Reverse Engineering Variability from Natural Language Documents: A Systematic Literature Review , 2017, SPLC.

[23]  Klaus Pohl,et al.  Variability management in software product line engineering , 2006, ICSE.

[24]  Marsha Chechik,et al.  Managing cloned variants: a framework and experience , 2013, SPLC '13.

[25]  Marco Tulio Valente,et al.  Extracting Software Product Lines: A Case Study Using Conditional Compilation , 2011, 2011 15th European Conference on Software Maintenance and Reengineering.

[26]  Klaus Pohl,et al.  Software product line engineering and variability management: achievements and challenges , 2014, FOSE.

[27]  Abdelhak-Djamel Seriai,et al.  Feature Location in a Collection of Software Product Variants Using Formal Concept Analysis , 2013, ICSR.

[28]  Jan Bosch,et al.  Evolution in software product lines: Two cases , 1999 .

[29]  Martin Höst,et al.  Guidelines for Conducting Surveys in Software Engineering , 2015 .

[30]  Carlos José Pereira de Lucena,et al.  Refactoring product lines , 2006, GPCE '06.

[31]  Jafar Habibi,et al.  A Feature Model Based Framework for Refactoring Software Product Line Architecture , 2016, Journal of Computer Science and Technology.

[32]  Ismet Aktas,et al.  Model-driven Support for Source Code Variability in Automotive Software Engineering , 2009, MAPLE@SPLC.