Skip to main content

Language-Independent Quantification and Weaving for Feature Composition

  • Conference paper
Software Composition (SC 2009)

Part of the book series: Lecture Notes in Computer Science ((LNPSE,volume 5634))

Included in the following conference series:

Abstract

Based on a general model of feature composition, we present a composition language that enables programmers by means of quantification and weaving to formulate extensions to programs written in different languages. We explore the design space of composition languages that rely on quantification and weaving and discuss our choices. We outline a tool that extends an existing infrastructure for feature composition and discuss results of three initial case studies. We found that, due to its language independence, our approach is less powerful than aspect-oriented languages but still usable for many implementation problems.

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

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

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

    Google Scholar 

  2. Apel, S., Lengauer, C.: Superimposition: A Language-Independent Approach to Software Composition. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 20–35. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  3. Apel, S., Lengauer, C., Möller, B., Kästner, C.: An Algebra for Features and Feature Composition. In: Proc. Int. Conf. Algebraic Methodology and Software Technology, pp. 36–50. Springer, Heidelberg (2008)

    Chapter  Google Scholar 

  4. Apel, S., Kästner, C., Lengauer, C.: FeatureHouse: Language-Independent, Automatic Software Composition. In: Proc. Int. Conf. Software Engineering. IEEE CS, Los Alamitos (2009)

    Google Scholar 

  5. Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Step-Wise Refinement. IEEE Trans. Software Engineering 30(6), 355–371 (2004)

    Article  Google Scholar 

  6. Bergel, A., Ducasse, S., Nierstrasz, O.: Classbox/J: Controlling the Scope of Change in Java. In: Proc. Int. Conf. Object-Oriented Programming, Systems, Languages, and Applications, pp. 177–189. ACM Press, New York (2005)

    Google Scholar 

  7. Apel, S., Leich, T., Rosenmüller, M., Saake, G.: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In: Proc. Int. Conf. Generative Programming and Component Engineering, pp. 125–140. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

  8. Anfurrutia, F., Díaz, Ó., Trujillo, S.: On Refining XML Artifacts. In: Baresi, L., Fraternali, P., Houben, G.-J. (eds.) ICWE 2007. LNCS, vol. 4607, pp. 473–478. Springer, Heidelberg (2007)

    Chapter  Google Scholar 

  9. Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: Proc. Int. Symp. Foundations of Software Eng., pp. 127–136. ACM Press, New York (2004)

    Google Scholar 

  10. Apel, S., Leich, T., Saake, G.: Aspectual Feature Modules. IEEE Trans. Software Engineering 34(2), 162–180 (2008)

    Article  Google Scholar 

  11. Lieberherr, K., Patt-Shamir, B., Orleans, D.: Traversals of Object Structures: Specification and Efficient Implementation. ACM Trans. Programming Languages and Systems 26(2), 370–412 (2004)

    Article  Google Scholar 

  12. Lämmel, R., Visser, E., Visser, J.: Strategic Programming Meets Adaptive Programming. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 168–177. ACM Press, New York (2003)

    Chapter  Google Scholar 

  13. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C., Loingtier, J.M., Irwin, J.: Aspect-Oriented Programming. In: Proc. Europ. Conf. Object-Oriented Programming, pp. 220–242. Springer, Heidelberg (1997)

    Google Scholar 

  14. Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.: N Degrees of Separation: Multi-Dimensional Separation of Concerns. In: Proc. Int. Conf. Software Engineering, pp. 107–119. IEEE CS, Los Alamitos (1999)

    Google Scholar 

  15. Visser, E., Benaissa, Z., Tolmach, A.: Building Program Optimizers with Rewriting Strategies. In: Proc. Int. Conf. Functional Programming, pp. 13–26. ACM Press, New York (1998)

    Google Scholar 

  16. Visser, J.: Visitor Combination and Traversal Control. In: Proc. Int. Conf. Object-Oriented Programming, Systems, Languages, and Applications, pp. 270–282. ACM Press, New York (2001)

    Google Scholar 

  17. Kiczales, G., Des Rivieres, J.: The Art of the Metaobject Protocol. MIT Press, Cambridge (1991)

    Google Scholar 

  18. Apel, S., Janda, F., Trujillo, S., Kästner, C.: Model Superimposition in Software Product Lines. In: Proc. Int. Conf. Model Transformation. Springer, Heidelberg (2009)

    Google Scholar 

  19. Apel, S., Kästner, C., Größlinger, A., Lengauer, C.: Feature (De)composition in Functional Programming. In: Proc. Int. Symp. Software Composition. Springer, Heidelberg (2009)

    Google Scholar 

  20. Filman, R., Friedman, D.: Aspect-Oriented Programming Is Quantification and Obliviousness. In: Aspect-Oriented Software Development, pp. 21–35. Addison-Wesley, Reading (2005)

    Google Scholar 

  21. Lopez-Herrejon, R., Batory, D.: A Standard Problem for Evaluating Product-Line Methodologies. In: Proc. Int. Conf. Generative and Component-Based Software Engineering, pp. 10–24. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

  22. Apel, S., Batory, D.: How AspectJ is Used: An Analysis of Eleven AspectJ Programs. Technical Report MIP-0801, Dept. of Informatics and Mathematics, University of Passau (2008)

    Google Scholar 

  23. Lämmel, R.: Scrap Your Boilerplate with XPath-like Combinators. In: Proc. Int. Symp. Principles of Programming Languages, pp. 137–142. ACM Press, New York (2007)

    Google Scholar 

  24. Hilsdale, E., Hugunin, J.: Advice Weaving in AspectJ. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 26–35. ACM Press, New York (2004)

    Chapter  Google Scholar 

  25. Gray, J., Roychoudhury, S.: A Technique for Constructing Aspect Weavers using a Program Transformation Engine. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 36–45. ACM Press, New York (2004)

    Chapter  Google Scholar 

  26. Gybels, K., Brichau, J.: Arranging Language Features for More Robust Pattern-Based Crosscuts. In: Proc. Int. Conf. Aspect-Oriented Software Development, pp. 60–69. ACM Press, New York (2003)

    Chapter  Google Scholar 

  27. Ostermann, K., Mezini, M., Bockisch, C.: Expressive Pointcuts for Increased Modularity. In: Black, A.P. (ed.) ECOOP 2005. LNCS, vol. 3586, pp. 214–240. Springer, Heidelberg (2005)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2009 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Boxleitner, S., Apel, S., Kästner, C. (2009). Language-Independent Quantification and Weaving for Feature Composition. In: Bergel, A., Fabry, J. (eds) Software Composition. SC 2009. Lecture Notes in Computer Science, vol 5634. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-02655-3_5

Download citation

  • DOI: https://doi.org/10.1007/978-3-642-02655-3_5

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-642-02654-6

  • Online ISBN: 978-3-642-02655-3

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics