Advertisement

Assisting Configurations-Based Feature Model Composition

Union, Intersection and Approximate Intersection
  • Jessie Carbonnel
  • Marianne Huchard
  • André Miralles
  • Clémentine Nebut
Conference paper
Part of the Communications in Computer and Information Science book series (CCIS, volume 866)

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.

Keywords

Software product line Feature Model Feature Model Composition Feature model merging Formal Concept Analysis Union models Intersection models 

References

  1. 1.
    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-1CrossRefzbMATHGoogle Scholar
  2. 2.
    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)CrossRefGoogle Scholar
  3. 3.
    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)Google Scholar
  4. 4.
    Ganter, B., Wille, R.: Formal Concept Analysis - Mathematical Foundations. Springer, Heidelberg (1999).  https://doi.org/10.1007/978-3-642-59830-2CrossRefzbMATHGoogle Scholar
  5. 5.
    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)Google Scholar
  6. 6.
    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)Google Scholar
  7. 7.
    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)Google Scholar
  8. 8.
    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_6CrossRefGoogle Scholar
  9. 9.
    Batory, D.S.: Feature models, grammars, and propositional formulas. In: 9th International Conference on Software Product Lines (SPLC), pp. 7–20 (2005)CrossRefGoogle Scholar
  10. 10.
    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)Google Scholar
  11. 11.
    Birkhoff, G.: Lattice theory. Volume 25 of Colloquium publications. American Mathematical Society (1940)Google Scholar
  12. 12.
    Barbut, M., Monjardet, B.: Ordre et Classification, vol. 2. Hachette (1970)Google Scholar
  13. 13.
    Davey, B.A., Priestley, H.A.: Introduction to Lattices and Order. Cambridge University Press, Cambridge (1990)zbMATHGoogle Scholar
  14. 14.
    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)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    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)Google Scholar
  17. 17.
    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_13CrossRefzbMATHGoogle Scholar
  18. 18.
    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)Google Scholar
  19. 19.
    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)CrossRefGoogle Scholar
  20. 20.
    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)Google Scholar
  21. 21.
    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)CrossRefGoogle Scholar
  22. 22.
    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)Google Scholar
  23. 23.
    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)Google Scholar
  24. 24.
    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)Google Scholar
  25. 25.
    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)Google Scholar
  26. 26.
    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)Google Scholar
  27. 27.
    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)Google Scholar
  28. 28.
    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)Google Scholar
  29. 29.
    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)Google Scholar
  30. 30.
    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)Google Scholar
  31. 31.
    Eisenbarth, T., Koschke, R., Simon, D.: Locating features in source code. IEEE Trans. Softw. Eng. 29, 210–224 (2003)CrossRefGoogle Scholar
  32. 32.
    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)Google Scholar
  33. 33.
    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_22CrossRefGoogle Scholar
  34. 34.
    Schobbens, P., Heymans, P., Trigaux, J., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51, 456–479 (2007)CrossRefGoogle Scholar
  35. 35.
    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)CrossRefGoogle Scholar
  36. 36.
    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)Google Scholar
  37. 37.
    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)Google Scholar
  38. 38.
    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)Google Scholar

Copyright information

© Springer International Publishing AG, part of Springer Nature 2018

Authors and Affiliations

  • Jessie Carbonnel
    • 1
  • Marianne Huchard
    • 1
  • André Miralles
    • 2
  • Clémentine Nebut
    • 1
  1. 1.LIRMM, CNRS and Université de MontpellierMontpellier Cedex 5France
  2. 2.TETIS, IRSTEAMontpellier Cedex 5France

Personalised recommendations