Skip to main content

Managing Component Variability within Embedded Software Product Lines via Transformational Code Generation

  • Conference paper
Software Product-Family Engineering (PFE 2003)

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

Included in the following conference series:

Abstract

This paper presents a transformative code generation technique for the static optimization and customization of embedded software. The approach supports the development of product families by separating core functionality from variable facets. The implementation technique utilizes generative programming techniques in order to minimize runtime memory requirements and maximize performance within an embedded environment.

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 84.99
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.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. A Framework for Software Product-Line Practice – Version 4.1, Software Engineering Institute, Carnegie Mellon University, http://www.sei.cmu.edu/plp/framework.html

  2. Brownsword, L., Clements, P.: A Case Study in Successful Product Line Development. Technical Report CMU/SEI-96-TR-016, SEI, Carnegie Mellon University

    Google Scholar 

  3. Brown, T.J., Spence, I., Kilpatrick, P.: Adaptable Components for Software Product- Line Engineering. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, p. 154. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  4. Cleveland, C.: Program Generators with XML and Java. XML Book Series. Prentice Hall, Englewood Cliffs (2000) ISBN 0-7923-7311-1

    Google Scholar 

  5. Jarring, M., Bosch, J.: Representing Variability in Software Product-Lines: a Case Study. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, p. 15. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  6. van Ommering, R., Bosch, J.: Widening the Scope of Software Product Lines – From Variation to Composition. In: Chastek, G.J. (ed.) SPLC 2002. LNCS, vol. 2379, p. 328. Springer, Heidelberg (2002)

    Chapter  Google Scholar 

  7. Reenskaug, T., Anderson, E., Berre, A., Hurlen, A., Landmark, A., Lehne, O., Nord-Hagen, E., Ness-Ulseth, E., Oftedal, G., Skaar, A., Stenslet, P.: OORASS: Seamless support for the creation and maintenance of object-oriented systems. Journal of Object-Oriented Programming 5(6), 27–41 (1992)

    Google Scholar 

  8. Tarr, P., Ossher, H., Harrison, W., Sutton Jr., S.M.: N degrees of separation: Multidimensional separation of concerns. In: Proceedings of the 21st International Conference on Software Engineering (ICSE 1999), May 1999, pp. 107–119 (1999)

    Google Scholar 

  9. Kiczales, G., Lamping, J., Mendhekar, A., Maeda, C., Lopes, C.V., Loingtier, J.M., Irwin, J.: Aspect-oriented programming. In: Aksit, M., Matsuoka, S. (eds.) ECOOP 1997. LNCS, vol. 1241, pp. 220–242. Springer, Heidelberg (1997)

    Chapter  Google Scholar 

  10. Smaragdakis, Y., Batory, D.: Mixin Layers: An Object-Oriented Implementation technique for Refinements and Collaboration-Based Designs. ACM Transactions on Software Engineering and Methodology 11(2), 215–255 (2002)

    Article  Google Scholar 

  11. Myers, N.C.: Traits: a new and useful template technique. C++ Report (June 1995), http://www.cantrip.org/traits.html

  12. Brown, T.J., Spence, I.: A Relational Architecture Description Language for Software Families. In: van der Linden, F.J. (ed.) PFE 2003. LNCS, vol. 3014, pp. 282–295. Springer, Heidelberg (2004) (to appear)

    Chapter  Google Scholar 

  13. Plauger, P.L.: Embedded C++: An Overview. Embedded Systems Programming 10(13) (December 1997)

    Google Scholar 

  14. Eisenring, M., Thiele, L., Zitzler, E.: Conflicting Criteria in Embedded System Design. IEEE Design and Test 17(2), 51–59 (2000)

    Article  Google Scholar 

  15. McRitchie, I., Spence, I., Brown, T.J.: A Java Framework For The Static Reflection, Composition And Synthesis Of Software Components. In: Proc. of ACM Principles and Practice of Programming in Java 2003 (2003)

    Google Scholar 

  16. Kiczales, G., Hilsdale, E., Hugunin, J., Kersten, M., Palm, J., Griswold, W.G.: An Overview of AspectJ. In: Knudsen, J.L. (ed.) ECOOP 2001. LNCS, vol. 2072, pp. 327–353. Springer, Heidelberg (2001)

    Chapter  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2004 Springer-Verlag Berlin Heidelberg

About this paper

Cite this paper

McRitchie, I., Brown, T.J., Spence, I.T.A. (2004). Managing Component Variability within Embedded Software Product Lines via Transformational Code Generation. In: van der Linden, F.J. (eds) Software Product-Family Engineering. PFE 2003. Lecture Notes in Computer Science, vol 3014. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-24667-1_8

Download citation

  • DOI: https://doi.org/10.1007/978-3-540-24667-1_8

  • Publisher Name: Springer, Berlin, Heidelberg

  • Print ISBN: 978-3-540-21941-5

  • Online ISBN: 978-3-540-24667-1

  • eBook Packages: Springer Book Archive

Publish with us

Policies and ethics