Abstract
In practice, a large amount of Software Product Lines (SPLs) are developed using a bottom-up process. In this case, an SPL is synthesized from similar product variants that are developed for SPL using ad hoc reuse techniques such as copy-paste-modify. In this paper, we present an approach for migrating existing product variants into an SPL. This approach is applied on models and it takes as input a set of models that abstract the product variants. The result of the approach is a software product line represented by the SPL model and the variability model. SPL model is the result of merging input product models. The variability model is a Feature Model (FM) allowing the specification of the variability on the SPL model. We propose to construct the SPL in an incremental way. After an initialization step, the set of input products are integrated in the SPL one after another. To integrate a new product, we first compare the input product model with the SPL model in order to identify the variability, and then we update both the SPL model and the variability model. The approach is implemented and evaluated on a case study.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
In our work, we consider features and product models as sets of elements, so all usual operations on sets (such as union, intersection, and difference, etc.) are also applicable on them.
- 2.
Meta-Object Facility (MOF) Core Specification, http://www.omg.org/spec/MOF/2.0/.
References
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Boston (2000)
Pohl, K., Böckle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)
Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Extraction and evolution of architectural variability models in plugin-based systems. In: SoSyM, pp. 1–28 (2013)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature oriented domain analysis (FODA) feasibility study, Technical report. CMU/SEI-90-TR-021 (1990)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceedings of ICSE 2011, pp. 461–470. ACM (2011)
Rubin, J., Chechik, M.: Combining related products into product lines. In: Proceedings of FASE 2012, pp. 285–300. ACM (2012)
Acher, M., Baudry, B., Heymans, P., Cleve, A., Hainaut, J.L.: Support for reverse engineering and maintaining feature models. In: Proceedings of VaMoS 2013. ACM (2013)
Batory, D.: Feature models, grammars, and propositional formulas. In: Proceedings of SPLC 2005, pp. 7–20 (2005)
Koschke, R., Frenzel, P., Breu, A.P.J., Angstmann, K.: Extending the reflexion method for consolidating software variants into product lines. Softw. Qual. J. 17(4), 331–366 (2009)
Klatt, B., Küster, M.: Respecting component architecture to migrate product copies to a software product line. In: Proceedings of WCOP 2012, pp. 7–12. ACM (2012)
Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants. In: Proceedings of WCRE, pp. 145–154 (2012)
Assunção, W.K.G., Vergilio, S.R.: Feature location for software product line migration: a mapping study. In: Proceedings of SPLC 2014, pp. 52–59. ACM (2014)
Davril, J.-M., Delfosse, E., Hariri, N., Acher, M., Cleland-Huang, J., Heymans, P.: Feature model extraction from large collections of informal product descriptions. In: Proceedings of ESEC/FSE, pp. 290–300. ACM, Saint Petersburg, Russia (2013)
Zhang, B., Becker, M.: Recovar: a solution framework towards reverse engineering variability. In: PLEASE, pp. 45–48 (2013)
The FeatureIDE framework. https://featureide.github.io/
Ziadi, T., Frias, L., da Silva, M.A.A., Ziane, M.: Feature identification from the source code of product variant. In: Proceedings of CSMR, pp. 417–422 (2012)
Ziadi, T., Henard, C., Papadakis, M., Ziane, M., Traon, Y.L.: Towards a language-independent approach for reverse-engineering of software product lines. In: Proceedings of SAC 2014, pp. 1064–1071. ACM (2014)
Ryssel, U., Ploennigs, J., Kabitzsch, K.: Automatic variation point identification in function-block-based models. In: Proceedings of GPCE 2010, pp. 23–32. ACM (2010)
Martinez, J. Ziadiy, T., Bissyandé, T.F., Klein, J., Traon, Y.L.: Automating the extraction of model-based software product lines from model variants. In: ASE (2015)
Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal contexts. In: Proceedings of SPLC 2011, vol. 2. ACM, Munich, Germany (2011)
Fenske, W., Meinicke, J., Schulze, S.: Variant-preserving refactorings for migrating cloned products to a product line. In: SANER (2017)
Kim, J., Batory, D., Dig, D.: Refactoring java software product lines. In: Proceedings of SPLC, vol. A, pp. 59–68. ACM (2017)
Boubakir, M., Chaoui, A.: A pairwise approach for model merging. In: MISC 2016, pp. 327–340. Springer, Constantine, Algeria (2016)
Martinez, J., Ziadi, T., Klein, J., Traon, Y.: Identifying and visualizing commonality and variability in model variants. In: Proceedings of ECMFA, vol. 8569, pp. 117–131. ACM (2014)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2019 Springer Nature Switzerland AG
About this paper
Cite this paper
Boubakir, M., Chaoui, A. (2019). An Incremental Approach for the Extraction of Software Product Lines from Model Variants. In: Demigha, O., Djamaa, B., Amamra, A. (eds) Advances in Computing Systems and Applications. CSA 2018. Lecture Notes in Networks and Systems, vol 50. Springer, Cham. https://doi.org/10.1007/978-3-319-98352-3_14
Download citation
DOI: https://doi.org/10.1007/978-3-319-98352-3_14
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-98351-6
Online ISBN: 978-3-319-98352-3
eBook Packages: Intelligent Technologies and RoboticsIntelligent Technologies and Robotics (R0)