Abstract

Abstract Runtime reconfigurable component models provide several attractions with regard to the management of wireless sensor network (WSN) applications operating in dynamic environments and under evolving application requirements. One such attraction is the runtime discovery of suitable components for reuse in changing application compositions. Syntactic interface typing, provided by contemporary component models, however only supports exact interface matching. This causes limited reuse of components and complicates management of WSN applications. We argue that more flexibility is required to efficiently manage the complex, large-scale and dynamic WSN deployments of the future. In this paper, we describe the addition of semantic service descriptions to component interfaces to support compatibility and subtype testing. This allows rich discovery and reuse of third-party functionality and reasoning at the level of equivalent service types. We report on the incorporation of these semantic interface definitions in the Loosely Coupled Component Infrastructure (LooCI). Evaluation thereof shows that the scheme imposes minimal computational and memory overhead, while significantly reducing the complexity and cost of reconfiguration.

Highlights

  • Component-based programming models [1,2,3,4] provide consistent encapsulation of software components, with explicitly defined functionality and explicit context dependencies

  • The semantic type system proposed in this paper provides a single taxonomy that describes all software functionality that is available in a wireless sensor network (WSN)

  • While we believe that the work proposed in this paper represents a significant contribution to the state of the art in component models for WSNs, we recognize that the proposed approach has a number of limitations in its current form: Evolution of the Type System In the current scheme, extensions to the type system propagate to the network as required by deployed components, and unused leaf types may be pruned so long as they are not being used by a deployed component

Read more

Summary

Introduction

Component-based programming models [1,2,3,4] provide consistent encapsulation of software components, with explicitly defined functionality (i.e., provided interfaces) and explicit context dependencies (i.e., required interfaces). This paper proposes a scheme to extend component models such that all component interfaces provide a compact semantic description of the functionality that they offer This scheme facilitates manual reconfiguration by allowing the developer to reason at the level of functionally equivalent services, rather than unique interfaces, and supports autonomic reconfiguration through runtime compatibility testing of interface pairs. We have implemented this scheme for the Loosely Coupled Component Infrastructure (LooCI) component model [4].

The LooCI execution environment
The LooCI component model
The LooCI binding model
Runtime reconfiguration in LooCI
The back-end type representation
Type system in component development
Type system in building applications
Querying and evolution of the type system
Distribution of type data in the network
Using the in-network type system at run-time
Scenario type taxonomy
XJTLU roof garden deployment
Performance of compatibility testing
Memory footprint of the type system
Overhead of the type system in discovery
Benefits of the type system in configuration
Semantic description languages
Component models and middleware
Limitations and future work
Findings
Conclusions

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call

Disclaimer: All third-party content on this website/platform is and will remain the property of their respective owners and is provided on "as is" basis without any warranties, express or implied. Use of third-party content does not indicate any affiliation, sponsorship with or endorsement by them. Any references to third-party content is to identify the corresponding services and shall be considered fair use under The CopyrightLaw.