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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Pohl, K., Böckle, G., van der Linden, F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer (2005)
Clements, P., Northrop, L.M.: Software Product Lines: Practices and Patterns. Addison-Wesley Professional (2001)
Apel, S., Kästner, C.: An overview of feature-oriented software development. Journal of Object Technology (JOT) 8(5), 49–84 (2009)
Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)
Czarnecki, K., Wasowski, A.: Feature diagrams and logics: There and back again. In: SPLC 2007, pp. 23–34. IEEE (2007)
Thüm, T., Batory, D., Kästner, C.: Reasoning about edits to feature models. In: ICSE 2009, pp. 254–264. ACM (2009)
Benavides, D., Segura, S., Ruiz-Cortes, A.: Automated Analysis of Feature Models 20 years Later: a Literature Review. Information Systems 35(6) (2010)
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)
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)
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)
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)
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)
Hubaux, A., Tun, T.T., Heymans, P.: Separation of concerns in feature diagram languages: A systematic survey. ACM Computing Surveys (2012)
Acher, M., Collet, P., Lahire, P., France, R.: Separation of Concerns in Feature Modeling: Support and Applications. In: AOSD 2012, ACM (2012)
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)
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)
Acher, M., Collet, P., Lahire, P., France, R.: Slicing Feature Models. In: Proc. of ASE 2011 (short paper). ACM (2011)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Acher, M., Heymans, P., Cleve, A., Hainaut, J.L., Baudry, B.: Support for reverse engineering and maintaining feature models. In: VaMoS 2013, ACM (2013)
Fowler, M.: Domain Specific Languages. Addison-Wesley Professional (2010)
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)
Mernik, M., Heering, J., Sloane, A.M.: When and how to develop domain-specific languages. ACM Comput. Surv. 37(4), 316–344 (2005)
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)
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
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)
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)
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)
Andersen, N., Czarnecki, K., She, S., Wasowski, A.: Efficient synthesis of feature models. In: Proceedings of SPLC 2012, pp. 97–106. ACM Press (2012)
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)
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)
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)
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)
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)
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)
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)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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)