Advertisement

Separating Concerns in Feature Models: Retrospective and Support for Multi-Views

  • Arnaud Hubaux
  • Mathieu Acher
  • Thein Than Tun
  • Patrick Heymans
  • Philippe Collet
  • Philippe Lahire
Chapter

Abstract

Feature models (FMs) are a popular formalism to describe the commonality and variability of a set of assets in a software product line (SPL). SPLs usually involve large and complex FMs that describe thousands of features whose legal combinations are governed by many and often complex rules. The size and complexity of these models is partly explained by the large number of concerns considered by SPL practitioners when managing and configuring FMs. In this chapter, we first survey concerns and their separation in FMs, highlighting the need for more modular and scalable techniques. We then revisit the concept of view as a simplified representation of an FM. We finally describe a set of techniques to specify, visualise and verify the coverage of a set of views. These techniques are implemented in complementary tools providing practical support for feature-based configuration and large-scale management of FMs.

Keywords

Configuration Feature model Model management Separation of concerns Slicing Software product lines Variability Views 

References

  1. 1.
    Acher, M.: Managing multiple feature models: foundations, language and applications. PhD thesis, University of Nice Sophia Antipolis, Nice (2011)Google Scholar
  2. 2.
    Acher, M., Collet, P., Lahire, P., France, R.: Comparing approaches to implement feature model composition. In: Proceedings of the 6th European Conference on Modelling Foundations and Applications (ECMFA’10), vol. 6138 of LNCS, pp. 3–19, 2010Google Scholar
  3. 3.
    Acher, M., Collet, P., Lahire, P., France, R.: A domain-specific language for managing feature models. In: Proceedings of the Symposium on Applied Computing (SAC’11), pp. 1333–1340. ACM, New York (2011)Google Scholar
  4. 4.
    Acher, M., Collet, P., Lahire, P., France, R.: Separation of concerns in feature modeling: support and applications. In: Proceedings of the 11th International Conference on Aspect-Oriented Software Development (AOSD’12), pp. 1–12. ACM, New York (2012)Google Scholar
  5. 5.
    Acher, M., Collet, P., Lahire, P., Gaignard, A., Robert, F., Montagnat, J.: Composing multiple variability artifacts to assemble coherent workflows. Software Q. J. (Special issue on Quality for SPLs) 20(3–4), 689–734 (2012). http://dx.doi.org/10.1007/s11219-011-9170-7
  6. 6.
    Acher, M., Collet, P., Lahire, P., Moisan, S., Rigault, J-P.: Modeling variability from requirements to runtime. In: 16th IEEE International Conference on Engineering of Complex Computer Systems (ICECCS 2011), Las Vegas, 27–29 April 2011Google Scholar
  7. 7.
    Acher, M., Heymans, P., Collet, P., Quinton, C., Lahire, P., Merle, P.: Feature model differences. In: Proceedings of the 24th International Conference on Advanced Information Systems Engineering (CAiSE’12), LNCS. Springer, New York (2012)Google Scholar
  8. 8.
    Antkiewicz, M., Czarnecki, K.: FeaturePlugin: feature modeling plug-in for Eclipse. In: Proceedings of the 2004 OOPSLA Workshop on Eclipse Technology EXchange, pp. 67–72. ACM, Vancouver, BC (2004)Google Scholar
  9. 9.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. J. Object Tech. 8(5), 49–84 (2009)CrossRefGoogle Scholar
  10. 10.
    Batory, D., Liu, J., Sarvela, J.N.: Refinements and multi-dimensional separation of concerns. In: Proceedings of the 9th European Software Engineering Conference (ESEC’03), pp. 48–57. ACM, New York (2003)Google Scholar
  11. 11.
    Batory, D., Liu, J., Sarvela, J.N.: Refinements and multi-dimensional separation of concerns. SIGSOFT Software Eng. Note 28, 48–57 (2003)CrossRefGoogle Scholar
  12. 12.
    Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated analysis of feature models 20 years later: A literature reviews. Inform. Syst., Elsevier Science Ltd., 35(6), Oxford, UK (2010). http://dx.doi.org/10.1016/j.is.2010.01.001
  13. 13.
    Berger, T., She, S., Lotufo, R., Wasowski, A., Czarnecki, K.: Variability modeling in the real: a perspective from the operating systems domain. In: Proceedings of the 25th International Conference on Automated Software Engineering (ASE’10), pp. 73–82. ACM, New York (2010)Google Scholar
  14. 14.
    Bidian, C.: From stakeholder goals to product features: towards a role-based variability framework with decision boundary. In: Proceedings of the 4th International Conference on Privacy, Security and Trust (PST ’06), pp. 1–5. ACM, New York (2006)Google Scholar
  15. 15.
    Botterweck, G., Thiel, S., Nestor, D., bin Abid, S., Cawley, C.: Visual tool support for configuring and understanding software product lines. In: Proceedings of the 12th International Software Product Line Conference (SPLC ’08), pp. 77–86. IEEE Computer Society, Washington, DC (2008)Google Scholar
  16. 16.
    Boucher, Q., Perrouin, G., Heymans, P.: Deriving configuration interfaces from feature models: a vision paper. In: Sixth International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS’12), pp. 37–44, 2012Google Scholar
  17. 17.
    Cawley, C., Healy, P., Botterweck, G., Thiel, S.: Research tool to support feature configuration in software product lines. In: Proceedings of the 4th International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’10), pp. 179–182. University of Duisburg-Essen, January 2010Google Scholar
  18. 18.
    Clarke, D., Proenca, J.: Towards a theory of views for feature models. In: Proceedings of the 1st International Workshop on Formal Methods in Software Product Line Engineering (FMSPLE’10), 2010Google Scholar
  19. 19.
    Classen, A., Heymans, P., Schobbens, P.-Y.: What’s in a feature: a requirements engineering perspective. In: FASE’08, held as Part of ETAPS’08, pp. 16–30, 2008Google Scholar
  20. 20.
    Classen, A., Hubaux, A., Heymans, P.: A formal semantics for multi-level staged configuration. In: Proceedings of the 3rd International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’09), pp. 51–60, 2009Google Scholar
  21. 21.
    Czarnecki, K., She, S., Wasowski, A.: Sample spaces and feature models: There and back again. In: Proceedings of the 12th International Software Product Line Conference (SPLC’08), pp. 22–31. IEEE Computer Society, Washington, DC (2008)Google Scholar
  22. 22.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. Software Process Improv. Pract. 10(1), 7–29 (2005)CrossRefGoogle Scholar
  23. 23.
    Czarnecki, K., Helsen, S., Eisenecker, U.W.: Staged configuration through specialization and multi-level configuration of feature models. Software Process Improv. Pract. 10(2), 143–169 (2005)CrossRefGoogle Scholar
  24. 24.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: Proceedings of the 13th International Software Product Lines Conference (SPLC’07), pp. 23–34. IEEE Computer Society, Washington, DC (2007)Google Scholar
  25. 25.
    Deelstra, S., Sinnema, M., Bosch, J.: Product derivation in software product families: a case study. J. Syst. Software 74(2), 173–194 (2005)CrossRefGoogle Scholar
  26. 26.
    Dhungana, D., Grünbacher, P., Rabiser, R., Neumayer, T.: Structuring the modeling space and supporting evolution in software product line engineering. J. Syst. Software 83(7), 1108–1122 (2010)CrossRefGoogle Scholar
  27. 27.
  28. 28.
    Finkelstein, A., Kramer, J., Nuseibeh, B., Finkelstein, L., Goedicke, M.: Viewpoints: A framework for integrating multiple perspectives in system development. Int. J. Software Eng. Knowl. Eng. 2, 31–58 (1992)CrossRefGoogle Scholar
  29. 29.
    Glinz, M., Wieringa, R.J.: Guest editors’ introduction: stakeholders in requirements engineering. IEEE Software 24, 18–20 (2007)CrossRefGoogle Scholar
  30. 30.
    Gotel, O., Finkelstein, A.: Contribution structures. In: Proceedings of the 2nd International Conference on Requirements Engineering (RE’95), pp. 100–107. IEEE Computer Society, Washington, DC (1995)Google Scholar
  31. 31.
    Grünbacher, P., Rabiser, R., Dhungana, D., Lehofer, M.: Structuring the product line modeling space: strategies and examples. In: Proceedings of the 3rd International Workshop on Variability Modelling of Software-intensive Systems (VaMoS’09), pp. 77–82, 2009Google Scholar
  32. 32.
    Hartmann, H., Trew, T.: Using feature diagrams with context variability to model multiple product lines for software supply chains. In: Proceedings of the 12th International Software Product Lines Conference (SPLC’08), pp. 12–21. IEEE Computer Society, Washington, DC (2008)Google Scholar
  33. 33.
    Hartmann, H., Trew, T., Matsinger, A.: Supplier independent feature modelling. In: Proceedings of the 13th International Software Product Lines Conference (SPLC’09), pp. 191–200. IEEE Computer Society, Washington, DC (2009)Google Scholar
  34. 34.
    Hubaux, A.: Feature-based configuration: collaborative, dependable, and controlled. PhD thesis, University of Namur (2012)Google Scholar
  35. 35.
    Hubaux, A., Classen, A., Heymans, P.: Formal modelling of feature configuration workflow. In: Proceedings of the 13th International Software Product Lines Conference (SPLC’09), pp. 221–230. Carnegie Mellon University, San Francisco, CA, (2009)Google Scholar
  36. 36.
    Hubaux, A., Heymans, P., Schobbens, P.-Y., Deridder, D., Abbasi, E.: Supporting multiple perspectives in feature-based configuration. Software & Syst. Model. (Springer) 1–23 (2011). http://link.springer.com/article/10.1007%2Fs10270-011-0220-1
  37. 37.
    Hubaux, A., Heymans, P., Schobbens, P-Y., Deridder, D.: Towards multi-view feature-based configuration. In: 16th International Working Conference on Requirements Engineering: Foundation for Software Quality (REFSQ’10), vol. 6182 of LNCS, pp. 106–112, 2010Google Scholar
  38. 38.
    Janota, M.: SAT solving in interactive configuration. PhD thesis, University College Dublin (2010)Google Scholar
  39. 39.
    Janota, M., Kuzina, V., Wasowski, A.: Model construction with external constraints: An interactive journey from semantics to syntax. In: 11th International Conference on Model Driven Engineering Languages and Systems (MODELS’08), vol. 5301 of LNCS, pp. 431–445, 2008Google Scholar
  40. 40.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, 1990Google Scholar
  41. 41.
    Kang, K.C., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented reuse method with domain-specific reference architectures. Ann. Software Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  42. 42.
    Krueger, C.: BigLever Software, Inc. http://www.biglever.com/index.html, May 2010
  43. 43.
    Lang, J., Marquis, P.: On propositional definability. Artif. Intell. 172(8–9), 991–1017 (2008)MathSciNetzbMATHCrossRefGoogle Scholar
  44. 44.
    Mannion, M., Savolainen, J., Asikainen, T.: Viewpoint-oriented variability modeling. In: Proceedings of the 33rd International Computer Software and Applications Conference (COMPSAC’09), pp. 67–72. IEEE Computer Society, Washington, DC (2009)Google Scholar
  45. 45.
    Mendonça, M.: SPLOT. http://www.splot-research.org/, May 2010
  46. 46.
    Mendonça, M., Tonelli Bartolomei, T., Cowan, D.: Decision-making coordination in collaborative product configuration. In: Proceedings of the 23rd Symposium on Applied computing (SAC’08), pp. 108–113. ACM, Fortaleza, Ceara (2008)Google Scholar
  47. 47.
    Mendonça, M.: Efficient reasoning techniques for large scale feature models. PhD thesis, University of Waterloo (2009)Google Scholar
  48. 48.
    Mendonça, M., Cowan, D.D., Malyk, W., de Oliveira, T.C.: Collaborative product configuration: Formalization and efficient algorithms for dependency analysis. J. Software 3(2), 69–82 (2008)Google Scholar
  49. 49.
    Mendonnça, M., Branco, M., Cowan, D.: S.P.L.O.T.: software product lines online tools. In: Proceeding of the 24th ACM SIGPLAN Conference Companion on Object Oriented Programming Systems Languages and Applications (OOPSLA’09), pp. 761–762. ACM, New York (2009)Google Scholar
  50. 50.
    Metzger, A., Heymans, P., Pohl, K., Schobbens, P.-Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: Proceedings of 15th International Conference on Requirements Engineering (RE’07), pp. 243–253. IEEE Computer Society, Washington, DC (2007)Google Scholar
  51. 51.
    Nuseibeh, B., Kramer, J., Finkelstein, A.: Viewpoints: meaningful relationships are difficult! In: Proceedings of the 25th International Conference on Software Engineering (ICSE’03), pp. 676–681. IEEE Computer Society, Washington, DC (2003)Google Scholar
  52. 52.
    Pleuss, A., Botterweck, G., Dhungana, D.: Integrating automated product derivation and individual user interface design. In: Proceedings of the 4th International Workshop on Variability Modelling of Software-Intensive Systems (VaMoS’10), pp. 69–76, 2010Google Scholar
  53. 53.
    Pohl, K., Bockle, G., van der Linden, F.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)Google Scholar
  54. 54.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer, New York (2005)Google Scholar
  55. 55.
    pure-systems GmbH: Variant management with pure::variants. http://www.pure-systems.com/fileadmin/downloads/pv-whitepaper-en-04.pdf, 2006
  56. 56.
    Reiser, M.-O., Weber, M.: Managing highly complex product families with multi-level feature trees. In: Proceedings of the 14th International Conference on Requirements Engineering (RE’06), pp. 146–155. IEEE Computer Society, Washington, DC (2006)Google Scholar
  57. 57.
    Reiser, M.-O., Weber, M.: Multi-level feature trees: A pragmatic approach to managing highly complex product families. Requir. Eng. 12(2), 57–75 (2007)CrossRefGoogle Scholar
  58. 58.
    Schobbens, P.-Y., Heymans, P., Trigaux, J.-C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Network 51(2), 456–479 (2007)zbMATHCrossRefGoogle Scholar
  59. 59.
    Schobbens, P-Y., Heymans, P., Trigaux, J-C., Bontemps, Y.: Feature diagrams: a survey and a formal semantics. In: Proceedings of the 14th International Requirements Engineering Conference (RE’06), pp. 139–148. IEEE Computer Society, Washington, DC (2006)Google Scholar
  60. 60.
    She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: Reverse engineering feature models. In: Proceedings of the 33th International Conference on Software Engineering (ICSE’11), pp. 461–470. ACM, New York (2011)Google Scholar
  61. 61.
    Tarr, P., Ossher, H., Harrison, W., S; Sutton, M. Jr.: N degrees of separation: multi-dimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering (ICSE’99), pp. 107–119. IEEE Computer Society, Washington, DC (1999)Google Scholar
  62. 62.
    Thompson, J.M., Heimdahl, M.P.E.: Structuring product family requirements for n-dimensional and hierarchical product lines. Requirements Eng. J. 8(1), 42–54 (2003)CrossRefGoogle Scholar
  63. 63.
    Tun, T.T., Boucher, Q., Classen, A., Hubaux, A., Heymans, P.: Relating requirements and feature configurations: A systematic approach. In: Proceedings of the 13th International Software Product Lines Conference (SPLC’09), pp. 201–210. IEEE Computer Society, Washington, DC (2009)Google Scholar
  64. 64.
    Tun, T.T., Heymans, P.: Concerns and their separation in feature diagram languages - an informal survey. In: Workshop on Scalable Modelling Techniques for Software Product Lines (SCALE@SPLC’09), pp. 107–110, 2009Google Scholar
  65. 65.
    Weiser, M.: Program slicing. In: Proceedings of the International Conference on Software Engineering (ICSE ’81), pp. 439–449. IEEE Computer Society, Washington, DC (1981)Google Scholar
  66. 66.
    Xiong, Y., Hubaux, A., She, S., Czarnecki, K.: Generating range fixes for software configuration. In: Proceedings of the 34th International Conference on Software Engineering (ICSE’12), pp. 58–68. IEEE Computer Society, Washington, DC (2012)Google Scholar
  67. 67.
    Zhao, H., Zhang, W., Mei, H.: Multi-view based customization of feature models. J. Front. Comput. Sci. Tech. 2(3), 260–273 (2008)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2013

Authors and Affiliations

  • Arnaud Hubaux
    • 1
  • Mathieu Acher
    • 1
    • 2
  • Thein Than Tun
    • 3
  • Patrick Heymans
    • 1
  • Philippe Collet
    • 4
  • Philippe Lahire
    • 4
  1. 1.PReCISE Research CentreUniversity of NamurNamurBelgium
  2. 2.University of Rennes 1, Irisa and INRIARennesFrance
  3. 3.Department of ComputingThe Open UniversityBuckinghamshireUK
  4. 4.Université de Nice Sophia Antipolis - I3S (CNRS UMR 6070)NiceFrance

Personalised recommendations