Distributed sensing systems are complex integrations of constrained sensor networks with additional commodity computing platforms. The realisation of such systems requires significant effort in hardware deployment and software development, resulting into a substantial investment to be made. The key complexities that need to be dealt with include a large heterogeneity in hardware and software, and the resource-constraints of wireless sensor networks. To deal with these complexities, early deployments were based on highly optimised and static single-purpose software solutions within the sensor network tier. Research and industry, however, aim to improve the return on investment by shifting towards open sensor networks that provide a reusable infrastructure on which various stakeholders can independently deploy multiple applications, and, where opportune, reuse the functionality provided by others.
The current state-of-the-art however fails to provide a full solution to the open and multi-purpose use of sensor systems. Related work is available on multi-application and -user support, dynamic software configuration, and discovery of application logic; however, none of those technologies provide a well-integrated solution with a high enough level of configurability and openness to result in truly multi-purpose sensor systems. To realise the open use of sensor system infrastructure, additional lightweight middleware solutions are needed that together provide a common substrate across the sensor system tiers, on top of which independently developed application logic can be deployed and reused within various distributed sensing applications. A similar strategy to improve application logic reuse has been put forward by service-orientation; a software engineering paradigm commonly used to build software solutions within corporate back-ends. Its principles and implementations need to be reimagined, however, to be feasible and applicable within the resource constrained environment of sensor networks.
This dissertation presents three contributions towards open and multi-purpose sensor networks. The first contribution facilitates application building across heterogeneous sensor systems; LooCI, or the Loosely-coupled Component Infrastructure, provides run-time configurable abstractions for application modularity and distributed interactions across a range of hardware and software platforms. The other two contributions facilitate the run-time reuse of application logic within open sensor systems. SDlite provides a service discovery solution that takes into account the environmental and operational state of sensor nodes to diversify between the many functionally similar service providers within a sensor network. Lastly, TalkSens provides a framework that facilitates the systematic definition of messages, their coordinated use among multiple parties, and provides lightweight message subtyping support. This improves reuse of third-party application logic and reduces configuration effort. The combination of all contributions results in a highly configurable application platform for open and multi-purpose sensor systems.
Prototype implementations of the presented contributions have been realised on a range of platforms, with a focus on resource-constrained sensor nodes, but including back-end platforms to support multi-tier integration. Evaluation, and the application of these contributions within a smart office deployment, show their feasibility and good performance on constrained sensor nodes. In sum, this greatly advances the paradigmatic shift from static single-purpose sensor systems to more cost-effective dynamic and multi-purpose alternatives.