Component-Based Real-Time Operating System for Embedded Applications

  • Frédéric Loiret
  • Juan Navas
  • Jean-Philippe Babau
  • Olivier Lobry
Part of the Lecture Notes in Computer Science book series (LNCS, volume 5582)

Abstract

As embedded systems must constantly integrate new functionalities, their developement cycles must be based on high-level abstractions, making the software design more flexible. CBSE provides an approach to these new requirements. However, low-level services provided by operating systems are an integral part of embedded applications, furthermore deployed on resource-limited devices. Therefore, the expected benefits of CBSE must not impact on the constraints imposed by the targetted domain, such as memory footprint, energy consumption, and execution time. In this paper, we present the componentization of a legacy industry-established Real-Time Operating System, and how component-based applications are built on top of it. We use the Think framework that allows to produce flexible systems while paying for flexibility only where desired. Performed experimentions show that the induced overhead is negligeable.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

References

  1. 1.
    Robocop ITEA Project. Robocop: Robust Open component-based software architecture for configurable devices project, http://www.hitech-projects.com/euprojects/robocop/
  2. 2.
    MicroC/OS-II: The Real-Time Kernel. CMP Media, Inc., USA (2002)Google Scholar
  3. 3.
    Angelov, C., Berthing, J.: A Jitter-Free Kernel for Hard Real-Time Systems. In: Wu, Z., Chen, C., Guo, M., Bu, J. (eds.) ICESS 2004. LNCS, vol. 3605, pp. 388–394. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  4. 4.
    Anne, M., He, R., Jarboui, T., Lacoste, M., Lobry, O., Lorant, G., Louvel, M., Navas, J., Olive, V., Polajovic, J., Pulou, J., Poulhies, M., Seyvoz, S., Tous, J., Watteyne, T.: Think: View-Based Support of Non-Functional Properties in Embedded Systems. In: Proceedings of the 6th International Conference on Embedded Software and Systems (ICESS 2009) (2009)Google Scholar
  5. 5.
    Berthing, J., Angelov, C.: Component-Based Design of Safe Real-Time Kernels for Embedded Systems. In: EUROMICRO Conference, pp. 129–136 (2007)Google Scholar
  6. 6.
    Bruneton, E., Coupaye, T., Stefani, J.-B.: The Fractal Component Model, Version 2.0-3 (2004)Google Scholar
  7. 7.
    Buttazzo, G.C.: Hard Real-Time Computing Systems, 2nd edn. Springer, Heidelberg (2005)CrossRefMATHGoogle Scholar
  8. 8.
    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, pp. 73–86 (June 2002)Google Scholar
  9. 9.
    Fioukov, A., Eskenazi, E., Hammer, D., Chaudron, M.: Evaluation of static properties for component-based architectures. pp. 33–39 (2002)Google Scholar
  10. 10.
    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
  11. 11.
    Gay, D., Levis, P., von Behren, R., Welsh, M., Brewer, E., Culler, D.: The nesC Language: A Holistic Approach to Networked Embedded Systems. In: ACM Conference on Programming language design and implementation (PLDI) (2003)Google Scholar
  12. 12.
    Gonnord, L., Babau, J.-P.: Quantity of Resource Properties Expression and Runtime Assurance for Embedded Systems. In: ACS/IEEE International Conference on Computer Systems and Applications, AICCSA 2009, Rabbat, Morocco (to be published) (May 2009)Google Scholar
  13. 13.
    Greenfield, A.: Everyware: The Dawning Age of Ubiquitous Computing. Peachpit Press, Berkeley (2006)Google Scholar
  14. 14.
    Heiser, G.: Secure Embedded Systems need microkernels. USENIX 30(6), 9–13 (2005)Google Scholar
  15. 15.
    Kopetz, H., Suri, N.: Compositional Design of RT Systems: A Conceptual Basis for Specification of Linking Interfaces. In: Proceedings of the Sixth IEEE International Symposium on Object-Oriented Real-Time Distributed Computing (ISORC 2003), Washington, DC, USA, p. 51. IEEE Computer Society, Los Alamitos (2003)CrossRefGoogle Scholar
  16. 16.
    Kuz, I., Liu, Y., Gorton, I., Heiser, G.: CAmkES: A Component Model for Secure Microkernel-based Embedded Systems. J. Syst. Softw. 80(5), 687–699 (2007)CrossRefGoogle Scholar
  17. 17.
    Levis, P., Culler, D.: Maté: A Tiny Virtual Machine for Sensor Networks. In: ASPLOS-X: Proceedings of the 10th international conference on Architectural support for programming languages and operating systems, pp. 85–95. ACM, New York (2002)Google Scholar
  18. 18.
    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
  19. 19.
    Liedtke, J.: On Micro-Kernel Construction. In: SOSP 1995: Proceedings of the fifteenth ACM symposium on Operating systems principles, pp. 237–250. ACM, New York (1995)CrossRefGoogle Scholar
  20. 20.
    Lobry, O., Polakovic, J.: Controlling the Performance Overhead of Component-Based Systems. In: Pautasso, C., Tanter, É. (eds.) SC 2008. LNCS, vol. 4954, pp. 149–156. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  21. 21.
    Massa, A.: Embedded Software Development with eCos. Prentice-Hall, Englewood Cliffs (2002)Google Scholar
  22. 22.
    Michiels, S., Horré, W., Joosen, W., Verbaeten, P.: DAViM: a Dynamically Adaptable Virtual Machine for Sensor Networks. In: MidSens 2006: Proceedings of the international workshop on Middleware for sensor networks, pp. 7–12. ACM, New York (2006)CrossRefGoogle Scholar
  23. 23.
    Muskens, J., Chaudron, M.R.V.: Prediction of Run-Time Resource Consumption in Multi-task Component-Based Software Systems. In: Crnković, I., Stafford, J.A., Schmidt, H.W., Wallnau, K. (eds.) CBSE 2004. LNCS, vol. 3054, pp. 162–177. Springer, Heidelberg (2004)CrossRefGoogle Scholar
  24. 24.
    Polakovic, J., Ozcan, A.E., Stefani, J.-B.: Building Reconfigurable Component-Based OS with THINK. In: EUROMICRO Conference on Software Engineering and Advanced Applications (2006)Google Scholar
  25. 25.
    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
  26. 26.
    Stankovic, J.A., Rajkumar, R.: Real-Time Operating Systems. Real-Time Systems 28(2-3), 237–253 (2004)CrossRefMATHGoogle Scholar
  27. 27.
    Szypersky, C., Gruntz, D., Murer, S.: Component Software. Beyong Object-Oriented Programming, 2nd edn. ACM Press, New York (2002)Google Scholar
  28. 28.
    Tournier, J.-C., Olive, V., Babau, J.-P.: Qinna, an Component-Based QoS Architecture. In: Heineman, G.T., Crnković, I., Schmidt, H.W., Stafford, J.A., Szyperski, C., Wallnau, K. (eds.) CBSE 2005. LNCS, vol. 3489, pp. 107–122. Springer, Heidelberg (2005)CrossRefGoogle Scholar
  29. 29.
    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
  30. 30.
    Xie, Q., Liu, J., Chou, P.H.: Tapper: a Lightweight Scripting Engine for Highly Constrained Wireless Sensor Nodes. In: IPSN 2006, pp. 342–349. ACM, New York (2006)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2009

Authors and Affiliations

  • Frédéric Loiret
    • 1
  • Juan Navas
    • 2
  • Jean-Philippe Babau
    • 3
  • Olivier Lobry
    • 2
  1. 1.INRIA-Lille, Nord Europe, Project ADAMUSTL-LIFL CNRS UMR 8022France
  2. 2.Orange LabsIndia
  3. 3.Université Européenne de BretagneFrance

Personalised recommendations