Abstract
Feature Models (FMs) have been introduced in the domain of Software Product Lines (SPL) to model and represent product variability. They have become a de facto standard, based on a logical tree structure accompanied by textual cross-tree constraints. Other representations are: (product) configuration sets from concrete software product lines, logical representations, constraint programming, or conceptual structures, coming from the Formal Concept Analysis (FCA) framework. Modeling variability through FMs may consist in extracting them from configuration sets (namely, doing FM synthesis), or designing them in several steps potentially involving several teams with different concerns. FM composition is useful in this design activity as it may assist FM iterative building. In this paper, we describe an approach, based on a configuration set and focusing on two main composition semantics (union, intersection), to assist designers in FM composition. We also introduce an approximate intersection notion. FCA is used to represent, for a product family, all the FMs that have the same configuration set through a canonical form. The approach is able to take into account cross-tree constraints and FMs with different feature sets and tree structure, thus it lets the expert free of choosing a different ontological interpretation. We describe the implementation of our approach and we present a set of concrete examples.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles, and Techniques. Springer Science & Business Media, Heidelberg (2005). https://doi.org/10.1007/3-540-28901-1
Acher, M., Collet, P., Lahire, P., France, R.B.: Comparing approaches to implement feature model composition. In: 6th European Conference on Modelling Foundations and Applications (ECMFA), pp. 3–19 (2010)
Carbonnel, J., Huchard, M., Miralles, A., Nebut, C.: Feature model composition assisted by formal concept analysis. In: 12th International Conference on Evaluation of Novel Approaches to Software Engineering (ENASE), pp. 27–37 (2017)
Ganter, B., Wille, R.: Formal Concept Analysis - Mathematical Foundations. Springer, Heidelberg (1999). https://doi.org/10.1007/978-3-642-59830-2
Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.E., Peterson, A.S.: Feature-Oriented Domain Analysis (FODA): Feasibility Study. Technical report CMU/SEI-90-TR-21 - ESD-90-TR-222 (1990)
Achtaich, A., Roudies, O., Souissi, N., Salinesi, C.: Selecting SPL modeling languages: a practical guide. In: 3rd IEEE World Conference on Complex Systems (WCCS), Marrakech, Morocco (2015)
Czarnecki, K., Kim, C.H.P., Kalleberg, K.T.: Feature models are views on ontologies. In: 10th International Conference on Software Product Lines (SPLC), pp. 41–51 (2006)
Acher, M., Collet, P., Lahire, P., France, R.: Composing feature models. In: van den Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 62–81. Springer, Heidelberg (2010). https://doi.org/10.1007/978-3-642-12107-4_6
Batory, D.S.: Feature models, grammars, and propositional formulas. In: 9th International Conference on Software Product Lines (SPLC), pp. 7–20 (2005)
Czarnecki, K., Wasowski, A.: Feature diagrams and logics: there and back again. In: 11th International Conference on Software Product Lines (SPLC), pp. 23–34 (2007)
Birkhoff, G.: Lattice theory. Volume 25 of Colloquium publications. American Mathematical Society (1940)
Barbut, M., Monjardet, B.: Ordre et Classification, vol. 2. Hachette (1970)
Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)
Carbonnel, J., Huchard, M., Nebut, C.: Analyzing variability in product families through canonical feature diagrams. In: 29th International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 185–190 (2017)
Acher, M., Collet, P., Lahire, P., France, R.B.: FAMILIAR: a domain-specific language for large scale management of feature models. Sci. Comput. Program. (SCP) 78, 657–681 (2013)
Mendonca, M., Branco, M., Cowan, D.: S.P.L.O.T.: Software Product Lines Online Tools. In: 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications (OOPSLA), pp. 761–762. ACM (2009)
Tilley, T., Cole, R., Becker, P., Eklund, P.: A survey of formal concept analysis support for software engineering activities. In: Ganter, B., Stumme, G., Wille, R. (eds.) Formal Concept Analysis. LNCS (LNAI), vol. 3626, pp. 250–271. Springer, Heidelberg (2005). https://doi.org/10.1007/11528784_13
Cellier, P., Ducassé, M., Ferré, S., Ridoux, O.: DeLLIS: A data mining process for fault localization. In: 23rd International Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 432–437 (2009)
Arévalo, G., Ducasse, S., Gordillo, S., Nierstrasz, O.: Generating a catalog of unanticipated schemas in class hierarchies using formal concept analysis. Inf. Softw. Technol. 52, 1167–1187 (2010)
Moha, N., Hacene, A.R., Valtchev, P., Guéhéneuc, Y.: Refactorings of design defects using relational concept analysis. In: 6th International Conference on Formal Concept Analysis (ICFCA), pp. 289–304 (2008)
Greene, G.J., Esterhuizen, M., Fischer, B.: Visualizing and exploring software version control repositories using interactive tag clouds over formal concept lattices. Inf. Software Technol. 87, 223–241 (2017)
Loesch, F., Ploedereder, E.: Restructuring variability in software product lines using concept analysis of product configurations. In: 11th European Conference on Software Maintenance and Reengineering (CSMR), pp. 159–170 (2007)
Yang, Y., Peng, X., Zhao, W.: Domain feature model recovery from multiple applications using data access semantics and formal concept analysis. In: 16th Working Conference on Reverse Engineering (WCRE), pp. 215–224 (2009)
Ryssel, U., Ploennigs, J., Kabitzsch, K.: Extraction of feature models from formal contexts. In: 15th International Conference on Software Product Lines (SPLC) Workshop Proceedings, vol. 2, p. 4 (2011)
Al-Msie’deen, R., Huchard, M., Seriai, A., Urtado, C., Vauttier, S.: Reverse engineering feature models from software configurations using formal concept analysis. In: 11th International Conference on Concept Lattices and Their Applications (CLA), pp. 95–106 (2014)
Shatnawi, A., Seriai, A.D., Sahraoui, H.: Recovering architectural variability of a family of product variants. In: 14th International Conference on Software Reuse (ICSR), pp. 17–33 (2015)
Niu, N., Easterbrook, S.M.: Concept analysis for product line requirements. In: 8th International Conference on Aspect-Oriented Software Development (AOSD), pp. 137–148 (2009)
Xue, Y., Xing, Z., Jarzabek, S.: Feature location in a collection of product variants. In: 19th Working Conference on Reverse Engineering (WCRE), pp. 145–154 (2012)
Al-Msie’deen, R., Seriai, A., Huchard, M., Urtado, C., Vauttier, S., Salman, H.E.: Mining features from the object-oriented source code of a collection of software variants using formal concept analysis and latent semantic indexing. In: 25th Conference on Software Engineering and Knowledge Engineering (SEKE), pp. 244–249 (2013)
Salman, H.E., Seriai, A., Dony, C.: Feature-to-code traceability in a collection of software variants: combining formal concept analysis and information retrieval. In: 14th Conference on Information Reuse and Integration (IRI), pp. 209–216 (2013)
Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Softw. Eng. 29, 210–224 (2003)
Carbonnel, J., Huchard, M., Gutierrez, A.: Variability representation in product lines using concept lattices: Feasibility study with descriptions from wikipedia’s product comparison matrices. In: 1st International Workshop on Formal Concept Analysis and Applications, FCA&A 2015, co-located with 13th International Conference on Formal Concept Analysis (ICFCA), pp. 93–108 (2015)
Acher, M., Combemale, B., Collet, P., Barais, O., Lahire, P., France, R.B.: Composing your compositions of variability models. In: Moreira, A., Schätz, B., Gray, J., Vallecillo, A., Clarke, P. (eds.) MODELS 2013. LNCS, vol. 8107, pp. 352–369. Springer, Heidelberg (2013). https://doi.org/10.1007/978-3-642-41533-3_22
Schobbens, P., Heymans, P., Trigaux, J., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51, 456–479 (2007)
Heymans, P., Schobbens, P., Trigaux, J., Bontemps, Y., Matulevicius, R., Classen, A.: Evaluating formal properties of feature diagram languages. IET Software 2, 281–302 (2008)
Segura, S., Benavides, D., Cortés, A.R., Trinidad, P.: Automated merging of feature models using graph transformations. In: Generative and Transformational Techniques in Software Engineering II, International Summer School (GTTSE 2007), Revised Papers, pp. 489–505 (2007)
Alves, V., Gheyi, R., Massoni, T., Kulesza, U., Borba, P., de Lucena, C.J.P.: Refactoring product lines. In: 5th International Conference on Generative Programming and Component Engineering (GPCE), pp. 201–210 (2006)
Carbonnel, J., Bertet, K., Huchard, M., Nebut, C.: FCA for software product lines representation: mixing product and characteristic relationships in a unique canonical representation. In: 13th International Conference on Concept Lattices and Their Applications (CLA), pp. 109–122 (2016)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2018 Springer International Publishing AG, part of Springer Nature
About this paper
Cite this paper
Carbonnel, J., Huchard, M., Miralles, A., Nebut, C. (2018). Assisting Configurations-Based Feature Model Composition. In: Damiani, E., Spanoudakis, G., Maciaszek, L. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2017. Communications in Computer and Information Science, vol 866. Springer, Cham. https://doi.org/10.1007/978-3-319-94135-6_6
Download citation
DOI: https://doi.org/10.1007/978-3-319-94135-6_6
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-319-94134-9
Online ISBN: 978-3-319-94135-6
eBook Packages: Computer ScienceComputer Science (R0)