TinyDDS: An Interoperable and Configurable Publish/Subscribe Middleware for Wireless Sensor Networks

TinyDDS: An Interoperable and Configurable Publish/Subscribe Middleware for Wireless Sensor Networks

Pruet Boonma (University of Massachusetts, USA) and Junichi Suzuki (University of Massachusetts, USA)
Copyright: © 2010 |Pages: 26
DOI: 10.4018/978-1-60566-697-6.ch009
OnDemand PDF Download:
$37.50

Abstract

Due to stringent constraints in memory footprint, processing efficiency and power consumption, traditional wireless sensor networks (WSNs) face two key issues: (1) a lack of interoperability with access networks and (2) a lack of flexibility to customize non-functional properties such as event filtering, data aggregation and routing. In order to address these issues, this chapter investigates interoperable publish/subscribe middleware for WSNs. The proposed middleware, called TinyDDS, enables the interoperability between WSNs and access networks by providing programming language interoperability and protocol interoperability based on the standard Data Distribution Service (DDS) specification. Moreover, TinyDDS provides a pluggable framework that allows WSN applications to have fine-grained control over application-level and middleware-level non-functional properties. Simulation and empirical evaluation results demonstrate that TinyDDS is lightweight and efficient on the TinyOS and SunSPOT platforms. The results also show that TinyDDS simplifies the development of publish/subscribe WSN applications.
Chapter Preview
Top

Introduction

Wireless sensor networks (WSNs) have been used to detect events and/or collect data in various domains such as environmental observation, structural health monitoring, human health monitoring, inventory tracking, home/office automation and military surveillance. Due to their deeply-embedded pervasive nature, WSNs have a potential to revolutionize the way that humans understand and construct complex natural/physical systems (Estrin et al., 1999).

A WSN application requires per-node embedded software that imposes stringent constraints in memory footprint, processing efficiency and power consumption. In order to satisfy these constraints, traditional WSN applications often result in vertically integrated and tightly coupled designs. Vertically integrated designs make WSN applications less interoperable. For example, most of traditional WSNs lack interoperability with access networks, which allow human users to connect to WSNs and perform information retrieval such as data collection and event detection (Henricksen & Robinson, 2006; Romer et al., 2002; Hadim & Mohamed, 2006). Despite the interoperability can foster the practicality and production deployment of WSNs, they have been investigated and designed separately from access networks. As a result, it is often ad-hoc, expensive and error-prone to build a gateway node, which is responsible for protocol bridging and data conversion between WSNs and access networks. Currently, gateways need to be rebuilt from scratch when WSNs and access networks use different programming languages and protocols.

Tightly coupled designs make WSN applications less flexible. In WSN applications, it is hard to flexibly introduce, reuse, customize and replace various non-functional properties such as event correlation, event filtering, data aggregation and routing policies. Currently, changes in non-functional properties require substantial re-designs and re-programming of WSN applications. As a result, the productivity of WSN application development remains low, and the cost of application maintenance remains high.

In order to address the aforementioned interoperability and flexibility issues, this chapter investigates interoperable publish/subscribe communication with TinyDDS, which is open-source1, standards-based and configurable middleware for WSNs. It is designed and implemented generic enough to aid in developing a wide range of event detection and data collection applications. Compliant with Object Management Group (OMG)’s standard Data Distribution Service (DDS) specification (Object Management Group, 2007), TinyDDS provides two types of interoperability: programming language interoperability and protocol interoperability.

Programming language interoperability is the ability of TinyDDS to interoperate applications written in different programming languages. TinyDDS implements a set of standard DDS APIs in nesC2 (Gay et al., 2003) and Java Micro Edition (Simon & Cifuentes, 2005) by providing mappings of the OMG Interface Definition Language (IDL) (Object Management Group, 2007) to the two languages. TinyDDS’ nesC version operates on the TinyOS platform (Levis, et al., 2005), and its Java version operates on the SunSPOT platform (Simon & Cifuentes, 2005). This allows different applications to use different languages with the same DDS APIs. For example, an access network application (or end-user application) may be implemented with Java or JavaScript, while a WSN application may be implemented with nesC or Java. Application developers do not have to learn/use different APIs for different applications. This can significantly improve their productivity in application development.

Complete Chapter List

Search this Book:
Reset