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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
References
Anastasopoules, M., Gacek, C.: Implementing product line variabilities. In: Proceedings of the 2001 Symposium on Software Reusability (SSR 2001), pp. 109–117 (2001)
Bass, L., Clements, P., Kazman, R.: Software Architecture in Practice. SEI Series in Software Engineering, 3rd edn. Pearson, New York (2012)
Bunge, M.: Treatise on Basic Philosophy, Ontology I: The Furniture of the World, vol. 3. Reidel, Boston (1977)
Bunge, M.: Treatise on Basic Philosophy, Ontology II: A World of Systems, vol. 4. Reidel, Boston (1979)
Clements, P.: Managing variability for software product lines: working with variability mechanisms. In: 10th International Software Product Line Conference, pp. 207–208 (2006)
Clements, P., Northrop, L.: Software Product Lines: Practices and Patterns. Addison-Wesley, Reading (2001)
Gildea, D., Jurafsky, D.: Automatic labeling of semantic roles. Comput. Linguistics 28(3), 245–288 (2002)
Jacobson, I., Griss, M., Jonsson, P.: Software Reuse: Architecture, Process, and Organization for Business Success. Addison-Wesley Longman, Reading (1997)
Morton, T., Kottmann, J., Baldridge, J., Bierner, G.: Opennlp: A java-based NLP toolkit (2005). http://opennlp.sourceforge.net
Pohl, K., Böckle, G., van der Linden, F.: Software Product-line Engineering: Foundations, Principles, and Techniques. Springer, Berlin (2005)
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)
Reinhartz-Berger, I., Sturm, A., Clark, T., Cohen, S., Bettin, J.: Domain Engineering: Product Lines, Languages, and Conceptual Models. Springer, Berlin (2013)
Sinnema, M., Deelstra, S.: Classifying variability modeling techniques. Inf. Softw. Technol. 49(7), 717–739 (2007)
Svahnberg, M., Van Gurp, J., Bosch, J.: A taxonomy of variability realization techniques. Softw. Pract. Experience 35(8), 705–754 (2005)
Wand, Y., Weber, R.: On the deep structure of information systems. J. Inf. Syst. 5(3), 203–223 (1995)
Wand, Y., Weber, R.: An ontological model of an information system. IEEE Trans. Softw. Eng. 16, 1282–1292 (1990)
Webber, D., Gomaa, H.: Modeling variability in software product lines with the variation point model. Sci. Comput. Program. 53(3), 305–331 (2004)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights 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)