Software & Systems Modeling

, Volume 11, Issue 3, pp 361–383 | Cite as

Weaving variability into domain metamodels

  • Gilles Perrouin
  • Gilles Vanwormhoudt
  • Brice Morin
  • Philippe Lahire
  • Olivier Barais
  • Jean-Marc Jézéquel
Special Section Paper


Domain-specific modeling languages (DSMLs) are the essence of MDE. A DSML describes the concepts of a particular domain in a metamodel, as well as their relationships. Using a DSML, it is possible to describe a wide range of different models that often share a common base and vary on some parts. On the one hand, some current approaches tend to distinguish the variability language from the DSMLs themselves, implying greater learning curve for DSMLs stakeholders and a significant overhead in product line engineering. On the other hand, approaches integrating variability in DSMLs lack generality and tool support. We argue that aspect-oriented modeling techniques enabling flexible metamodel composition and results obtained by the software product line community to manage and resolve variability form the pillars for a solution for integrating variability into DSMLs. In this article, we consider variability as an independent and generic aspect to be woven into the DSML. In particular, we detail how variability is woven and how to perform product line derivation. We validate our approach through the weaving of variability into two different metamodels: Ecore—widely used for DSML definition—and SmartAdapters, our aspect model weaver. These results emphasize how new abilities of the language can be provided by this means.


Domain specific languages Model weaving Variability and software product lines 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Atkinson, C., Bayer, J., Muthig, D.: Component-based product line development: the KobrA approach. In: Proceedings of the First Conference on Software Product Lines : Experience and Research Directions, pp 289–309. Kluwer Academic Publishers, Norwell, MA, USA (2000)Google Scholar
  2. 2.
    Batory D.S.: Feature models, grammars, and propositional formulas. In: Obbink, J.H., Pohl, K. (eds) SPLC, vol 3714, pp. 7–20. Springer, LNCS (2005)Google Scholar
  3. 3.
    Benavides D., Segura S., Ruiz-Cortés A.: Automated analysis of feature models 20 years later: a literature review. Inf. Syst. 35(6), 615–636 (2010)CrossRefGoogle Scholar
  4. 4.
    Bracha, G., Cook, W.: Mixin-based inheritance. In: Proceedings of the European Conference on Object-Oriented Programming on Object-Oriented Programming Systems, Languages, and Applications, pp 303–311. ACM New York, NY, USA (1990)Google Scholar
  5. 5.
    Bruce, K.B.: Some challenging typing issues in object-oriented languages: extended abstract. In: Electronic Notes in Theoretical Computer Science, vol. 82, no. 8, pp. 1–29. wOOD2003, Workshop on Object Oriented Developments (Satellite Event of ETAPS 2003) (2003)Google Scholar
  6. 6.
    Clark T., Evans A., Kent S.: Aspect-oriented metamodelling. Comput. J. 46(5), 566–577 (2003)zbMATHCrossRefGoogle Scholar
  7. 7.
    Clauss, M.: Generic modeling using UML extensions for variability. In: Workshop on Domain Specific Visual Languages at OOPSLA 2001 (2001)Google Scholar
  8. 8.
    Clements P., Northrop L.: Software product lines: practices and patterns. Addison-Wesley Longman Publishing Co., Inc., Boston, MA, USA (2001)Google Scholar
  9. 9.
    Czarnecki, K., Antkiewicz, M.: Mapping features to models: a template approach based on superimposed variants. In: Generative Programming and Component Engineering (GPCE), vol. 3676, pp. 422–437. Springer, LNCS (2005)Google Scholar
  10. 10.
    Czarnecki K., Helsen S., Eisenecker U.: Formalizing cardinality-based feature models and their specialization. Softw. Process Improv. Pract. 10(1), 7–29 (2005)CrossRefGoogle Scholar
  11. 11.
    Czarnecki K., Helsen S., Eisenecker U.: Staged configuration through specialization and multilevel configuration of feature models. Softw. Process Improv. Pract. 10(2), 143–169 (2005)CrossRefGoogle Scholar
  12. 12.
    Dhungana, D., Grünbacher, P.: Understanding decision-oriented variability modelling. In: 1st Workshop on Analyses of Software Product Lines, in Collocation with the 12th International Software Product Line Conference, pp. 233–242. Limerick, Ireland (2008)Google Scholar
  13. 13.
    Dhungana, D., Grünbacher, P., Rabiser, R.: DecisionKing: A Flexible and Extensible Tool for Integrated Variability Modeling. In: VaMoS, pp. 119–127 (2007)Google Scholar
  14. 14.
    Dhungana, D., Rabiser, R., Grünbacher, P., Neumayer, T.: Integrated Tool Support for Software Product Line Engineering. In: ASE, pp. 533–534 (2007)Google Scholar
  15. 15.
    Drey, Z., Faucher, C., Mahé, V., Vojtisek, D.: Kermeta language: Reference manual. (2009)
  16. 16.
    Filman, R.E., Elrad, T., Clarke, S., Akşit, M. (eds): Aspect- Oriented Software Development. Addison-Wesley, Boston (2005)Google Scholar
  17. 17.
    Gomaa, H.: Designing software product lines with the unified modeling language (UML). In: Software Product Lines, Third International Conference, SPLC 2004, vol. 3154, p. 317. Springer (2004)Google Scholar
  18. 18.
    Gray, J., Sztipanovits, J., Schmidt, D.C., Bapty, T., Neema, S., Gokhale, A.: Two-level aspect weaving to support evolution in model-driven synthesis. In: Aspect-Oriented Software Development, pp. 681–709. Addison-Wesley (2005)Google Scholar
  19. 19.
    Griss, M.L., Favaro, J., d’ Alessandro, M.: Integrating feature modeling with the RSEB. In: ICSR, Washington, DC, USA (1998)Google Scholar
  20. 20.
    Guelfi, N., Perrouin, G.: Coherent integration of variability mechanisms at the requirements elicitation and analysis levels. In: Muthig, D., Clements, P. (eds.) Workshop on Managing Variability for SPL, Baltimore, MD, USA (2006)Google Scholar
  21. 21.
    Haugen, O., Moller-Pedersen, B., Oldevik, J., Olsen, G., Svendsen, A.: Adding standardized variability to domain specific languages. In: Software Product Line Conference, pp. 139–148 (2008)Google Scholar
  22. 22.
    Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE’08), pp. 943–944. ACM, New York, NY, USA (2008). doi: 10.1145/1370175.1370199
  23. 23.
    Jackson D.: Software Abstractions: Logic, Language, and Analysis. MIT Press, Cambridge (2006)Google Scholar
  24. 24.
    Jayaraman, P., Whittle, J., Elkhodary, A., Gomaa, H.: Model composition in product lines and feature interaction detection using critical pair analysis. In: Model Driven Engineering Languages and Systems, pp. 151–165. Springer (2007)Google Scholar
  25. 25.
    Jézéquel J.M.: Model driven design and aspect weaving. J. Softw. Syst. Model. (SoSyM) 7(2), 209–218 (2008)CrossRefGoogle Scholar
  26. 26.
    Kang, K., Cohen, S., Hess, J., Novak, W., Peterson, S.: Feature- oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Software Engineering Institute (1990)Google Scholar
  27. 27.
    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. Softw. Eng. 5, 143–168 (1998)CrossRefGoogle Scholar
  28. 28.
    Kienzle, J., Al Abed, W., Jacques, K.: Aspect-oriented multi-view modeling. In: AOSD ’09: 8th ACM International Conference on Aspect-Oriented Software Development, pp. 87–98. ACM, New York, NY, USA (2009)Google Scholar
  29. 29.
    Klein, J., Hélouët, L., Jézéquel, J.M.: Semantic-based Weaving of scenarios. In: AOSD’06: Proceedings of the 5th International Conference on Aspect-Oriented Software Development, pp. 27–38 (2006)Google Scholar
  30. 30.
    Lahire, P., Morin, B., Vanwormhoudt, G., Gaignard, A., Barais, O., Jézéquel, J.M.: Introducing Variability into Aspect-Oriented Modeling Approaches. In: Proceedings of ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07), Nashville, TN, USA (2007)Google Scholar
  31. 31.
    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: IEEE Conference on Requirements Engineering, pp. 243–253. IEEE Computer Society, Los Alamitos, CA, USA (2007)Google Scholar
  32. 32.
    Muller, P.A., Fleurey, F., Jézéquel, J.M.: Weaving executability into object-oriented meta-languages. In: Proceedings of MODELS/UML’2005, Springer, Jamaica, LNCS (2005)Google Scholar
  33. 33.
    Nejati, S., Sabetzadeh, M., Chechik, M., Easterbrook, S., Zave, P.: Matching and merging of statecharts specifications. In: ICSE ’07: Proceedings of the 29th International Conference on Software Engineering, pp. 54–64. IEEE Computer Society, Washington, DC, USA (2007). doi: 10.1109/ICSE.2007.50
  34. 34.
    Perrouin, G., Klein, J., Guelfi, N., Jézéquel, J.M.: Reconciling Automation and Flexibility in Product Derivation. In: 12th International Software Product Line Conference (SPLC 2008), pp. 339–348. IEEE Computer Society, Limerick, Ireland (2008)Google Scholar
  35. 35.
    Perrouin, G., Sen, S., Klein, J., Baudry, B., le Traon, Y.: Automated and scalable T-wise test case generation strategies for software product lines. In: International Conference on Software Testing, Verification, and Validation (ICST), pp. 459–468. IEEE Computer Society, Los Alamitos, CA, USA (2010)Google Scholar
  36. 36.
    Pohl K., Böckle G., van der Linden F.J.: Software Product Line Engineering: Foundations, Principles and Techniques. Springer-Verlag New York, Inc., Secaucus, NJ, USA (2005)zbMATHGoogle Scholar
  37. 37.
    PureSystems: Pure::Variants Website (2006)
  38. 38.
    Ramos, R., Barais, O., Jézéquel, J.M.: Matching model-snippets. In: Proceedings of ACM/IEEE 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS 07). Nashville, TN, USA (2007)Google Scholar
  39. 39.
    Reddy Y.R., Ghosh S., France R.B., Straw G., Bieman J.M., McEachen N., Song E., Georg G.: Directives for composing aspect-oriented design class models. In: Rashid, A., Aksit, M. (eds) Transaction on Aspect-Oriented Software Development. Lecture Notes in Computer Science, vol. 3880, pp. 75–105. Springer, Heidelberg (2006)Google Scholar
  40. 40.
    Schmid, K., Verlage, M.: The Economic Impact of Product Line Adoption and Evolution. IEEE software pp 50–57 (2002)Google Scholar
  41. 41.
    Schobbens, P.Y., Heymans, P., Trigaux, J.C., Bontemps, Y.: Feature Diagrams: A Survey and A Formal Semantics. In: RE, Minneapolis, Minnesota, USA (2006)Google Scholar
  42. 42.
    Schobbens P.Y., Heymans P., Trigaux J.C., Bontemps Y.: Generic semantics of feature diagrams. Comput. Netw. 51(2), 456–479 (2007)zbMATHCrossRefGoogle Scholar
  43. 43.
    Steel J., Jézéquel J.M.: On model typing. J. Softw. Syst. Model. (SoSyM) 6(4), 401–414 (2007)CrossRefGoogle Scholar
  44. 44.
    Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: Eclipse modeling framework. Pearson Education (2008)Google Scholar
  45. 45.
    project team A Aspect-Oriented Model-driven Product-Line engineering. (2009)
  46. 46.
    Team, E.P.: Emftext: concrete syntax mapper. (2010)
  47. 47.
    Team, F.P.: Featuremapper:
  48. 48.
    Team, R.P.: Reuseware composition framework (2010)
  49. 49.
    Varró, D., Pataricza, A.: Generic and meta-transformations for model transformation engineering. In: Baar, T., Strohmeier, A., Moreira, A., Mellor, S. (eds.) Proceedings of UML 2004: 7th International Conference on the Unified Modeling Language, vol. 3273, pp. 290–304. Springer, Lisbon, Portugal, LNCS (2004)Google Scholar
  50. 50.
    Voelter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: 11th International Software Product Line Conference, p. 10. Kyoto, Japan (2007)Google Scholar
  51. 51.
    Whittle, J., Jayaraman, P.: Mata: a tool for aspect-oriented modeling based on graph transformation. In: Aspect-Oriented Modeling Workshop @MODELS 2007, Springer, Nashville, TN, USA, Lecture Notes In Computer Science, vol. 5002, pp. 16–27 (2008)Google Scholar
  52. 52.
    Ziadi, T., Jézéquel, J.M.: Product line engineering with the UML: deriving products. In: Families Research Book, Springer (2006)Google Scholar
  53. 53.
    Zschaler, S., Sanchez, P., Santos, J., Alferez, M., Rashid, A., Fuentes, L., Moreira, A., Araujo, J., Kulesza, U.: VML*—a family of languages for variability management in software product lines. In: Proceedings of the International Conference on Software Language Engineering (SLE 2009), p. 21. Springer (2009)Google Scholar

Copyright information

© Springer-Verlag 2010

Authors and Affiliations

  • Gilles Perrouin
    • 1
  • Gilles Vanwormhoudt
    • 2
  • Brice Morin
    • 3
  • Philippe Lahire
    • 4
  • Olivier Barais
    • 5
  • Jean-Marc Jézéquel
    • 6
  1. 1.PReCISE, University of NamurNamurBelgium
  2. 2.Institut Telecom/LIFLUniversité de Lille 1Villeneuve d’Ascq CedexFrance
  3. 3.SINTEF ICTOsloNorway
  4. 4.I3S Nice-Sophia Antipolis, Equipe ModalisSophia-Antipolis CedexFrance
  5. 5.IRISA, Université de Rennes1, Equipe TriskellRennes CedexFrance
  6. 6.INRIA Rennes Bretagne Atlantique and IRISAUniversité de Rennes1, Equipe TriskellRennes CedexFrance

Personalised recommendations