ABSTRACT
Variability in software product lines (SPL) is mostly described with feature models. In basic feature models, the selection of a feature for a particular product determines whether or not the feature is present in the product in a global manner. Even though there are cardinality-based feature models that allow a subset of features to be specified a number of times for each product, it is not possible to customize each instance of the feature with specific details for different elements of the product.
Some SPLs integrate model transformations and use domain specific languages to describe elements of the application that cannot be described using features (for example, the definition of the data model for a particular product). In this context, a stakeholder may require some features to be applied to some elements of the data model, but not globally (for example, not every entity in the data model may require an edition form). However, current feature models do not allow the stakeholder to specify this information.
In this paper, we propose a solution that solves this problem using domain-specific languages. In addition to defining global features for the entire application, our proposal allows the stakeholder to define local features that are specific to some elements such as parts of the application or specific entities of the data model and, using the DSL to define the product, those local features can be assigned to these elements or entities. This specification of the scope of application of features opens the door to a higher degree of customization of the generated products, thus improving their quality.
- Mauricio Alférez, Mathieu Acher, José A. Galindo, Benoit Baudry, and David Benavides. 2019. Modeling variability in the video domain: language and experience report. Vol. 27. 307--347 pages. Google ScholarDigital Library
- Suilen Alvarado, Alejandro Cortiñas, Miguel Luaces, Oscar Pedreira, and Ángeles Saavedra Places. 2020. Developing Web-based Geographic Information Systems with a DSL: Proposal and Case Study. Journal of Web Engineering (06 2020). Google ScholarCross Ref
- Sven Apel and Christian Kästner. 2009. An overview of feature-oriented software development. Journal of Object Technology 8, 5 (2009), 49--84. Google ScholarCross Ref
- Don Batory, David Benavides, and Antonio Ruiz-Cortes. 2006. Automated analysis of feature models: Challenges ahead. Commun. ACM 49, 12 (2006), 2--3. 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 (sep 2010), 615--636. Google ScholarDigital Library
- David Benavides, Pablo Trinidad, and Antonio Ruiz-Cortés. 2005. Automated Reasoning on Feature Models. In Proceedings of the 17th International Conference on Advanced Information Systems Engineering (CAiSE 2005). 491--503. Google ScholarDigital Library
- A. Cortiñas, M. R. Luaces, O. Pedreira, A. S. Places, and J. Perez. 2017. Web-based Geographic Information Systems SPLE: Domain Analysis and Experience Report. In Proc. 21st International Systems & Software Product Line Conference (SPLC 2017) Vol.1. Sevilla, 190--194.Google Scholar
- Krzysztof Czarnecki, Thomas Bednasch, Peter Unger, and Ulrich Eisenecker. 2002. Generative programming for embedded software: An industrial experience report. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 2487 (oct 2002), 156--172. Google ScholarCross Ref
- Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2004. Staged configuration using feature models. Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics) 3154 (2004), 266--283. Google ScholarCross Ref
- Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2005. Formalizing cardinality-based feature models and their specialization. Software Process: Improvement and Practice 10, 1 (jan 2005), 7--29. Google ScholarCross Ref
- Krzysztof Czarnecki, Simon Helsen, and Ulrich Eisenecker. 2005. Staged configuration through specialization and multilevel configuration of feature models. Software Process Improvement and Practice 10, 2 (2005), 143--169. Google ScholarCross Ref
- José A. Galindo and David Benavides. 2020. A Python framework for the automated analysis of feature models: A first step to integrate community efforts. ACM International Conference Proceeding Series Part F1644 (2020), 52--55. Google ScholarDigital Library
- Jose-Miguel Horcas, Alejandro Cortiñas, Lidia Fuentes, and Miguel R Luaces. 2022. Combining multiple granularity variability in a software product line approach for web engineering. Information and Software Technology 148 (2022), 106910.Google ScholarCross Ref
- José Miguel Horcas, Mónica Pinto, and Lidia Fuentes. 2022. Empirical analysis of the tool support for software product lines. Software and Systems Modeling (2022). Google ScholarCross Ref
- Aitziber Iglesias, Markel Iglesias-Urkia, Beatriz López-Davalillo, Santiago Charramendieta, and Aitor Urbieta. 2019. Trilateral: Software product line based multidomain IoT artifact generation for industrial CPS. MODELSWARD 2019 - Proceedings of the 7th International Conference on Model-Driven Engineering and Software Development (2019), 64 -- 73. Cited by: 11; All Open Access, Hybrid Gold Open Access. Google ScholarCross Ref
- Kyo C Kang, Sholom G Cohen, James a Hess, William E Novak, and a Spencer Peterson. 1990. Feature-Oriented Domain Analysis (FODA) Feasibility Study. Software Engineering Institue 17, November (1990), 161. Google ScholarCross Ref
- Ahmet Serkan Karataş, Halit Oğuztüzün, and Ali Doğru. 2013. From extended feature models to constraint logic programming. Science of Computer Programming 78, 12 (2013), 2295--2312. Google ScholarCross Ref
- Klaus Pohl, Günter Böckle, and Frank Van Der Linden. 2005. Software Product Line Engineering: foundations, principles and techniques. Vol. 49. Springer Science & Business Media. 467 pages. Google ScholarCross Ref
- D. Ramos Vidal, A. Cortiñas, M. R. Luaces, O. Pedreira, and A. S. Places. 2020. A Software Product Line for Digital Libraries. In Proc of the 16th International Conference on Web Information Systems and Technologies (WEBIST 2020). Online, 321--334.Google Scholar
- M Riebisch, K Böllert, D Streitferdt, and I Philippow. 2002. Extending Feature Diagrams with UML Multiplicities. 6th World Conference on Integrated Design & Process Technology (2002), 1--7. http://www.citeulike.org/group/858/article/505058Google Scholar
- Luisa Rincon, Gabriel Rodriguez, Juan C. Martinez, Gloria Ines Alvarez, and Maria Constanza Pabon. 2015. Creating virtual stores using software product lines: An application case; [Caso de Aplicación para Crear Tiendas Virtuales Usando Lineas de Productos de Software]. 2015 10th Colombian Computing Conference, 10CCC 2015 (2015), 71 -- 78. Cited by: 1. Google ScholarCross Ref
- D.C. Sharp. 1998. Reducing avionics software cost through component based product line development. In 17th DASC. AIAA/IEEE/SAE. Digital Avionics Systems Conference. Proceedings (Cat. No.98CH36267), Vol. 2. G32/1--G32/8 vol.2. Google ScholarCross Ref
- Gustavo Sousa, Walter Rudametkin, and Laurence Duchien. 2016. Extending feature models with relative cardinalities. ACM International Conference Proceeding Series 16--23-September-2016 (2016), 79--88. Google ScholarDigital Library
- Salvador Trujillo, Don Batory, and Oscar Diaz. 2007. Feature Oriented Model Driven Development: A Case Study for Portlets. In Software Engineering, 2007. ICSE 2007. 29th International Conference on. IEEE, 44--53. Google ScholarDigital Library
- Markus Voelter and Eelco Visser. 2011. Product Line Engineering Using Domain-Specific Languages. In 2011 15th International Software Product Line Conference. 70--79. Google ScholarDigital Library
- David M Weiss, Paul Clements, and Charles W Krueger. 2006. Software Product Line Hall of Fame. SPLC 2006: Proceedings of the 10th International Software Product Line Conference (2006), 237. Google ScholarCross Ref
Index Terms
- Improving the customization of software product lines through the definition of local features
Recommendations
Improving product configuration in software product line engineering
ACSC '13: Proceedings of the Thirty-Sixth Australasian Computer Science Conference - Volume 135Software Product Line Engineering (SPLE) is a emerging software reuse paradigm. SPLE focuses on systematic software reuse from requirement engineering to product derivation throughout the software development life-cycle. Feature model is one of the most ...
A New Parameter for Product Configuration in Software Product Lines
KAM '09: Proceedings of the 2009 Second International Symposium on Knowledge Acquisition and Modeling - Volume 02Software product line development is a new software engineering method. It promotes the predictive software reuse by developing similar software systems together. One of the key artifacts of a software product line is the feature model, which represents ...
An Industrial Case Study for Adopting Software Product Lines in Automotive Industry: An Evolution-Based Approach for Software Product Lines (EVOA-SPL)
SPLC '19: Proceedings of the 23rd International Systems and Software Product Line Conference - Volume BSoftware 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 ...
Comments