Abstract
Feature-Oriented Programming (FOP) is a programming paradigm for developing programs by composing features. It is especially useful for software product line development, as each product line member implements some combinations of features. FOP attempts to modularize features and to enable their flexible composition into programs. Recent studies have shown that it is not practical to modularize and then compose features that have fine-grained impact on base programs. In this paper, we present a hybrid approach to feature modularization/composition problem. We modularize only separable features that can be well contained in dedicated files. We handle inseparable features by annotating base programs using preprocessing-like directives. We show how the hybrid approach can be achieved in XVCL, a generative technique to manage variabilities in software product lines.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
References
Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE Trans. Software Eng. 34(2), 162–180 (2008)
Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Eng. 30(6), 355–371 (2004)
Czarnecki, K., Eisenecker, U.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, MA (2000)
Jarzabek, S.: Effective Software Maintenance and Evolution: Reuse-based Approach. CRC Press, Taylor & Francis (2007)
Jarzabek, S., Zhang, H.: XML-based method and tool for handling variant requirements in domain models. In: Proc. Int’l. Symp. on Requirements Engineering (RE 2001), Toronto, Canada (2001)
Jarzabek, S., Zhang, H., Lee, Y., Xue, Y., Shaikh, N.: Increasing Usability of Preprocessing for Feature Management in Product Lines with Queries. In: Proc. ICSE 2009, Vancouver, Canada, May 2009, pp. 215–218 (2009)
Kästner, C., Apel, S., Batory, D.: A Case Study Implementing Features Using AspectJ. In: Proc. Int. Software Product Line Conference (SPLC 2007), Kyoto, Japan, September 2007, pp. 223–232 (2007)
Kästner, C., Apel, S., Kuhlemann, M.: Granularity in Software Product Lines. In: Proc. ICSE 2008, Leipzig, Germany, May 2008, pp. 311–320 (2008)
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)
Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: Proc. SIGSOFT FSE 2004, Newport Beach, CA, pp. 127–136 (2004)
Prehofer, C.: Feature-oriented programming: A new way of object composition. Concurrency and Computation: Practice and Experience 13(6), 465–501 (2001)
Sun, J., Zhang, H., Li, Y., Wang, H.: Formal Semantics and Verification for Feature Modeling. In: Proc. 10th Int. Conf. on Engineering of Complex Computer Systems (ICECCS 2005), Shanghai, June 2005, pp. 303–312 (2005)
Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. ICSE 1999, Los Angeles, CA, USA (May 1999)
Zhang, H., Jarzabek, S.: XVCL: A Mechanism for Handling Variants in Software Product Lines. Science of Computer Programming 53(3), 381–407 (2004)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Zhang, H., Jarzabek, S. (2010). A Hybrid Approach to Feature-Oriented Programming in XVCL. In: Bosch, J., Lee, J. (eds) Software Product Lines: Going Beyond. SPLC 2010. Lecture Notes in Computer Science, vol 6287. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-15579-6_33
Download citation
DOI: https://doi.org/10.1007/978-3-642-15579-6_33
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-15578-9
Online ISBN: 978-3-642-15579-6
eBook Packages: Computer ScienceComputer Science (R0)