Abstract

A number of utility programs (utilities for short) have been developed to fulfill application requirements and to assist user operations such as deployment validation and fault diagnosis throughout the lifespan of wireless sensor networks (WSNs). Because these utilities exhibit diverse behaviors and are required to be loaded at various stages, utility integration is a non-trivial task for developers. To support the rapid and flexible assembly of utilities into sensor node firmware, we formulate the utility management problem as a mode-scheduling procedure, in which utilities are grouped into multiple modes and the sensor node switches between modes to run only the corresponding utilities to address application and user needs. The key contribution of this article is a novel mode-oriented programming model, in which code is organized around modes and modules for the clear abstraction of the mode-scheduling procedure. To facilitate utility assembly, the proposed model supports hybrid programming, i.e., simple declarative configuration descriptions can be used to specify the mode-scheduling logic and to load the utility modules implemented with general-purpose imperative languages. To improve system flexibility, the developer’s descriptions are compiled into a compact configuration profile that will be used by a mode scheduler embedded in a WSN operating system to automatically control the mode scheduling. We have developed a Draft platform to support the proposed programming model, including a development environment and WSN middleware implementing the mode scheduler. Our evaluation results show that Draft achieves reduced development complexity and node reconfiguration cost.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call