Abstract
Software product line engineering (SPLE) emerged as a successful software reuse paradigm. The essence of SPLE is the process of factoring out commonalities and systematizing variabilities, that is, differences, among the products in a SPL. In this talk, I will take the position that this process is the very act of abstraction. Thus, as suggested by Coplien et al. [8], the purpose of abstraction mechanisms, such as subroutines and inheritance in programming languages and architectural patterns and platforms in architectural design, is to support factoring out commonalities and making variabilities explicit.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Similar content being viewed by others
References
Apel, S., Lengauer, C., Möller, B., Kästner, C.: An algebra for features and feature composition. In: Bevilacqua, V., Roşu, G. (eds.) AMAST 2008. LNCS, vol. 5140, pp. 36–50. Springer, Heidelberg (2008)
Bąk, K., Czarnecki, K., Wąsowski, A.: Feature and meta-models in clafer: Mixed, specialized, and coupled. In: Malloy, B., Staab, S., van den Brand, M. (eds.) SLE 2010. LNCS, vol. 6563, pp. 102–122. Springer, Heidelberg (2011)
Batory, D., Sarvela, J.N., Rauschmayer, A.: Scaling step-wise refinement. IEEE TSE 30, 355–371 (2004)
Benavides, D., Segura, S., Ruiz-Cortés, A.: Automated analysis of feature models 20 years later: a literature review. Information Systems 35(6) (2010)
Berger, T., She, S., Lotufo, R., WÄ…sowski, A., Czarnecki, K.: Variability modeling in the real: a perspective from the operating systems domain. In: ASE (2010)
Clarke, D., Helvensteijn, M., Schaefer, I.: Abstract delta modeling. In: GPCE 2010 (2010)
Classen, A., Heymans, P., Schobbens, P.Y., Legay, A., Raskin, J.F.: Model checking lots of systems: efficient verification of temporal properties in software product lines. In: ICSE, pp. 335–344 (2010)
Coplien, J., Hoffman, D., Weiss, D.: Commonality and variability in software engineering. IEEE Softw. 15, 37–45 (1998)
Czarnecki, K., Pietroszek, K.: Verifying feature-based model templates against well-formedness OCL constraints. In: GPCE 2006 (2006)
Czarnecki, K., Antkiewicz, M.: Mapping features to models: A template approach based on superimposed variants. In: Glück, R., Lowry, M. (eds.) GPCE 2005. LNCS, vol. 3676, pp. 422–437. Springer, Heidelberg (2005)
Czarnecki, K., Eisenecker, U.W.: Generative programming: methods, tools, and applications. ACM Press/Addison-Wesley Publishing Co. (2000)
Czarnecki, K., Peter Kim, C.H., Kalleberg, K.T.: Feature models are views on ontologies. In: SPLC (2006)
Erwig, M., Walkingshaw, E.: The choice calculus: A representation for software variation. In: ACM TOSEM (to appear, 2011)
Haugen, O., Møller-Pedersen, B., Oldevik, J., Olsen, G.K., Svendsen, A.: Adding standardized variability to domain specific languages. In: SPLC (2008)
Kang, K., Cohen, S., Hess, J., Nowak, W., Peterson, S.: Feature-oriented domain analysis (FODA) feasibility study. Tech. Rep. CMU/SEI-90-TR-21, CMU (1990)
Kästner, C.: Virtual Separation of Concerns: Toward Preprocessors 2.0. Ph.D. thesis, University of Magdeburg (May 2010)
Kästner, C., Apel, S., Thüm, T., Saake, G.: Type checking annotation-based product lines. In: ACM TOSEM (to appear, 2011)
Object Management Group: Common variability language (CVL) RFP. Document ad/2009-12-03 (2009)
Schmid, K., Rabiser, R., Grünbacher, P.: A comparison of decision modeling approaches in product lines. In: VaMoS, pp. 119–126 (2011)
She, S., Lotufo, R., Berger, T., Wasowski, A., Czarnecki, K.: The variability model of the Linux kernel. In: VaMoS, pp. 45–51 (2010)
Veldhuizen, T.L.: Parsimony principles for software components and metalanguages. In: GPCE (2007)
Voelter, M., Groher, I.: Product line implementation using aspect-oriented and model-driven software development. In: SPLC (2007)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2011 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Czarnecki, K. (2011). Understanding Variability Abstraction and Realization. In: Schmid, K. (eds) Top Productivity through Software Reuse. ICSR 2011. Lecture Notes in Computer Science, vol 6727. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-21347-2_1
Download citation
DOI: https://doi.org/10.1007/978-3-642-21347-2_1
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-21346-5
Online ISBN: 978-3-642-21347-2
eBook Packages: Computer ScienceComputer Science (R0)