Abstract

Managing multiple and complex feature models is a tedious and error-prone activity in software product line engineering. Despite many advances in formal methods and analysis techniques, the supporting tools and APIs are not easily usable together, nor unified. In this paper, we report on the development and evolution of the Familiar Domain-Specific Language (DSL). Its toolset is dedicated to the large scale management of feature models through a good support for separating concerns, composing feature models and scripting manipulations. We overview various applications of Familiar and discuss both advantages and identified drawbacks. We then devise salient challenges to improve such DSL support in the near future.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)Google Scholar
  2. 2.
    Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional (2001)Google Scholar
  3. 3.
    Apel, S., Kästner, C.: An overview of feature-oriented software development. Journal of Object Technology (JOT) 8(5), 49–84 (2009)CrossRefGoogle Scholar
  4. 4.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)CrossRefMATHGoogle Scholar
  5. 5.
    Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC 2007, pp. 23–34. IEEE (2007)Google Scholar
  6. 6.
    Thüm, T., Batory, D., Kästner, C.: Reasoning about edits to feature models. In: ICSE 2009, pp. 254–264. ACM (2009)Google Scholar
  7. 7.
    Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated Analysis of Feature Models 20 years Later: a Literature Review. Information Systems 35(6) (2010)Google Scholar
  8. 8.
    Kang, K., Kim, S., Lee, J., Kim, K., Shin, E., Huh, M.: Form: A feature-oriented reuse method with domain-specific reference architectures. Annals of Software Engineering 5(1), 143–168 (1998)CrossRefGoogle Scholar
  9. 9.
    Metzger, A., Pohl, K., Heymans, P., Schobbens, P.Y., Saval, G.: Disambiguating the documentation of variability in software product lines: A separation of concerns, formalization and automated analysis. In: RE 2007, pp. 243–253 (2007)Google Scholar
  10. 10.
    Dhungana, D., Grünbacher, P., Rabiser, R., Neumayer, T.: Structuring the modeling space and supporting evolution in software product line engineering. Journal of Systems and Software 83(7), 1108–1122 (2010)CrossRefGoogle Scholar
  11. 11.
    Abo Zaid, L., Kleinermann, F., De Troyer, O.: Feature assembly: A new feature modeling technique. In: Parsons, J., Saeki, M., Shoval, P., Woo, C., Wand, Y. (eds.) ER 2010. LNCS, vol. 6412, pp. 233–246. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  12. 12.
    Dhungana, D., Seichter, D., Botterweck, G., Rabiser, R., Gruenbacher, P., Benavides, D., Galindo, J.A.: Configuration of multi product lines by bridging heterogeneous variability modeling approaches. In: SPLC 2011. IEEE (2011)Google Scholar
  13. 13.
    Hubaux, A., Tun, T.T., Heymans, P.: Separation of concerns in feature diagram languages: A systematic survey. ACM Computing Surveys (2012)Google Scholar
  14. 14.
    Acher, M., Collet, P., Lahire, P., France, R.: Separation of Concerns in Feature Modeling: Support and Applications. In: AOSD 2012, ACM (2012)Google Scholar
  15. 15.
    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)CrossRefGoogle Scholar
  16. 16.
    Acher, M., Collet, P., Lahire, P., France, R.: Comparing approaches to implement feature model composition. In: Kühne, T., Selic, B., Gervais, M.-P., Terrier, F. (eds.) ECMFA 2010. LNCS, vol. 6138, pp. 3–19. Springer, Heidelberg (2010)CrossRefGoogle Scholar
  17. 17.
    Acher, M., Collet, P., Lahire, P., France, R.: Slicing Feature Models. In: Proc. of ASE 2011 (short paper). ACM (2011)Google Scholar
  18. 18.
    Acher, M., Heymans, P., Collet, P., Quinton, C., Lahire, P., Merle, P.: Feature Model Differences. In: Ralyté, J., Franch, X., Brinkkemper, S., Wrycza, S. (eds.) CAiSE 2012. LNCS, vol. 7328, pp. 629–645. Springer, Heidelberg (2012)CrossRefGoogle Scholar
  19. 19.
    Trinidad, P., Benavides, D., Ruiz-Cortes, A., Segura, S., Jimenez, A.: FAMA framework. In: Int’l Software Product Line Conference (SPLC 2008), Limerick, Ireland, pp. 359–359 (2008)Google Scholar
  20. 20.
    Thüm, T., Kästner, C., Benduhn, F., Meinicke, J., Saake, G., Leich, T.: FeatureIDE: An extensible framework for feature-oriented software development. Science of Computer Programming (SCP) (2012)Google Scholar
  21. 21.
    Mendonca, M., Branco, M., Cowan, D.: S.p.l.o.t.: software product lines online tools. In: OOPSLA 2009 (companion). ACM Press, New York (2009)Google Scholar
  22. 22.
    Acher, M., Collet, P., Lahire, P., France, R.: Familiar: A domain-specific language for large scale management of feature models. Science of Computer Programming (SCP) Special issue on programming languages 78(6), 657–681 (2013)CrossRefGoogle Scholar
  23. 23.
    Acher, M., Collet, P., Lahire, P., Moisan, S., Rigault, J.P.: Modeling variability from requirements to runtime. In: ICECCS 2011, pp. 77–86. IEEE (2011)Google Scholar
  24. 24.
    Acher, M., Collet, P., Lahire, P., Gaignard, A., France, R., Montagnat, J.: Composing multiple variability artifacts to assemble coherent workflows. Software Quality Journal (Special issue on Quality Engineering for SPLs) (2011)Google Scholar
  25. 25.
    Acher, M., Cleve, A., Collet, P., Merle, P., Duchien, L., Lahire, P.: Extraction and Evolution of Architectural Variability Models in Plugin-based Systems. Software & Systems Modeling (SoSyM), 27 (July, 2013)Google Scholar
  26. 26.
    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)CrossRefGoogle Scholar
  27. 27.
    Acher, M., Heymans, P., Cleve, A., Hainaut, J.L., Baudry, B.: Support for reverse engineering and maintaining feature models. In: VaMoS 2013, ACM (2013)Google Scholar
  28. 28.
    Fowler, M.: Domain Specific Languages. Addison-Wesley Professional (2010)Google Scholar
  29. 29.
    Hermans, F., Pinzger, M., van Deursen, A.: Domain-Specific Languages in Practice: A User Study on the Success Factors. In: Schürr, A., Selic, B. (eds.) MODELS 2009. LNCS, vol. 5795, pp. 423–437. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  30. 30.
    Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)CrossRefGoogle Scholar
  31. 31.
    Kosar, T., Mernik, M., Carver, J.: Program comprehension of domain-specific and general-purpose languages: comparison using a family of experiments. Empirical Software Engineering 17(3), 276–304 (2012)CrossRefGoogle Scholar
  32. 32.
    Erdweg, S., et al.: The state of the art in language workbenches. In: Erwig, M., Paige, R.F., Van Wyk, E. (eds.) SLE 2013. LNCS, vol. 8225, pp. 197–217. Springer, Heidelberg (2013), http://dx.doi.org/10.1007/978-3-319-02654-1_11 CrossRefGoogle Scholar
  33. 33.
    Chafi, H., DeVito, Z., Moors, A., Rompf, T., Sujeeth, A.K., Hanrahan, P., Odersky, M., Olukotun, K.: Language virtualization for heterogeneous parallel computing. In: Proceedings of the ACM International Conference on Object Oriented Programming systems Languages and Applications, OOPSLA 2010. ACM (October 2010)Google Scholar
  34. 34.
    Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and meta-models in clafer: Mixed, specialized, and coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)CrossRefGoogle Scholar
  35. 35.
    Classen, A., Boucher, Q., Heymans, P.: A text-based approach to feature modelling: Syntax and semantics of TVL. Science of Computer Programming, Special Issue on Software Evolution, Adaptability and Variability 76(12), 1130–1143 (2011)Google Scholar
  36. 36.
    Andersen, N., Czarnecki, K., She, S., Wasowski, A.: Efficient synthesis of feature models. In: Proceedings of SPLC 2012, pp. 97–106. ACM Press (2012)Google Scholar
  37. 37.
    Urli, S., Mosser, S., Blay-Fornarino, M., Collet, P.: How to Exploit Domain Knowledge in Multiple Software Product Lines? In: Fourth International Workshop on Product LinE Approaches in Software Engineering at ICSE 2013 (PLEASE 2013), p. 4. ACM, San Francisco (2013)Google Scholar
  38. 38.
    Acher, M., Cleve, A., Perrouin, G., Heymans, P., Vanbeneden, C., Collet, P., Lahire, P.: On extracting feature models from product descriptions. In: VaMoS 2012, pp. 45–54. ACM Press, New York (2012)Google Scholar
  39. 39.
    Abbasi, E.K., Acher, M., Heymans, P., Cleve, A.: Reverse Engineering Web Configurators. In: 17th European Conference on Software Maintenance and Reengineering (CSMR). IEEE, Antwerp (2014)Google Scholar
  40. 40.
    Logre, I., Mosser, S., Collet, P., Riveill, M.: Sensor Data Visualisation: A Composition-Based Approach to Support Domain Variability. In: Cabot, J., Rubin, J. (eds.) ECMFA 2014. LNCS, vol. 8569, pp. 101–116. Springer, Heidelberg (2014)CrossRefGoogle Scholar
  41. 41.
    Cordy, M., Classen, A., Heymans, P., Schobbens, P.Y., Legay, A.: Provelines: A product line of verifiers for software product lines. In: Proceedings of the 17th International Software Product Line Conference Co-located Workshops, SPLC 2013 Workshops, pp. 141–146. ACM, New York (2013)CrossRefGoogle Scholar
  42. 42.
    Pohl, R., Lauenroth, K., Pohl, K.: A performance comparison of contemporary algorithmic approaches for automated analysis operations on feature models. In: Proceedings of the 2011 26th IEEE/ACM International Conference on Automated Software Engineering. ASE 2011, pp. 313–322. IEEE Computer Society, Washington, DC (2011)Google Scholar
  43. 43.
    Dintzner, N., Van Deursen, A., Pinzger, M.: Extracting feature model changes from the linux kernel using fmdiff. In: Proceedings of the Eighth International Workshop on Variability Modelling of Software-Intensive Systems. VaMoS 2014, pp. 22:1–22:22. ACM, New York (2014)Google Scholar
  44. 44.
    Křikava, F., Collet, P., France, R.: Manipulating Models Using Internal Domain-Specific Languages. In: Symposium on Applied Computing (SAC), Programming Languages Track(SAC), Short paper. ACM, Gyeongju (2014)Google Scholar
  45. 45.
    Haugen, O., Wąsowski, A., Czarnecki, K.: Cvl: Common variability language. In: Proceedings of the 17th International Software Product Line Conference, SPLC 2013, pp. 277–277. ACM, New York (2013)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2014

Authors and Affiliations

  • Philippe Collet
    • 1
  1. 1.Univ. Nice Sophia Antipolis, CNRS, I3S, UMR 7271Sophia AntipolisFrance

Personalised recommendations