Skip to main content

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 8802))

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)

    Google Scholar 

  2. Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional (2001)

    Google Scholar 

  3. Apel, S., Kästner, C.: An overview of feature-oriented software development. Journal of Object Technology (JOT) 8(5), 49–84 (2009)

    Article  Google Scholar 

  4. Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)

    Article  MATH  Google Scholar 

  5. Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC 2007, pp. 23–34. IEEE (2007)

    Google Scholar 

  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. 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. 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)

    Article  Google Scholar 

  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. 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)

    Article  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. Hubaux, A., Tun, T.T., Heymans, P.: Separation of concerns in feature diagram languages: A systematic survey. ACM Computing Surveys (2012)

    Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  17. Acher, M., Collet, P., Lahire, P., France, R.: Slicing Feature Models. In: Proc. of ASE 2011 (short paper). ACM (2011)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Article  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

  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. Fowler, M.: Domain Specific Languages. Addison-Wesley Professional (2010)

    Google Scholar 

  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)

    Chapter  Google Scholar 

  30. Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)

    Article  Google Scholar 

  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)

    Article  Google Scholar 

  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

    Chapter  Google Scholar 

  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. 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)

    Chapter  Google Scholar 

  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. 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. 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. 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. 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. 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)

    Chapter  Google Scholar 

  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)

    Chapter  Google Scholar 

  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. 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. 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. 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)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2014 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Collet, P. (2014). Domain Specific Languages for Managing Feature Models: Advances and Challenges. In: Margaria, T., Steffen, B. (eds) Leveraging Applications of Formal Methods, Verification and Validation. Technologies for Mastering Change. ISoLA 2014. Lecture Notes in Computer Science, vol 8802. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-662-45234-9_20

Download citation

  • DOI: https://doi.org/10.1007/978-3-662-45234-9_20

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-662-45233-2

  • Online ISBN: 978-3-662-45234-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics