Article ID | Journal | Published Year | Pages | File Type |
---|---|---|---|---|
435259 | Science of Computer Programming | 2012 | 22 Pages |
Device heterogeneity in wireless sensor networks is rendering such networks increasingly difficult to program. To address this problem, we present Servilla, a novel middleware that enables applications to be both platform-independent and efficient despite executing over a diverse and dynamic set of devices. It achieves this by using service-oriented computing and requiring all platform-specific functionality be encapsulated behind services, which are dynamically discovered by applications. Novel forms of service bindings and invocation semantics enable flexible yet energy-efficient in-network collaboration among heterogeneous devices. To support a wide range of devices, Servilla introduces the concept of middleware asymmetry, enabling resource-constrained devices to only provide services that can be leveraged by more powerful devices running applications. Servilla has been implemented and evaluated on two disparate hardware platforms, the Imote2 and TelosB. Microbenchmarks demonstrate Servilla’s feasibility while a structural health monitoring application case study demonstrates its efficacy.
Research highlights► The Servilla middleware simplifies the programming of heterogeneous sensor networks. ► Service-oriented computing enables efficient yet platform-independent applications. ► New forms of service bindings tailored to sensor network applications are introduced. ► Asymmetric middleware configurations increase the range of devices supported. ► The benefits were demonstrated using micro-benchmarks and a real-world application.