Abstract

Interoperability remains a significant burden to the developers of Internet of Things systems. This is because resources and APIs are dynamically composed; they are highly heterogeneous in terms of their underlying communication technologies, protocols and data formats, and interoperability tools remain limited to enforcing standards-based approaches. In this paper, we propose model-based engineering methods to reduce the development effort towards ensuring that complex software systems interoperate with one another. Lightweight interoperability models can be specified in order to monitor and test the execution of running software so that interoperability problems can be quickly identified, and solutions put in place. A graphical model editor and testing tool are also presented to highlight how a visual model improves upon textual specifications. We show using case-studies from the FIWARE Future Internet Service domain that the software framework can support non-expert developers to address interoperability challenges.

Highlights

  • The Internet of Things (IoT) and Cloud Computing naturally go hand-in-hand for developing large-scale, dataoriented distributed systems

  • We use a case-study approach to evaluate the usage of the interoperability model and associated tool to achieve its primary contribution, i.e. to reduce the effort required to develop and test the interoperability of software composed with independently developed IoT and cloud-based services

  • We hypothesize that the framework can monitor running services and identify where they do and do not interoperate; we propose that the lightweight models offer an abstraction to capture interoperability information that can be reused across multiple applications, e.g. a model describing how to interoperate with a context broker being utilised across multiple different applications

Read more

Summary

Introduction

The Internet of Things (IoT) and Cloud Computing naturally go hand-in-hand for developing large-scale, dataoriented distributed systems. (0000) 71:141–150 follow (e.g. the Hyper/Cat [14] catalogue of IoT services) and (iii) development of mappings and adapters to broker system differences on a case-by-case basis (e.g., mappings between data [4] and mappings between middleware [20]) These solutions help, but there remains a significant burden on developers to understand and identify interoperability problems and implement and test solutions . – Interoperability models are reusable, visual software artifacts that model the behavior of services in a lightweight and technology independent manner These models are used to help developers create and test systems that correctly interoperate. These models are a combination of architecture specification (i.e. services and interface dependencies) and behaviour specification (using state machines and rule-based transitions to evaluate protocol events).

Interoperability engineering methodology
Interoperability and compliance models
Interoperability modeling and testing tool
Evaluation
Case two: migrating between service providers
Related work
Conclusions and future work
Full Text
Published version (Free)

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