Skip to main content

Streamlining Feature-Oriented Designs

  • Conference paper
Software Composition (SC 2007)

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

Included in the following conference series:

  • 282 Accesses

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.

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

Access this chapter

Institutional subscriptions

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Similar content being viewed by others

References

  1. Driesen, K., Hölzle, U.: The Direct Cost of Virtual Function Calls in C++. In: OOPSLA (1996)

    Google Scholar 

  2. Calder, B., Grunwald, D., Zorn, B.: Quantifying Behavioral Differences Between C and C++ Programs. Journal of Programming Languages 2(4) (1994)

    Google Scholar 

  3. 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)

    Google Scholar 

  4. 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)

    Google Scholar 

  5. 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)

    Google Scholar 

  6. 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)

    Article  Google Scholar 

  7. Batory, D., Sarvela, J., Rauschmayer, A.: Scaling Stepwise Refinement. IEEE Transactions on Software Engineering 30(6) (2004)

    Google Scholar 

  8. Prehofer, C.: Feature-Oriented Programming: A Fresh Look at Objects. In: ECOOP (1997)

    Google Scholar 

  9. Apel, S., Leich, T., Saake, G.: Aspectual Mixin Layers: Aspects and Features in Concert. In: ICSE (2006)

    Google Scholar 

  10. Apel, S., Batory, D.: When to Use Features and Aspects? A Case Study. In: GPCE (2006)

    Google Scholar 

  11. Mezini, M., Ostermann, K.: Variability Management with Feature-Oriented Programming and Aspects. In: ACM SIGSOFT FSE, ACM Press, New York (2004)

    Google Scholar 

  12. Lieberherr, K., Lorenz, D.H., Ovlinger, J.: Aspectual Collaborations: Combining Modules and Aspects. The Computer Journal 46(5) (2003)

    Google Scholar 

  13. 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)

    Google Scholar 

  14. VanHilst, M., Notkin, D.: Using Role Components in Implement Collaboration-based Designs. In: OOPSLA (1996)

    Google Scholar 

  15. Czarnecki, K., Eisenecker, U.W.: Generative Programming: Methods, Tools, and Applications. Addison-Wesley, Reading (2000)

    Google Scholar 

  16. Apel, S., Kuhlemann, M., Leich, T.: Generic Feature Modules: Two-Dimensional Program Customization. In: ICSOFT (2006)

    Google Scholar 

  17. Apel, S., et al.: FeatureC++: On the Symbiosis of Feature-Oriented and Aspect-Oriented Programming. In: GPCE (2005)

    Google Scholar 

  18. Calder, B., Grunwald, D.: Reducing Indirect Function Call Overhead in C++ Programs. In: POPL (1994)

    Google Scholar 

  19. Calder, B., Grunwald, D., Zorn, B.: Quantifying Behavioral Differences Between C and C+ + Programs. Journal of Programming Languages 2(4) (1994)

    Google Scholar 

  20. Dean, J., Grove, D., Chambers, C.: Optimization of Object-Oriented Programs Using Static Class Hierarchy Analysis. In: ECOOP (1995)

    Google Scholar 

  21. Pande, H.D., Ryder, B.G.: Static Type Determination for C++. In: C++ Conference (1994)

    Google Scholar 

  22. Aigner, G., Hölzle, U.: Eliminating Virtual Function Calls in C++ Programs. In: ECCOP (1996)

    Google Scholar 

  23. Friedrich, M., et al.: Efficient Object-Oriented Software with Design Patterns. In: GCSE (2000)

    Google Scholar 

  24. 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)

    Google Scholar 

  25. Lee, C., Nordstedt, D., Helal, S.: Enabling Smart Spaces with OSGi. IEEE Pervasive Computing 2(3), 89–94 (2003)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Editor information

Markus Lumpe Wim Vanderperren

Rights and permissions

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

Publish with us

Policies and ethics