Skip to main content
Log in

Mapping feature models onto domain models: ensuring consistency of configured domain models

  • Regular Paper
  • Published:
Software & Systems Modeling Aims and scope Submit manuscript

Abstract

We present an approach to model-driven software product line engineering which is based on feature models and domain models. A feature model describes both common and varying properties of the instances of a software product line. The domain model is composed of a structural model (package and class diagrams) and a behavioral model (story diagrams). Features are mapped onto the domain model by annotating elements of the domain model with features. An element of a domain model is specific to the features included in its feature annotation. An instance of the product line is defined by a set of selected features (a feature configuration). A configuration of the domain model is built by excluding all elements whose feature set is not included in the feature configuration. To ensure consistency of the configured domain model, we define constraints on the annotations of inter-dependent domain model elements. These constraints guarantee that a model element may be selected only when the model elements are also included on which it depends. Violations of dependency constraints may be removed automatically with the help of an error repair tool which propagates features to dependent model elements.

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

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18
Fig. 19
Fig. 20
Fig. 21
Fig. 22
Fig. 23
Fig. 24
Fig. 25
Fig. 26

Similar content being viewed by others

Notes

  1. Cardinalities may be specified only for inclusive-or groups. An exclusive-or group always has the cardinality [1:1].

  2. \(2^F\) denotes the powerset of \(F\).

  3. In OCL, nested navigations result in bags rather than in sets. The pre-defined function asSet() is used to convert a bag into a set, removing potential duplicates (not occurring here).

  4. Here, oclAsType() narrows the type from Classifier to Class.

  5. The edge direction coincides with the direction of feature propagation.

  6. Please note that this figure shows the actual implementation of the method based upon Fujaba’s metamodel. This metamodel uses slightly different names for metaclasses.

  7. Fujaba’s graph matching algorithm internally uses injective matches. As a consequence, the Fujaba runtime environment ensures that “owningClass” and “objectClass” are different instances of the metaclass UMLClass. Therefore, the UMLObject “umlObject” is not an instance of “owningClass”. In this case, the object class must be a subclass of the owning class.

  8. The association ends revSubclass and superclass used in the implemented metamodel correspond to the association ends generalization and general from the UML2 standard, as depicted in Figs. 7 and 12.

  9. In the actual implementation, mandatory features are not used for annotations. This reduces the number of annotations, but has a negative impact on traceability. Even with mandatory features, the number of annotations would be small compared to the size of the domain model.

  10. http://gsd.uwaterloo.ca/fmp2rsm.

  11. http://www.featuremapper.org.

  12. http://www.eclipse.org/modeling/mdt/?project=uml2.

  13. http://www.pure-systems.com.

  14. http://www.sparxsystems.eu/.

References

  1. Antkiewicz, M., Czarnecki, K.: FeaturePlugin: Feature modeling plug-in for Eclipse. In: Proceedings of the 2004 OOPSLA Workshop on Eclipse Technology eXchange (eclipse’04), pp. 67–72. ACM Press, New York, NY (2004)

  2. Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model superimposition in software product lines. In: Paige, R.F. (ed.) Proceedings of the International Conference on Model Transformation (ICMT), vol. 5563 Lecture Notes in Computer Science, pp. 4–19. Springer, Berlin, July (2009)

  3. Apel, S., Kästner C., Lengauer, C.: FeatureHouse: Language-independent, automated software composition. In: Proceedings of the ACM/IEEE International Conference on Software Engineering (ICSE), pp. 221–231. IEEE, May 2009

  4. Arboleda, H., Casallas, R., Royer, J.-C.: Dealing with fine-grained configurations in model-driven SPLs. In: Proceedings of the 13th International Software Product Line Conference (SPLC), Software Engineering Institute, pp. 1–10. Pittsburgh, PA, USA (2009)

  5. Buchmann, T., Dotor, A.: Constraints for a fine-grained mapping of feature models and executable domain models. In: Mezini, M., Beuche, D., Moreira, A. (eds.) 1st International Workshop on Model-Driven Product Line Engineering (MDPLE’09), pp. 9–17. CTIT Workshop Proceedings, CTIT, Twente, The Netherlands, June 2009

  6. Buchmann, T., Dotor, A.: Mapping features to domain models in fujaba. In: van Gorp, P. (ed.) Proceedings of the 7th International Fujaba Days, pp. 20–24. Eindhoven, The Netherlands, November 2009

  7. Buchmann, T., Dotor, A.: Towards a model-driven product line for SCM systems. In: Proceedings of the 13th International Software Product Line Conference (SPLC 2009), vol. 2, pp. 174–181. Software Engineering Institute, San Francisco, CA, USA, August 2009

  8. Buchmann, T., Dotor, A., Klinke, M.: Supporting modeling in the large in fujaba. In: van Gorp, P. (ed.) Proceedings of the 7th International Fujaba Days, pp. 59–63. Eindhoven, The Netherlands, November 2009

  9. Buchmann, T., Dotor, A., Westfechtel, B.: MOD2-SCM: Experiences with co-evolving models when designing a modular SCM system. In: Deridder, D., Gray, J., Pierantonio, A., Schobbens, P.-Y. (eds.) 1st International Workshop on Model Co-Evolution and Consistency Management (MCCM08), pp. 50–65. Toulouse, France (2008)

  10. Buchmann, T., Dotor, A., Westfechtel, B.: Model-driven development of software configuration management systems–a case study in model-driven engineering. In: Proceedings of the 4th International Conference on Software and Data Technologies (ICSOFT 2009), vol. 1, pp. 309–316. INSTICC Press, Sofia, Bulgaria, July 2009

  11. Buchmann, T., Dotor, A., Westfechtel, B.: MOD2-SCM: A model-driven product line for software configuration management systems. Information and Software Technology (2012) (http://dx.doi.org/10.1016/j.infsof.2012.07.010)

  12. Buchmann, T., Dotor, A., Westfechtel, B.: Model-driven software engineering: Concepts and tools for modeling-in-the-large with package diagrams. Comput. Sci. Res. Dev. 1–21 (2012) (online first)

  13. Buchmann, T., Westfechtel, B., Winetzhammer, S.: The added value of programmed graph transformations–A case study from software configuration management. In: Schürr, A., Varro, D., Varro, G. (eds.) Applications of Graph Transformations with Industrial Relevance (AGTIVE 2011), Budapest, Hungary, 2012. Presented at AGTIVE 2011, currently under review for publication in the post-proceedings

  14. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Boston, MA (2001)

    Google Scholar 

  15. Collins-Sussman, B., Fitzpatrick, B.W., Michael Pilato, C.: Version Control with Subversion. O’Reilly, Sebastopol, CA (2004)

  16. Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M.R. (eds.) 4th International Conference on Generative Programming and Component Engineering (GPCE 2005), vol. 3676 of Lecture Notes in Computer Science, pp. 422–437. Tallin, Estonia, September 2005, Springer, Berlin

  17. Czarnecki, K., Helsen, S., Eisenecker, U.W.: Formalizing cardinality-based feature models and their specialization. Softw. Process. Improv. Pract. 10(1), 7–29 (2005)

    Article  Google Scholar 

  18. Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness ocl constraints. In: Jarzabek, S., Schmidt, D.C., Veldhuizen, T.L. (eds.) Proceedings of ACM SIGSOFT/SIGPLAN International Conference on Generative Programming and Component Engineering (GPCE’06), pp. 211–220. ACM Press, Portland, OR, October 2006

  19. de Micheaux, N.L., Rambaud, C.: Confluence for graph transformations. Theor. Comput. Sci. 154(2), 329–348 (1996)

    Article  MATH  Google Scholar 

  20. Dotor, A.: Entwurf und Modellierung einer Produktlinie von Software-Konfigurations-Management-Systemen. PhD thesis, University of Bayreuth, Bayreuth, Germany, p. 459 (2011)

  21. Estublier, J., Casallas, R.: The Adele configuration manager. In: Tichy, W.F. (eds.): Configuration Management, vol. 2, pp. 99–134. Trends in Software. Wiley and Sons, Chichester, UK (1994)

  22. Fischer, T., Niere, J., Torunski, L., Zündorf, A.: Story diagrams: A new graph rewrite language based on the Unified Modeling Language and Java. In: Engels, G., Rozenberg, G. (eds.) TAGT ‘98–6th International Workshop on Theory and Application of Graph Transformation, vol. 1764. Lecture Notes in Computer Science, pp. 296–309. Paderborn, Germany, November 1998, Springer, Berlin

  23. Frankel, D.S.: Model Driven Architecture: Applying MDA to Enterprise Computing. Wiley, Indianapolis, IN (2003)

    Google Scholar 

  24. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns–Elements of Reusable Object-Oriented Software. Addison-Wesley, Upper Saddle River, NJ (1994)

    Google Scholar 

  25. Gomaa, H.: Designing Software Product Lines with UML: From Use Cases to Pattern-Based Software Architectures. Addison-Wesley, Boston, MA (2004)

    Google Scholar 

  26. Gomaa, H., Shin, M.E.: Tool Support for Software Variability Management and Product Derivation in Software Product Lines. In: Nord, R.L. (ed.) Workshop on Software Variability Management for Product Derivation, Software Product Line Conference (SPLC), pp. 73–84. Boston, August 2004

  27. Gosling, J., Joy, B., Steele, G., Bracha, G.: The Java Language Specification., 3rd edn. Addison-Wesley Longman, Amsterdam (2005)

  28. Heidenreich, F.: Towards systematic ensuring well-formedness of software product lines. In: Proceedings of the 1st Workshop on Feature-Oriented Software Development, pp. 69–74. ACM, Denver, CO., USA, October 2009

  29. Heidenreich, F., Şavga, I., Wende, C.: On controlled visualisations in software product line engineering. In: Thiel, S., Pohl, K. (eds.) Proceedings of the 2nd International Workshop on Visualisation in Software Product Line Engineering (ViSPLE 2008), pp. 335–341. Limerick, Ireland (2008)

  30. Heidenreich, F., Johannes, J., Karol, S., Seifert, M., Wende, C.: Derivation and Refinement of Textual Syntax for Models. In: Paige, R.F., Hartman, A., Rensink, A. (eds.) Proceedings of the 5th European Conference on Model Driven Architecture–Foundations and Applications (ECMDA-FA 2009), Lecture Notes in Computer Science, vol. 5562, pp. 114–129. Twente, The Netherlands, 2009, Springer, Berlin

  31. 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 Press, Leipzig, Germany, May 2008

  32. Heidenreich, F., Sánchez, P., Santos, J.P., Zschaler, S., Alférez, M., Araújo, J., Fuentes, L., Kulesza, U., Moreira, A., Rashid, A.: Relating feature models to other models of a software product line–A comparative study of FeatureMapper and VML*. Trans. Aspect-Oriented Softw. Dev. 7, 69–114 (2010)

    Google Scholar 

  33. Heidenreich, F., Wende, C.: Bridging the gap between features and models. In: Proceedings of the Second Workshop on Aspect-Oriented Product Line Engineering (AOPLE’07), pp. 38–42. Salzburg, Austria, October 2007

  34. Jarke, M., Klamma, R., Pohl, K., Sikora, E.: Requirements engineering in complex domains. In: Engels, G., Lewerentz, C., Schäfer, A., Schürr, W., Westfechtel, B. (eds.) Graph Transformations and Model-Driven Engineering–Essays Dedicated to Manfred Nagl on the Occasion of His 65th Birthday, vol. 5765, pp. 602–620. Lecture Notes in Computer Science, Springer, Berlin (2010)

  35. Jayaraman, P.K., Whittle, J., Elkhodary, A.M., Gomaa, H.: Model composition in product lines and feature interaction detection using critical pair analysis. In: Engels, G., Opdyke, B., Schmidt, D.C., Weil, F. (eds.) Proceedings of the 10th International Conference on Model Driven Engineering Languages and Systems (MoDELS), vol. 4735 of Lecture Notes in Computer Science, pp. 151–165, Nashville, USA, 2007, Springer, Berlin

  36. Kang, K.C., Cohen, S.G., Hess, J.A., Novak, W.A., Spencer Peterson, A.: Feature-oriented domain analysis (FODA) feasibility study. Technical Report CMU/SEI-90-TR-21, Carnegie-Mellon University, Software Engineering Institute (1990)

  37. Kang, K.C., Kim, S., Lee, J., Kim, K., Kim, G.J., Shin, E.: A feature-oriented reuse method with domain-specific reference architectures. Ann. Softw. Eng. 5, 143–168 (1998)

    Article  Google Scholar 

  38. Kästner, C., Apel, S., Saake, G.: Virtuelle Trennung von Belangen (Präprozessor 2.0). In: Software Engineering 2010—Fachtagung des GI-Fachbereichs Softwaretechnik, number P-159 in Lecture Notes in Informatics, pp. 165–176. Paderborn, Germany, February 2010, Gesellschaft für Informatik (GI)

  39. Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., Batory, D.S.: Guaranteeing syntactic correctness for all product line variants: A language-independent approach. In: Oriol, M., Meyer, B. (eds.) Proceedings of the 47th International Conference: Objects, Components, Models and Patterns (TOOLS EUROPE 2009), vol. 33, Lecture Notes in Business Information Processing, pp. 175–194. Springer, Zurich, Switzerland (2009)

  40. Mezini, M., Beuche, D., Moreira, A.: (eds.) 1st International Workshop on Model-Driven Product Line Engineering (MDPLE’09), CTIT Workshop Proceedings. CTIT, Twente, The Netherlands, June 2009

  41. OMG: Action Language for Foundational UML (Alf), Beta 1 Specification. OMG, Needham, MA, ptc/10-10-05 edition, October 2010

  42. OMG: Object Constraint Language, Version 2.2. OMG, Needham, MA, formal/2010-02-02 edition, February 2010

  43. OMG: OMG Unified Modeling Language (OMG UML), Superstructure, Version 2.3. OMG, Needham, MA, formal/2010-05-05 edition, May 2010

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

    Book  Google Scholar 

  45. Steinberg, D., Budinsky, F., Paternostro, M., Merks, E.: EMF Eclipse Modeling Framework. The Eclipse Series, 2nd edn. Addison-Wesley, Boston, MA (2009)

  46. Taentzer, G.: AGG: A graph transformation environment for modeling and validation of software. In: Pfaltz, J., Nagl, M., Böhlen, B. (eds.) Applications of Graph Transformations with Industrial Relevance, vol. 3062, pp. 446–453. Springer, Berlin (2004)

    Chapter  Google Scholar 

  47. The Fujaba Developer Teams from Paderborn, Kassel, Darmstadt, Siegen and Bayreuth. The Fujaba Tool Suite 2005: An Overview About the Development Efforts in Paderborn, Kassel, Darmstadt, Siegen and Bayreuth. In: Giese, H., Zündorf, A. (eds.) Proceedings of the 3rd International Fujaba Days, pp. 1–13, September 2005

  48. Tichy, W.F.: RCS–A system for version control. Softw. Pract. Exp. 15(7), 637–654 (1985)

    Article  MathSciNet  Google Scholar 

  49. Vesperman, J.: Essential CVS. O’Reilly, Sebastopol, CA (2006)

    Google Scholar 

  50. Völter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: Proceedings of the 11th International Conference on Software Product Lines (SPLC), pp. 233–242. IEEE Computer Society, Kyoto, Japan, September 2007

  51. Völter, M., Stahl, T., Bettin, J., Haase, A., Helsen, S.: Model-Driven Software Development: Technology Engineering Management. Wiley and Sons, Chichester, UK (2006)

    Google Scholar 

  52. Weiss, D.M., Lai, C.T.R.: Software Product Line Engineering: A Family-Based Software Development Process. Addison-Wesley, Boston, MA (1999)

  53. Westfechtel, B., Conradi, R.: Multi-variant modeling–Concepts, issues and challenges. In: Mezini, M., Beuche, D., Moreira, A.: (eds.) 1st International Workshop on Model-Driven Product Line Engineering (MDPLE’09), CTIT Workshop Proceedings, pp. 57–67. CTIT, Twente, The Netherlands, June 2009

  54. White, B.A.: Software Configuration Management Strategies and Rational ClearCase. Object Technology Series. Addison-Wesley, Reading, MA (2003)

  55. Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Arajo, J.: MATA: A unified approach for composing UML aspect models based on graph transformation. In: Katz, S., Ossher, H., France, R., Jzquel, J.-M. (eds.) Transactions on Aspect-Oriented Software Development VI, vol. 5560, Lecture Notes in Computer Science, pp. 191–237. Springer, Berlin (2009)

  56. Ziadi, T., Hélouët, L., Jézéquel, J.-M.: Revisiting statechart synthesis with an algebraic approach. In: Proceedings of the 26th International Conference on Software Engineering (ICSE), pp. 242–251. IEEE Computer Society, Edinburgh, UK, May 2004

  57. Ziadi, T., Hélouët, L., Jézéquel, J.-M.: Towards a UML profile for software product lines. In: van der Linden, F. (ed.) Software Product-Family Engineering, Lecture Notes in Computer Science, vol. 3014, pp. 129–139. Springer, Berlin (2004)

  58. Ziadi, T., Jézéquel, J.-M.: Software product line engineering with the UML: Deriving products. In: Käköla, T., Duenas, C. (eds.) Software Product Lines, pp. 557–588. Springer, Berlin (2006)

    Chapter  Google Scholar 

  59. Ziadi, T., Jézéquel, J.-M.: PLiBS: An Eclipse-based tool for software product line behavior engineering. In: Proceedings of the 3rd Workshop on Managing Variability for Software Product Lines, (SPLC, : Software Engineering Institute. Kyoto, Japan (2007)

  60. Zschaler, S., Sánchez, P., Santos, J., Alférez, M., Rashid, A., Fuentes, L., Moreira, A., Araújo, J., Kulesza, U.: VML*—A family of languages for variability management in software product lines. In: van den M., Gaevic, B.D., Gray, J. (eds.) Software Language Engineering, vol. 5969 of Lecture Notes in Computer Science, pp. 82–102. Springer, Berlin (2010)

  61. Zündorf, A.: Rigorous object oriented software development. Technical report, University of Paderborn (2001) (habilitation thesis)

Download references

Acknowledgments

The valuable comments of the anonymous reviewers are gratefully acknowledged.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Thomas Buchmann.

Additional information

Communicated by Prof. Alfonso Pierantonio.

Rights and permissions

Reprints and permissions

About this article

Cite this article

Buchmann, T., Westfechtel, B. Mapping feature models onto domain models: ensuring consistency of configured domain models. Softw Syst Model 13, 1495–1527 (2014). https://doi.org/10.1007/s10270-012-0305-5

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10270-012-0305-5

Keywords

Navigation