Programming a Sensor Network in a layered middleware architecture
Michele Albano, Stefano Chess · InTech eBooks · 2010
Wireless Sensor Networks (WSNs) have become a mature technology aimed at performing environmental monitoring and data collection.Nonetheless, harnessing the power of a WSN presents a number of research challenges.WSN application developers have to deal both with the business logic of the application and with WSN's issues, such as those related to networking (routing), storage, and transport.A middleware can cope with this emerging complexity, and can provide the necessary abstractions for the definition, creation and maintenance of applications.This work discusses the problems related to the development of such a middleware and surveys the state of the art on the field.23 www.intechopen.comSustainable Wireless Sensor Networks 522thus adding complexity to the applications, or implicitly by means of a middleware, that is a software layer that abstracts from common issues of the WSNs.A middleware would let the developers to focus on the applications' business logic.On the other hand, there is no unique way to define which issues belong to the WSN, and which ones are part of the business logic.In general, this depends on the politics/mechanisms dichotomy, and hence on the level of abstraction that is provided by the middleware.Even a minimal middleware can provide benefits to the application developer, nonetheless it presents research challenges.The level of abstraction provided by a WSN middleware inherently depends on the mechanisms that are used by the middleware to implement the high-level primitives.The analysis of state-of-the-art mechanisms presented in this work is developed into a structured vision of the mechanisms, that were organized into three layers (Programming Abstraction layer, Data Management layer, and Network layer) whose mechanisms can interact with each other or can be used directly by the application, plus a set of Dependability mechanisms that is orthogonal to the layers and that comprises mechanisms that are used by all the layers and by the user applications alike.