A Three-Tier Approach for Composition of Real-Time Embedded Software Stacks

  • Frédéric Loiret
  • Lionel Seinturier
  • Laurence Duchien
  • David Servat
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6092)


Many component models and frameworks have been proposed to abstract and capture concerns from Real-Time and Embedded application domains, based on high-level component-based approaches. However, these approaches tend to propose their own fixed-set abstractions and ad-hoc runtime platforms, whereas the current trend emphasizes more flexible solutions, as embedded systems must constantly integrate new functionalities, while preserving performance. In this paper, we present a two-fold contribution addressing this statement. First, we propose to express these concerns in a decoupled way from the commonly accepted structural abstractions inherent to CBSE, and provide a framework to implement them in open and extensible runtime containers. Second, we propose a three-tier approach to composition where application, containers and the underlying operating system are designed using components. Supporting a homogeneous design space allows applying optimization techniques at these three abstraction layers showing that our approach does not impact on performance. In this paper, we focus our evaluation on concerns specific to the field of real-time audio and music applications.


Object Constraint Language Application Developer Applicative Component Audio Stream Component Framework 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Automotive Open System Architecture (AUTOSAR),
  2. 2.
    MicroC/OS-II: The Real-Time Kernel. CMP Media, Inc., USA (2002)Google Scholar
  3. 3.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.-B.: The Fractal Component Model and its Support in Java: Experiences with Auto-adaptive and Reconfigurable Systems. Software Practice & Experience 36(11-12), 1257–1284 (2006)CrossRefGoogle Scholar
  4. 4.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. Addison-Wesley, Reading (2002)Google Scholar
  5. 5.
    Fassino, J.-P., Stefani, J.-B., Lawall, J., Muller, G.: THINK: A Software Framework for Component-based Operating System Kernels. In: Proceedings of the USENIX Annual Technical Conference, June 2002, pp. 73–86 (2002)Google Scholar
  6. 6.
    Feiler, P.H., Lewis, B., Vestal, S., Colbert, E.: An overview of the SAE Architecture & Design Language (AADL) Standart: A Basis for Model-Based Architecture-Driven Embedded Systems Engineering. In: Architecture Description Language, workshop at IFIP World Computer Congress (2004)Google Scholar
  7. 7.
    Ford, B., Back, G., Benson, G., Lepreau, J., Lin, A., Shivers, O.: The Flux OSKit A Substrate for Kernel and Language Research. In: Proceedings of the sixteenth ACM symposium on Operating Systems Principles, pp. 38–51 (1997)Google Scholar
  8. 8.
    Fuentes, L., Vallecillo, A.: An Introduction to UML Profiles. UPGRADE, The European Journal for the Informatics Professional, 5–13 (April 2004)Google Scholar
  9. 9.
    Hansson, H., Akerholm, M., Crnkovic, I., Torngren, M.: SaveCCM - A Component Model for Safety-Critical Real-Time Systems. In: EUROMICRO 2004: Proceedings of the 30th EUROMICRO Conference, Washington, DC, USA, pp. 627–635. IEEE Computer Society, Los Alamitos (2004)CrossRefGoogle Scholar
  10. 10.
    Levis, P., Madden, S., Polastre, J., Szewczyk, R., Whitehouse, K., Woo, A., Gay, D., Hill, J., Welsh, M., Brewer, E., Culler, D.: TinyOS: An Operating System for Sensor Networks. Ambient Intelligence, 115–148 (2005)Google Scholar
  11. 11.
    Lobry, O., Navas, J., Babau, J.-P.: Optimizing Component Based Embedded Software. In: Int. Conf. on Computer Software and Applications, vol. 2, pp. 491–496 (2009)Google Scholar
  12. 12.
    Lobry, O., Polakovic, J.: Controlling the Performance Overhead of Component-Based Systems. In: Software Composition, pp. 149–156. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  13. 13.
    Loiret, F., Malohlava, M., Plšek, A., Merle, P., Seinturier, L.: Constructing Domain-Specific Component Frameworks through Architecture Refinement. In: 35th Euromicro Conf. on Software Engineering and Advanced Applications (SEAA 2009), August 2009, pp. 375–382 (2009)Google Scholar
  14. 14.
    Loiret, F., Navas, J., Babau, J.-P., Lobry, O.: Component-Based Real-Time Operating System for Embedded Applications. In: Lewis, G.A., Poernomo, I., Hofmeister, C. (eds.) CBSE 2009. LNCS, vol. 5582, pp. 209–226. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  15. 15.
    Massa, A.: Embedded Software Development with eCos. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  16. 16.
    Mencl, V., Bures, T.: Microcomponent-Based Component Controllers: A Foundation for Component Aspects. In: Asia-Pacific Software Engineering Conf., pp. 729–737 (2005)Google Scholar
  17. 17.
    Moreno, G.A.: Creating Custom Containers with Generative Techniques. In: 5th Int. Conf. on Generative Programming and Component Engineering (GPCE 2006), pp. 29–38. ACM, New York (2006)CrossRefGoogle Scholar
  18. 18.
    Noguera, C., Loiret, F.: Checking Architectural and Implementation Constraints for Domain Specific Component Frameworks using Models. In: 35th Euromicro Conf. on Software Engineering and Advanced Applications (SEAA 2009), August 2009, pp. 125–132 (2009)Google Scholar
  19. 19.
    OMG. UML 2.0 Object Constraint Language (OCL) SpecificationGoogle Scholar
  20. 20.
    OMG. Object Management Group: Unified Modeling Language – Superstructure Version 2.1.1 (2007)Google Scholar
  21. 21.
    Plšek, A., Loiret, F., Merle, P., Seinturier, L.: A Component Framework for Java-based RealTime Embedded Systems. In: Proceedings of the 9th ACM/IFIP/USENIX International Conference on Middleware (Middleware 2008), Leuven, Belgium, December 2008, pp. 124–143. Springer, Heidelberg (2008)Google Scholar
  22. 22.
    Reid, A., Flatt, M., Stoller, L., Lepreau, J., Eide, E.: Knit: Component Composition for Systems Software. In: Proc. of the Fourth Symposium on Operating Systems Design and Implementation, pp. 347–360 (2000)Google Scholar
  23. 23.
    Seinturier, L., Pessemier, N., Duchien, L., Coupaye, T.: A Component Model Engineered with Components and Aspects. In: Gorton, I., Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2006. LNCS, vol. 4063, pp. 139–153. Springer, Heidelberg (2006)CrossRefGoogle Scholar
  24. 24.
    van Ommering, R., van der Linden, F., Kramer, J., Magee, J.: The Koala Component Model for Consumer Electronics Software. Computer 33(3), 78–85 (2000)CrossRefGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Frédéric Loiret
    • 1
  • Lionel Seinturier
    • 1
  • Laurence Duchien
    • 1
  • David Servat
    • 2
  1. 1.INRIA-Lille, Nord Europe, Project ADAMUniv. Lille 1 - LIFL CNRS UMR 8022France
  2. 2.CEA, LIST, Laboratory of Model Driven Engineering for Embedded SystemsGif-sur-YvetteFrance

Personalised recommendations