Skip to main content

Taming Software Variability: Ontological Foundations of Variability Mechanisms

  • Conference paper
  • First Online:
Conceptual Modeling (ER 2015)

Part of the book series: Lecture Notes in Computer Science ((LNISA,volume 9381))

Included in the following conference series:

Abstract

Variability mechanisms are techniques applied to adapt software product line (SPL) artifacts to the context of particular products, promoting systematic reuse of those artifacts. Despite the large variety of mechanisms reported in the literature, a catalog of variability mechanisms is built ad-hoc and lacks systematization. In this paper we propose an ontologically-grounded theoretical framework for mathematically characterizing well-known variability mechanisms based on analysis of software behavior. We distinguish between variability in the product dimension, which refers to differences in the sets of product’s behaviors, and variability in the element dimension, which focuses on differences in the particular behaviors.

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

References

  1. Anastasopoules, M., Gacek, C.: Implementing product line variabilities. In: Proceedings of the 2001 Symposium on Software Reusability (SSR 2001), pp. 109–117 (2001)

    Google Scholar 

  2. Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Pearson, New York (2012)

    Google Scholar 

  3. Bunge, M.: Treatise on Basic Philosophy, Ontology I: The Furniture of the World, vol. 3. Reidel, Boston (1977)

    Book  MATH  Google Scholar 

  4. Bunge, M.: Treatise on Basic Philosophy, Ontology II: A World of Systems, vol. 4. Reidel, Boston (1979)

    Book  MATH  Google Scholar 

  5. Clements, P.: Managing variability for software product lines: working with variability mechanisms. In: 10th International Software Product Line Conference, pp. 207–208 (2006)

    Google Scholar 

  6. Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)

    Google Scholar 

  7. Gildea, D., Jurafsky, D.: Automatic labeling of semantic roles. Comput. Linguistics 28(3), 245–288 (2002)

    Article  Google Scholar 

  8. Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process, and Organization for Business Success. Addison-Wesley Longman, Reading (1997)

    Google Scholar 

  9. Morton, T., Kottmann, J., Baldridge, J., Bierner, G.: Opennlp: A java-based NLP toolkit (2005).‏ http://opennlp.sourceforge.net

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

    Book  MATH  Google Scholar 

  11. Reinhartz-Berger, I., Itzik, N., Wand, Y.: Analyzing variability of software product lines using semantic and ontological considerations. In: Jarke, M., Mylopoulos, J., Quix, C., Rolland, C., Manolopoulos, Y., Mouratidis, H., Horkoff, J. (eds.) CAiSE 2014. LNCS, vol. 8484, pp. 150–164. Springer, Heidelberg (2014)

    Google Scholar 

  12. Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., Bettin, J.: Domain Engineering: Product Lines, Languages, and Conceptual Models. Springer, Berlin (2013)

    Book  Google Scholar 

  13. Sinnema, M., Deelstra, S.: Classifying variability modeling techniques. Inf. Softw. Technol. 49(7), 717–739 (2007)

    Article  Google Scholar 

  14. Svahnberg, M., Van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Experience 35(8), 705–754 (2005)

    Article  Google Scholar 

  15. Wand, Y., Weber, R.: On the deep structure of information systems. J. Inf. Syst. 5(3), 203–223 (1995)

    Article  Google Scholar 

  16. Wand, Y., Weber, R.: An ontological model of an information system. IEEE Trans. Softw. Eng. 16, 1282–1292 (1990)

    Article  Google Scholar 

  17. Webber, D., Gomaa, H.: Modeling variability in software product lines with the variation point model. Sci. Comput. Program. 53(3), 305–331 (2004)

    Article  MathSciNet  MATH  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Iris Reinhartz-Berger .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2015 Springer International Publishing Switzerland

About this paper

Cite this paper

Reinhartz-Berger, I., Zamansky, A., Wand, Y. (2015). Taming Software Variability: Ontological Foundations of Variability Mechanisms. In: Johannesson, P., Lee, M., Liddle, S., Opdahl, A., Pastor López, Ó. (eds) Conceptual Modeling. ER 2015. Lecture Notes in Computer Science(), vol 9381. Springer, Cham. https://doi.org/10.1007/978-3-319-25264-3_29

Download citation

  • DOI: https://doi.org/10.1007/978-3-319-25264-3_29

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-319-25263-6

  • Online ISBN: 978-3-319-25264-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics