Skip to main content

Adaptable Components for Software Product Line Engineering

  • Conference paper
  • First Online:

Part of the book series: Lecture Notes in Computer Science ((LNCS,volume 2379))

Abstract

This paper explores techniques for implementing adaptable software components. Such techniques can greatly facilitate the implementation of software product lines. The techniques we present allow the construction of large transparently adaptable components via composition and parameterization. Functional and structural adaptation, to any level of nesting, is achieved at the point of instantiation via recursive argument lists whose structure mirrors that of the component. The techniques are currently based on the C++ language, although work is under way to extend them to other languages (particularly Java™).

Java and all Java-based marks are trademarks of Sun Microsystems, Inc. in the U.S. and other countries.

This is a preview of subscription content, log in via an institution.

Buying options

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

Learn about institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. “A Framework for Software Product Line Practice-version 2”, Software Engineering Institute, Carnegie Mellon University.

    Google Scholar 

  2. “Adaptation of Software Components”, George T. Heineman, Technical Report TR-99-04 Worcester Polytechnic Institute, 1999.

    Google Scholar 

  3. “Composing Software Systems from Adaptable Software Components”, George T. Heineman, Technical Report TR-97-9, Worcester Polytechnic Institute, 1997.

    Google Scholar 

  4. “Higher Order + Polymorphic = Reusable”, Simon Thompson, unpublished manuscript available from the Computing Laboratory, University of Kent. (http://www.cs.ukc.ac.uk/pubs/1997).

  5. “Design Patterns: Elements of Reusable Object Oriented Software”, by Erich Gamma, Richard Helm, Ralph Johnson and John Vlissades, Addison-Wesley Publishing Co. 1995.

    Google Scholar 

  6. “An improved variant type based on member Templates”, Fernando Cacciola, C/C++ Users Journal October 2000.

    Google Scholar 

  7. “Component-based Product development of Avionics Software”, David C. Sharp, The Boeing Company, published in Software Product Lines: Experience and Research Directions ed. Patrick Donohoe pp 353–369 Kluwer Academic Publishers, August 2000.

    Google Scholar 

  8. “Skeletal Parallelism HomePage”, at http://www.dcs.ed.ac.uk/home/mic/skeletons.html, maintained by Murray Cole.

  9. “Mixin-Based Programming in C++”, Y. Smaragdakis and D. Batory, Second International Symposium on Generative and Component-Based Software Engineering (GCSE 2000), Erfurt, Germany, October 9–12, 2000.

    Google Scholar 

  10. “Implementing Layered designs with Mixin layers”, Y. Smaragdakis and D. Batory, ECOOP1998.

    Google Scholar 

  11. “Tuples and Multiple Return Values in C++”, J. Jarvi, Technical Report TR No 249. Turku Centre for Computer Science, Finland.

    Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2002 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

Brown, T.J., Spence, I., Kilpatrick, P., Crookes, D. (2002). Adaptable Components for Software Product Line Engineering. In: Chastek, G.J. (eds) Software Product Lines. SPLC 2002. Lecture Notes in Computer Science, vol 2379. Springer, Berlin, Heidelberg. https://doi.org/10.1007/3-540-45652-X_10

Download citation

  • DOI: https://doi.org/10.1007/3-540-45652-X_10

  • Published:

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-43985-1

  • Online ISBN: 978-3-540-45652-0

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics