REED: Flexible rule based programming of wireless sensor networks at runtime
Wireless Sensor Networks (WSNs) have emerged as an enabling technology for a variety of distributed applications. WSN middleware eases the development of these applications by providing a uniform programming environment. In this paper we present a rule based approach called REED (Rule Execution and Event Distribution) and describe how it supports flexible programming of WSNs at runtime. Indeed REED is required by the nature of its project setting to allow runtime programming. We demonstrate that by combining this runtime programmability with rules in an event, condition, action format we can support a range of paradigms, including Publish-subscribe and data aggregation algorithms. Current WSN middleware solutions have limited on-line programmability support so the applications cannot re-configure their WSNs while operational. Yet the runtime nature of the prototype requires both the distribution of rules and the events that trigger them so we also describe the rule management approach used to support the rule distribution; in particular a novel rule merging and filtering algorithm is described. The paper reports on the results gained from a REED prototype system constructed in our laboratory using Gumstix.