Programming Sensor Networks Using Remora Component Model

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.

[1]  David E. Culler,et al.  TinyOS: An Operating System for Sensor Networks , 2005, Ambient Intelligence.

[2]  Clemens A. Szyperski,et al.  Component software - beyond object-oriented programming , 2002 .

[3]  Heiko Böck The OSGi Framework , 2012 .

[4]  Jean-Philippe Babau,et al.  Optimizing Component-Based Embedded Software , 2009, 2009 33rd Annual IEEE International Computer Software and Applications Conference.

[5]  Ivica Crnkovic,et al.  SaveCCM - a component model for safety-critical real-time systems , 2004, Proceedings. 30th Euromicro Conference, 2004..

[6]  Ales Plsek,et al.  A Component Framework for Java-Based Real-Time Embedded Systems , 2008, Middleware.

[7]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java , 2006, Softw. Pract. Exp..

[8]  Cecilia Mascolo,et al.  Selective Reprogramming of Mobile Sensor Networks through Social Community Detection , 2010, EWSN.

[9]  CoulsonGeoff,et al.  A generic component model for building systems software , 2008 .

[10]  Adam Dunkels,et al.  Contiki - a lightweight and flexible operating system for tiny networked sensors , 2004, 29th Annual IEEE International Conference on Local Computer Networks.

[11]  Muneeb Ali,et al.  Protothreads: simplifying event-driven programming of memory-constrained embedded systems , 2006, SenSys '06.

[12]  Julia L. Lawall,et al.  Proceedings of the 2002 Usenix Annual Technical Conference Think: a Software Framework for Component-based Operating System Kernels , 2022 .

[13]  Ivica Crnkovic,et al.  SaveCCM - a component model for safety-critical real-time systems , 2004 .

[14]  KramerJeff,et al.  The Koala Component Model for Consumer Electronics Software , 2000 .

[15]  Rajesh K. Gupta,et al.  Programming models for sensor networks: A survey , 2008, TOSN.

[16]  Peng Ning,et al.  Mitigating DoS attacks against broadcast authentication in wireless sensor networks , 2008, TOSN.

[17]  Jay Lepreau,et al.  The Flux OSKit: a substrate for kernel and language research , 1997, SOSP.

[18]  Frank Eliassen,et al.  WiSeKit: A Distributed Middleware to Support Application-Level Adaptation in Sensor Networks , 2009, DAIS.

[19]  David E. Culler,et al.  The nesC language: A holistic approach to networked embedded systems , 2003, PLDI.

[20]  Michael Winter,et al.  Components for embedded software: the PECOS approach , 2002, CASES '02.

[21]  Thierry Coupaye,et al.  The FRACTAL component model and its support in Java: Experiences with Auto-adaptive and Reconfigurable Systems , 2006 .

[22]  Frank Eliassen,et al.  A self-adaptive context processing framework for wireless sensor networks , 2008, MidSens '08.

[23]  Philip Alexander Levis TinyOS: An Open Operating System for Wireless Sensor Networks (Invited Seminar) , 2006, 7th International Conference on Mobile Data Management (MDM'06).

[24]  Jeff Magee,et al.  The Koala Component Model for Consumer Electronics Software , 2000, Computer.

[25]  Gordon S. Blair,et al.  A generic component model for building systems software , 2008, TOCS.

[26]  Wouter Joosen,et al.  LooCI: a loosely-coupled component infrastructure for networked embedded systems , 2009, MoMM.

[27]  Eric Eide,et al.  Knit: component composition for systems software , 2000, OSDI.

[28]  Alan C. Shaw,et al.  Operating Systems Principles , 2002 .

[29]  Gustavo Alonso,et al.  Concierge: a service platform for resource-constrained devices , 2007, EuroSys '07.