Skip to main content

Advancing Negative Variability in Model-Driven Software Product Line Engineering

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2016)

Part of the book series: Communications in Computer and Information Science ((CCIS,volume 703))

  • 327 Accesses

Abstract

Model-driven software product line engineering aims at increasing the productivity of development of variational software. The principle of negative variability is realized by a multi-variant domain model, from which elements not needed for specific product variants are removed. The application of negative variability is impeded by two factors: First, metamodel restrictions lead to limited expressiveness of the multi-variant domain model. Second, unintended information loss may occur during product derivation. In this paper, we present two conceptual extensions to model-driven product line engineering based on negative variability, being alternative mappings and surrogates. Alternative mappings virtually extend the multi-variant domain model. Surrogates repair unintended information loss by context-sensitive analyses. Both extensions have been implemented in FAMILE, a model-driven product line tool that is based on EMF. Alternative mappings are defined in a dedicated mapping model. Surrogate rules may be defined in a declarative domain-specific language and are taken into account during product derivation. The added value of alternative mappings and surrogates is demonstrated by a running example, a UML-based graph library.

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 EPUB and 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

Notes

  1. 1.

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

  2. 2.

    http://www.fujaba.de/.

  3. 3.

    http://btn1x4.inf.uni-bayreuth.de/famile/update/.

  4. 4.

    http://btn1x4.inf.uni-bayreuth.de/famile/screencasts/.

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 2004), New York, pp. 67–72 (2004)

    Google Scholar 

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

    Google Scholar 

  3. Buchmann, T.: Valkyrie: a UML-based model-driven environment for model-driven software engineering. In: Proceedings of the 7th International Conference on Software Paradigm Trends (ICSOFT 2012), Rome, Italy, pp. 147–157 (2012)

    Google Scholar 

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

  5. Buchmann, T., Schwägerl, F.: Ensuring well-formedness of configured domain models in model-driven product lines based on negative variability. In: Proceedings of the 4th International Workshop on Feature-Oriented Software Development, FOSD 2012, pp. 37–44. ACM, New York (2012)

    Google Scholar 

  6. Buchmann, T., Schwägerl, F.: FAMILE: tool support for evolving model-driven product lines. In: Störrle, H., Botterweck, G., Bourdells, M., Kolovos, D., Paige, R., Roubtsova, E., Rubin, J., Tolvanen, J.P. (eds.) Joint Proceedings of co-located Events at the 8th European Conference on Modelling Foundations and Applications, pp. 59–62. CEUR WS, Technical University of Denmark (DTU), Building 321, DK-2800 Kongens Lyngby, July 2012

    Google Scholar 

  7. Buchmann, T., Schwägerl, F.: Developing heterogeneous software product lines with famile – a model-driven approach. Int. J. Adv. Softw. 8(1 & 2), 232–246 (2015)

    Google Scholar 

  8. Buchmann, T., Schwägerl, F.: On A-posteriori integration of Ecore Models and Hand-written Java Code. In: Pascal Lorenz, M.V.S., Cardoso, J. (eds.) Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 95–102. SCITEPRESS, July 2015

    Google Scholar 

  9. Buchmann, T., Schwägerl, F.: Breaking the boundaries of meta models and preventing information loss in model-driven software product lines. In: Maciaszek, L., Filipe, J. (eds.) Proceedings of the 11th International Conference on the Evaluation of Novel Approaches to Software Engineering (ENASE 2016), pp. 73–83. SCITEPRESS, Rome, Italy, April 2016

    Google Scholar 

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

    Article  Google Scholar 

  11. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns, Boston, MA (2001)

    Google Scholar 

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

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

    Google Scholar 

  14. Gamma, E., Helm, R., Johnson, R., Vlissides, J.: Design Patterns - Elements of Reusable Object-Oriented Software (1994)

    Google Scholar 

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

    Google Scholar 

  16. Heidenreich, F., Kopcsek, J., Wende, C.: FeatureMapper: mapping features to models. In: Companion Proceedings of the 30th International Conference on Software Engineering (ICSE 2008), Leipzig, Germany, pp. 943–944, May 2008

    Google Scholar 

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

    Google Scholar 

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

    Article  Google Scholar 

  19. Kästner, C., Apel, S., Trujillo, S., Kuhlemann, M., Batory, D.: Guaranteeing syntactic correctness for all product line variants: a language-independent approach. In: Oriol, M., Meyer, B. (eds.) TOOLS EUROPE 2009. LNBIP, vol. 33, pp. 175–194. Springer, Heidelberg (2009). doi:10.1007/978-3-642-02571-6_11

    Chapter  Google Scholar 

  20. Lopez-Herrejon, R.E., Batory, D.: A standard problem for evaluating product-line methodologies. In: Bosch, J. (ed.) GCSE 2001. LNCS, vol. 2186, pp. 10–24. Springer, Heidelberg (2001). doi:10.1007/3-540-44800-4_2

    Chapter  Google Scholar 

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

    Google Scholar 

  22. OMG: Meta Object Facility (MOF) Core. Object Management Group, Needham, MA, formal/2011-08-07 edn., August 2011

    Google Scholar 

  23. OMG: Concrete Syntax For A UML Action Language: Action Language For Foundational UML (ALF). Object Management Group, Needham, MA, formal/2013-09-01 edn., October 2013

    Google Scholar 

  24. OMG: Unified Modeling Language (UML). Object Management Group, Needham, MA, formal/15-03-01 edn., March 2015

    Google Scholar 

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

    Book  MATH  Google Scholar 

  26. Schwägerl, F., Buchmann, T., Westfechtel, B.: SuperMod - a model-driven tool that combines version control and software product line engineering. In: ICSOFT-PT 2015 - Proceedings of the 10th International Conference on Software Paradigm Trends, pp. 5–18. SCITEPRESS, Colmar (2015)

    Google Scholar 

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

    Google Scholar 

  28. Taentzer, G.: AGG: a graph transformation environment for modeling and validation of software. In: Pfaltz, J.L., Nagl, M., Böhlen, B. (eds.) AGTIVE 2003. LNCS, vol. 3062, pp. 446–453. Springer, Heidelberg (2004). doi:10.1007/978-3-540-25959-6_35

    Chapter  Google Scholar 

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

    Google Scholar 

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

    Google Scholar 

  31. Whittle, J., Jayaraman, P., Elkhodary, A., Moreira, A., Araújo, J.: MATA: a unified approach for composing UML aspect models based on graph transformation. In: Katz, S., Ossher, H., France, R., Jézéquel, J.-M. (eds.) Transactions on Aspect-Oriented Software Development VI. LNCS, vol. 5560, pp. 191–237. Springer, Heidelberg (2009). doi:10.1007/978-3-642-03764-1_6

    Chapter  Google Scholar 

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

    Chapter  Google Scholar 

  33. 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: Brand, M., Gašević, D., Gray, J. (eds.) SLE 2009. LNCS, vol. 5969, pp. 82–102. Springer, Heidelberg (2010). doi:10.1007/978-3-642-12107-4_7

    Chapter  Google Scholar 

Download references

Acknowledgments

The authors want to thank Bernhard Westfechtel for his valuable and much appreciated comments on the draft of this paper. Furthermore, we give thanks to the anonymous reviewers and all attendees of ENASE 2016, who gave important feedback that was carefully considered during the revision of this paper.

Author information

Authors and Affiliations

Authors

Corresponding authors

Correspondence to Thomas Buchmann or Felix Schwägerl .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2016 Springer International Publishing AG

About this paper

Cite this paper

Buchmann, T., Schwägerl, F. (2016). Advancing Negative Variability in Model-Driven Software Product Line Engineering. In: Maciaszek, L., Filipe, J. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2016. Communications in Computer and Information Science, vol 703. Springer, Cham. https://doi.org/10.1007/978-3-319-56390-9_1

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-56390-9_1

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-56389-3

  • Online ISBN: 978-3-319-56390-9

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics