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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
A Framework for Software Product-Line Practice – Version 4.1, Software Engineering Institute, Carnegie Mellon University, http://www.sei.cmu.edu/plp/framework.html
Brownsword, L., Clements, P.: A Case Study in Successful Product Line Development. Technical Report CMU/SEI-96-TR-016, SEI, Carnegie Mellon University
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)
Cleveland, C.: Program Generators with XML and Java. XML Book Series. Prentice Hall, Englewood Cliffs (2000) ISBN 0-7923-7311-1
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)
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)
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)
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)
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)
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)
Myers, N.C.: Traits: a new and useful template technique. C++ Report (June 1995), http://www.cantrip.org/traits.html
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)
Plauger, P.L.: Embedded C++: An Overview. Embedded Systems Programming 10(13) (December 1997)
Eisenring, M., Thiele, L., Zitzler, E.: Conflicting Criteria in Embedded System Design. IEEE Design and Test 17(2), 51–59 (2000)
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)
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)
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights 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