Programming Sensor Networks Using Remora Component Model

  • Amirhosein Taherkordi
  • Frédéric Loiret
  • Azadeh Abdolrazaghi
  • Romain Rouvoy
  • Quan Le-Trung
  • Frank Eliassen
Part of the Lecture Notes in Computer Science book series (LNCS, volume 6131)


The success of high-level programming models in Wireless Sensor Networks (WSNs) is heavily dependent on factors such as ease of programming, code well-structuring, degree of code reusability, and required software development effort. Component-based programming has been recognized as an effective approach to meet such requirements. Most of componentization efforts in WSNs were ineffective due to various reasons, such as high resource demand or limited scope of use. In this paper, we present Remora, a new approach to practical and efficient component-based programming in WSNs. Remora offers a well-structured programming paradigm that fits very well with resource limitations of embedded systems, including WSNs. Furthermore, the special attention to event handling in Remora makes our proposal more practical for WSN applications, which are inherently event-driven. More importantly, the mutualism between Remora and underlying system software promises a new direction towards separation of concerns in WSNs. Our evaluation results show that a well-configured Remora application has an acceptable memory overhead and a negligible CPU cost.


Wireless sensor networks component model event-driven 


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. 1.
    Sugihara, R., Gupta, R.K.: Programming models for sensor networks: A survey. ACM. Trans. Sensor Networks 4(2), 1–29 (2008)CrossRefGoogle Scholar
  2. 2.
    Szyperski, C.: Component Software: Beyond Object-Oriented Programming, 2nd edn. ACM Press and Addison-Wesley, New York (2002)Google Scholar
  3. 3.
    Bachmann, F.L., et al.: Technical Concepts of Component-Based Software Engineering, 2nd edn. Carnegie Mellon Software Engineering Institute (2000)Google Scholar
  4. 4.
    Ommering, R., Linden, F., Kramer, J., Magee, J.: The Koala component model for consumer electronics software. IEEE Computer 33(3) (2000)Google Scholar
  5. 5.
    Winter, M., et al.: Components for embedded software: the PECOS approach. In: Proc. of the CASES 2002. ACM Press, New York (2002)Google Scholar
  6. 6.
    Hansson, H., Akerholm, M., Crnkovic, I., Torngren, M.: SaveCCM-a component model for safety-critical real-time systems. In: Proc. of the IEEE Euromicro Conference (2004)Google Scholar
  7. 7.
    Plsek, A., Loiret, F., Merle, P., Seinturier, L.: A Component Framework for Java-Based Real-Time Embedded Systems. In: Issarny, V., Schantz, R. (eds.) Middleware 2008. LNCS, vol. 5346, pp. 124–143. Springer, Heidelberg (2008)CrossRefGoogle Scholar
  8. 8.
    Gay, D., et al.: The nesC Language: A Holistic Approach to Networked Embedded Systems. In: Proc. of the SIGPLAN Conference on Prog. Language Design and Impl. (2003)Google Scholar
  9. 9.
    Levis, P., et al.: TinyOS: An Operating System for Sensor Networks. Ambient Intelligence (2005)Google Scholar
  10. 10.
  11. 11.
    Dunkels, A., Grönvall, B., Voigt, T.: Contiki - a lightweight and flexible operating system for tiny networked sensors. In: Proc. of 1st Workshp. on Embedded Networked Sensors (2004)Google Scholar
  12. 12.
    Dunkels, A., Schmidt, O., Voigt, T., Ali, M.: Protothreads: Simplifying Event-Driven Programming of Memory-Constrained Embedded Systems. In: Proc. ACM SenSys (2006)Google Scholar
  13. 13.
  14. 14.
    Coulson, G., et al.: A generic component model for building systems software. ACM Trans. Computer Systems, 1–42 (2008)Google Scholar
  15. 15.
  16. 16.
    The OSGi Alliance. The OSGi framework (1999),
  17. 17.
    Rellermeyer, J., Alonso, G.: Concierge: A Service Platform for Resource-Constrained Devices. ACM SIGOPS Operating Systems Review 41(3), 245–258 (2007)CrossRefGoogle Scholar
  18. 18.
    Ford, B., Back, G., Benson, G., Lepreau, J., Lin, A., Shivers, O.: The Flux OSKit: A Substrate for Kernel and Language Research. Operating Systems Principles (1997)Google Scholar
  19. 19.
    Reid, A., Flatt, M., Stoller, L., Lepreau, J., Eide, E.: Knit: Component Composition for Systems Software. In: Operating Systems Design and Implementation (OSDI) (2000)Google Scholar
  20. 20.
    Fassino, J.-P., Stefani, J.-B., Lawall, J., Muller, G.: Think: A software framework for component-based operating system kernels. In: Proc. of the USENIX Annual Conference (2002)Google Scholar
  21. 21.
    Bruneton, E., Coupaye, T., Leclercq, M., Quéma, V., Stefani, J.B.: The Fractal component model and its support in Java. Softw., Pract. Exper. (2006)Google Scholar
  22. 22.
  23. 23.
    Lobry, O., Navas, J., Babau, J.: Optimizing Component-Based Embedded Software. In: 2nd IEEE Workshop on Component-Based Design of Resource-Constrained Sys., COMPSAC 2009 (2009)Google Scholar
  24. 24.
    Hughes, D., et al.: LooCI: A loosely-coupled component infrastructure for networked embedded systems. Mobile computing & Multimedia (2009)Google Scholar
  25. 25.
    Taherkordi, A., et al.: WiSeKit: A Distributed Middleware to Support Application-Level Adaptation in Sensor Networks. In: Senivongse, T., Oliveira, R. (eds.) DAIS 2009. LNCS, vol. 5523, pp. 44–58. Springer, Heidelberg (2009)CrossRefGoogle Scholar
  26. 26.
    Taherkordi, A., Rouvoy, R., Le-Trung, Q., Eliassen, F.: A Self-Adaptive Context Processing Framework for Wireless Sensor Networks. In: Proc. of ACM MidSens 2008, Belgium (2008)Google Scholar
  27. 27.
    Mottola, L., et al.: Selective Reprogramming of Mobile Sensor Networks through Social Community Detection. In: Proc. of EWSN 2010, Portugal (2010)Google Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2010

Authors and Affiliations

  • Amirhosein Taherkordi
    • 1
  • Frédéric Loiret
    • 2
  • Azadeh Abdolrazaghi
    • 1
  • Romain Rouvoy
    • 1
    • 2
  • Quan Le-Trung
    • 1
  • Frank Eliassen
    • 1
  1. 1.Department of InformaticsUniversity of OsloOslo
  2. 2.INRIA Lille – Nord Europe, ADAM Project-teamUniversity of Lille 1, LIFL CNRS UMR 8022Villeneuve d’Ascq

Personalised recommendations