Abstract
The Internet of Things (IoT) enables connectivity between devices, thereby allowing them to interact with each other. A recurring problem is the emergence of siloed IoT platforms due to proprietary standards. Recently, the World Wide Web Consortium (W3C) proposed a human-readable and machine-understandable format called Thing Description (TD). It allows to uniformly describe device and service interfaces of different IoT standards with syntactic and semantic information, and hence enables semantic interoperability. However, describing the sequential behavior of devices, which is essential for many cyber-physical systems, is not covered. In this paper, we extend our initial contribution of describing such sequential behavior as an extension within TDs, thereby increasing their semantic expressiveness through possible, valid state transitions. This enables safe and desired operation of devices as well as scalability by modeling systems as sequential compositions of Things. We show in a case study that previously unmodelable behavior can now be expressed and the overall manual intervention requirements of the state-of-the-art implementations can be significantly reduced.
Keywords
- Internet of things
- Thing description
- Cyber-physical systems
- Model-driven development
- System testing
- Web of things
- Formal verification
- Black box testing
- Safety
- Server-client architecture
- World wide web consortium
- Execution path
- Testing
- Software development
- Web
- Internet
- Verification
- Standards
- Data models
- IoT platforms
This is a preview of subscription content, access via your institution.
Buying options











Notes
- 1.
When the word Thing is used with a capital letter, a Thing means an object, either virtual or physical, that can be communicated with.
- 2.
The term vocabulary is used here since the TD standard [1] refers to actions, properties, etc. as a vocabulary.
- 3.
TDs allow precise description of the capabilities of a device even if the device cannot provide its own TD. In this case, we can use a gateway that stores and provides the TD.
- 4.
- 5.
A path URI in a TD such as #/actions/initialize/forms/0 can be combined with the URI of the TD to create a URI that is valid also outside a TD. In this case, it would be coaps://vent.example.com:5683/td#/actions/initialize/forms/0.
References
Kaebisch, S., Kamiya, T., McCool, M., & Charpenay, V. (2019). Web of Things (WoT) Thing Description. Candidate recommendation, W3C, https://www.w3.org/TR/2019/CR-wot-thing-description-20190516/.
Korkan, E., Kaebisch, S., Kovatsch, M., & Steinhorst, S. (2018). Sequential behavioral modeling for scalable iot devices and systems. In 2018 Forum on Specification Design Languages (FDL) (pp. 5–16). https://doi.org/10.1109/FDL.2018.8524065.
Philips Lighting B.V. (2019). Hue API. https://developers.meethue.com/develop/hue-api/.
Bryan, P. C., Zyp, K., & Nottingham, M. (2013). JavaScript Object Notation (JSON) Pointer. RFC 6901. https://doi.org/10.17487/RFC6901. https://rfc-editor.org/rfc/rfc6901.txt.
Baldoni, R., Contenti, M., Piergiovanni, S. T., & Virgillito, A. (2003). Modeling publish/subscribe communication systems: Towards a formal approach. In Proceedings of the Eighth International Workshop on Object-Oriented Real-Time Dependable Systems (WORDS). https://doi.org/10.1109/WORDS.2003.1218097.
Koster, M. (2018), Web of Things (WoT) Protocol Binding Templates. Tech. rep., W3C. https://www.w3.org/TR/2018/NOTE-wot-binding-templates-20180405/.
Barnett, J., Akolkar, R., Auburn, R., Bodell, M., Burnett, D. C., Carter, J., et al. (2015). State Chart XML (SCXML): State Machine Notation for Control Abstraction. W3C Recommendation, W3C. https://www.w3.org/TR/2015/REC-scxml-20150901/.
Bray, T. (2014). The JavaScript Object Notation (JSON) Data Interchange Format. https://rfc-editor.org/rfc/rfc7159.txt. https://doi.org/10.17487/RFC7159.
Sporny, M., Lanthaler, M., & Kellogg, G. (2014). JSON-LD 1.0. W3C Recommendation, W3C. http://www.w3.org/TR/2014/REC-json-ld-20140116/.
Shelby, Z., Hartke, K., & Bormann, C. (2014). The Constrained Application Protocol (CoAP). https://rfc-editor.org/rfc/rfc7252.txt. https://doi.org/10.17487/RFC7252.
The Modbus Organization. (2012). Modbus application protocol specification v1.1b3. http://www.modbus.org/docs/Modbus_Application_Protocol_V1_1b3.pdf.
Guinard, D. (2011). http://www.vs.inf.ethz.ch/publ/papers/dguinard-awebof-2011.pdf. PhD thesis, ETH Zurich, Zurich, Switzerland.
Charpenay, V., Käbisch, S., & Kosch, H. (2016). Introducing Thing Descriptions and Interactions: An Ontology for the Web of Things. In Stream Reasoning + Semantic Web technologies for the Internet of Things @Int. Semantic Web Conference.
Thuluva, A., Bröring, A., Medagoda, G., Don, H., Anicic, D., & Seeger, J. (2017). Recipes for IoT Applications. In Proceedings of the Seventh International Conference on the Internet of Things. New York: ACM. https://doi.org/10.1145/3131542.3131553.
Bröring, A., Schmid, S., Schindhelm, C. K., Khelil, A., Käbisch, S., Kramer, D., et al. (2017). Enabling IoT Ecosystems through Platform Interoperability. IEEE Software, 34(1), https://doi.org/10.1109/MS.2017.2.
Mayer, S., Verborgh, R., Kovatsch, M., & Mattern, F. (2016). Smart configuration of smart environments. IEEE Transactions on Automation Science and Engineering. https://doi.org/10.1109/TASE.2016.2533321.
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2020 Springer Nature Switzerland AG
About this chapter
Cite this chapter
Korkan, E., Kaebisch, S., Kovatsch, M., Steinhorst, S. (2020). Safe Interoperability for Web of Things Devices and Systems. In: Kazmierski, T., Steinhorst, S., Große, D. (eds) Languages, Design Methods, and Tools for Electronic System Design. Lecture Notes in Electrical Engineering, vol 611. Springer, Cham. https://doi.org/10.1007/978-3-030-31585-6_3
Download citation
DOI: https://doi.org/10.1007/978-3-030-31585-6_3
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-31584-9
Online ISBN: 978-3-030-31585-6
eBook Packages: EngineeringEngineering (R0)