Rationale behind Normandias
With the ubiquitous nature of wireless sensor networks, managing networks consisting of tens thousands of nodes can be very challenging if not impossible. It is for this reason that middleware abstractions have been created to simplify the management of sensor networks. Most middleware solutions can be classified into five main groups; virtual machine based, distributed databases, intelligent agents approach, application oriented, and finally message oriented. The design of Normandias draws upon well tested concepts in these five classes.
Virtual Machine (VM) based approaches like Maté based on TinyOS offer a very flexible approach to application development by allowing dynamic code updates using energy efficient code propagation algorithms but suffer from processing overheads when instructions are translated from Mate to TinyOS executable forms. On the other hand, applications built using the specifications of Normandias are written in NesC thus can be directly executed by Motes without the need for additional interpretation. Another major drawback of VM based systems is the need for sensor network programmers to learn yet another VM specific language (typically assembly language) hindering mass adoption.
In the case of Distributed Database approach, sensing nodes are abstracted into storage nodes where intelligent queries incorporating sensing data, spatial data and other parameters can be issued. Although this approach simplifies the task of retrieving data from sensors, it sacrifices the real time requirements of sensor networks and nimbleness of sensing nodes (in sense and react scenarios).TinyDB for instance uses a controlled flooding mechanism to disseminate queries which is generally considered to be inefficient. In Normandias, nodes designated as leaders have access to Query Processing interfaces thus simplifying query processing without removing the real time property of a sensor network. Another drawback of the database approach is the fact that such systems are typically static, that is cannot be changed after deployment. Other issues include ease of integration with other non-database systems and ability to specify QoS parameters which is important since applications can differ by the volume of data generated. For example, an application tracking temperature changes might require less collaboration since changes are slow in occurrence in contrast to a human tracking application.
Normandias based applications have numerous advantages over intelligent agent, application oriented and message based systems. For the sake of brevity, these are not covered in this blog post.
