Abstract
Software development for embedded systems gains momentum but faces many challenges. Especially the constraints of deeply embedded systems, i.e., extreme resource and performance constraints, seem to prohibit the successful application of modern and approved programming and modularization techniques. In this paper we indicate that this objection is not necessarily justified. We propose to use refinement chain optimization to tailor and streamline feature-oriented designs to satisfy the resource constraints of (deeply) embedded systems. By means of a quantitative analysis of a case study we show that our proposal leads to a performance and footprint improvement significant for (deeply) embedded systems.
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Driesen, K., Hölzle, U.: The Direct Cost of Virtual Function Calls in C++. In: OOPSLA (1996)
Calder, B., Grunwald, D., Zorn, B.: Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages 2(4) (1994)
Lohmann, D., Schröder-Preikschat, W., Spinczyk, O.: On the Design and Development of a Customizable Embedded Operating System. In: Proceedings of the International Workshop on Dependable Embedded Systems (2004)
Beuche, D., Guerrouat, A., Papajewski, H., Schröder-Preikschat, W., Spinczyk, O., Spinczyk, U.: The PURE Family of Object-Oriented Operating Systems for Deeply Embedded Systems. In: ISORC (1999)
Beuche, D., Meyer, R., Schröder-Preikschat, W., Spinczyk, O., Spinczyk, U.: Streamlined PURE Systems. In: Bertino, E. (ed.) ECOOP 2000. LNCS, vol. 1850, Springer, Heidelberg (2000)
Sangiovanni-Vincentelli, A., Martin, G.: Platform-Based Design and Software Design Methodology for Embedded Systems. IEEE Design & Test of Computers 18(6), 23–33 (2001)
Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Stepwise Refinement. IEEE Transactions on Software Engineering 30(6) (2004)
Prehofer, C.: Feature-Oriented Programming: A Fresh Look at Objects. In: ECOOP (1997)
Apel, S., Leich, T., Saake, G.: Aspectual Mixin Layers: Aspects and Features in Concert. In: ICSE (2006)
Apel, S., Batory, D.: When to Use Features and Aspects? A Case Study. In: GPCE (2006)
Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: ACM SIGSOFT FSE, ACM Press, New York (2004)
Lieberherr, K., Lorenz, D.H., Ovlinger, J.: Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal 46(5) (2003)
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) (2002)
VanHilst, M., Notkin, D.: Using Role Components in Implement Collaboration-based Designs. In: OOPSLA (1996)
Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)
Apel, S., Kuhlemann, M., Leich, T.: Generic Feature Modules: Two-Dimensional Program Customization. In: ICSOFT (2006)
Apel, S., et al.: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In: GPCE (2005)
Calder, B., Grunwald, D.: Reducing Indirect Function Call Overhead in C++ Programs. In: POPL (1994)
Calder, B., Grunwald, D., Zorn, B.: Quantifying Behavioral Differences Between C and C+ + Programs. Journal of Programming Languages 2(4) (1994)
Dean, J., Grove, D., Chambers, C.: Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis. In: ECOOP (1995)
Pande, H.D., Ryder, B.G.: Static Type Determination for C++. In: C++ Conference (1994)
Aigner, G., Hölzle, U.: Eliminating Virtual Function Calls in C++ Programs. In: ECCOP (1996)
Friedrich, M., et al.: Efficient Object-Oriented Software with Design Patterns. In: GCSE (2000)
Martin, G., Lavagno, L., Louis-Guerin, J.: Embedded UML: a merger of real-time UML and co-design. In: Proceedings of the ninth international symposium on Hardware/software codesign (CODES) (2001)
Lee, C., Nordstedt, D., Helal, S.: Enabling Smart Spaces with OSGi. IEEE Pervasive Computing 2(3), 89–94 (2003)
Author information
Authors and Affiliations
Editor information
Rights and permissions
Copyright information
© 2007 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Kuhlemann, M., Apel, S., Leich, T. (2007). Streamlining Feature-Oriented Designs. In: Lumpe, M., Vanderperren, W. (eds) Software Composition. SC 2007. Lecture Notes in Computer Science, vol 4829. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-540-77351-1_14
Download citation
DOI: https://doi.org/10.1007/978-3-540-77351-1_14
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-540-77350-4
Online ISBN: 978-3-540-77351-1
eBook Packages: Computer ScienceComputer Science (R0)