Bringing Ease and Adaptability to MPSoC Software Design: A Component-Based Approach

  • Ali Erdem Özcan
  • Sébastien Jean
  • Jean-Bernard Stefani
Part of the Lecture Notes in Computer Science book series (LNCS, volume 3956)


Multi-Processor Systems-on-Chips (MPSoCs) gather multiple processors and hardware accelerators in a single chip to meet the performance and energy consumption requirements of mobile devices. To follow the rapid evolution of such applications, the MPSoC community need flexible and programmable platforms intended to be diverted to many use cases, and hence consider definitely the software as one of the main aspects of the system design. To deal with an ever growing complexity when designing for such heterogeneous and evolving platforms, software developers have to adopt a novel software design methodology that encourages the software customization through modularity, reuse and module assembly to build systems and applications. Component-based Software Engineering (CBSE), enabling software customization by adding, removing and substituting components seems to be adequate to reach that goal. We investigate this area while developing Think, a lightweight implementation of the Fractal component model, which applies CBSE principles down to the lowest software layer: the operating system. Think allows various kinds of communication semantics from simple method invocations to RPC, recursive component composition, and comes with retargetable configuration and specification tools. In this paper, we show how Think can make flexible and customizable the operating system and application design for MPSoC a reality.


Server Interface Composite Component Hardware Accelerator Architecture Description Language Distribute Operating System 
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.
    Moore, G.: Cramming More Components into Integrated Circuits. Electronics 38(8) (April 1965)Google Scholar
  2. 2.
    Szyperski, C.: Component Software, 2nd edn. Addison-Wesley Prfessional, Reading (2002)MATHGoogle Scholar
  3. 3.
    Bruneton, E., Coupaye, T., Stefani, J.B.: Recursive and Dynamic Software Composition with Sharing. In: Proceedings of 7th International Workshop on Component-Oriented Programming (WCOP 2002), ECOOP 2002, Spain (June 2002)Google Scholar
  4. 4.
    Object Management Group: CORBA Component Model (CCM),
  5. 5.
    Sun Microsystems: EJB Specification,
  6. 6.
    Fassino, J.-P., et al.: THINK: A Software Framework for Component-based Operating System Kernels. In: USENIX Annual Technical Conference (2002)Google Scholar
  7. 7.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: An open component model and its support in java. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 7–22. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  8. 8.
    Medvidovic, N., Taylor, R.N.: A Classification and Comparison Framework for Software Architecture Description Languages. IEEE Transactions on Software Engineering 26(1) (2000)Google Scholar
  9. 9.
    Friedrich, L.F., Stankovic, J., Humphrey, M., Marley, M., Haskins, J.: A Survey of Configurable, Component-Based Operating Systems for Embedded Applications. IEEE Micro 21(3) (May 2001)Google Scholar
  10. 10.
    Campbell, R., et al.: Designing and Implementing Choices: An Object-Oriented System in C++. Communications of the ACM 36(9) (September 1993)Google Scholar
  11. 11.
    Ford, B., et al.: The Flux OSKit: A Substrate for Kernel and Language Research. In: Proceedings of 16th ACM Symposium on Operating Systems Principles (SOSP). ACM Press, New York (1997)Google Scholar
  12. 12.
    Beuche, D., et al.: The PURE Family of Object-Oriented Operating Systems for Deeply Embedded Systems. In: Proceedings 2nd IEEE International Symposium on Object-Oriented Real-Time Distributed Computing, Piscataway (1999)Google Scholar
  13. 13.
    Gabber, E., et al.: The Pebble Component-Based Operating System. In: Proceedings of USENIX Annual Technical Conference, USENIX Association (1999)Google Scholar
  14. 14.
    Bruneton, E., Coupaye, T., Stefani, J.B.: The Fractal Specification, version 2.0.3 (February 2004),
  15. 15.
    Fractal web site,
  16. 16.
  17. 17.
    Layaïda, O., Özcan, A.E., Stefani, J.B.: A Component-based Approach for MPSoC SW Design: Experience with OS Customization for H.264 Decoding. In: Proceedings of 3rd ESTIMEDIA Workshop under CODES+ISSS, New York, USA (September 2005)Google Scholar
  18. 18.
    JVT Software Page, JM/TML Software Coordination,

Copyright information

© Springer-Verlag Berlin Heidelberg 2006

Authors and Affiliations

  • Ali Erdem Özcan
    • 1
  • Sébastien Jean
    • 2
  • Jean-Bernard Stefani
    • 2
  1. 1.Advanced Technology Lab. STMicroelectronicsSwitzerland
  2. 2.SARDES Project, INRIA Rhône-AlpesFrance

Personalised recommendations