Commlib: An easy-to-use communication library for Cyber–Physical Systems
Communication and data exchange between objects is a fundamental aspect of Cyber–Physical Systems. Due to the highly distributed nature of the domain, physical and virtual objects rely on the Sense-Think-Act-Communicate model in order to provide remote interfaces for sending and receiving sensor dat...
Main Authors: | , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Elsevier
2022-07-01
|
Series: | SoftwareX |
Subjects: | |
Online Access: | http://www.sciencedirect.com/science/article/pii/S2352711022001091 |
_version_ | 1811239157531410432 |
---|---|
author | Konstantinos Panayiotou Emmanouil Tsardoulias Andreas L. Symeonidis |
author_facet | Konstantinos Panayiotou Emmanouil Tsardoulias Andreas L. Symeonidis |
author_sort | Konstantinos Panayiotou |
collection | DOAJ |
description | Communication and data exchange between objects is a fundamental aspect of Cyber–Physical Systems. Due to the highly distributed nature of the domain, physical and virtual objects rely on the Sense-Think-Act-Communicate model in order to provide remote interfaces for sending and receiving sensor data and actuation commands and for interconnecting processing artifacts with sensing and actuation endpoints. In order to build such interfaces, thing/object specifications must be taken into account in order to write/adapt/use their drivers and ensure appropriate connectivity; this approach is, at least cumbersome and requires hardware engineering expertise. In this paper we present Commlib, a Python library that abstracts low-level protocol-specific properties and specifications and provides a high-level API for creating and managing communication interfaces of distributed nodes over asynchronous message-driven and event-driven communication middleware, such as MQTT, AMQP, Kafka and Redis brokers. Our approach follows the Component-Port-Connector paradigm to model interconnection and intercommunication of distributed nodes via input and output ports from where messages are transferred over open connections between nodes. Commlib is easy-to-use and enables rapid development of Cyber–Physical Systems and applications, allowing users to focus on the envisioned functionality rather than the obvious connectivity/compatibility issues residing in such systems. |
first_indexed | 2024-04-12T12:54:59Z |
format | Article |
id | doaj.art-94eaf9f5c7344cd5a28b7581b6fcda46 |
institution | Directory Open Access Journal |
issn | 2352-7110 |
language | English |
last_indexed | 2024-04-12T12:54:59Z |
publishDate | 2022-07-01 |
publisher | Elsevier |
record_format | Article |
series | SoftwareX |
spelling | doaj.art-94eaf9f5c7344cd5a28b7581b6fcda462022-12-22T03:32:21ZengElsevierSoftwareX2352-71102022-07-0119101180Commlib: An easy-to-use communication library for Cyber–Physical SystemsKonstantinos Panayiotou0Emmanouil Tsardoulias1Andreas L. Symeonidis2Corresponding author.; School of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, GreeceSchool of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, GreeceSchool of Electrical and Computer Engineering, Aristotle University of Thessaloniki, 54124 Thessaloniki, GreeceCommunication and data exchange between objects is a fundamental aspect of Cyber–Physical Systems. Due to the highly distributed nature of the domain, physical and virtual objects rely on the Sense-Think-Act-Communicate model in order to provide remote interfaces for sending and receiving sensor data and actuation commands and for interconnecting processing artifacts with sensing and actuation endpoints. In order to build such interfaces, thing/object specifications must be taken into account in order to write/adapt/use their drivers and ensure appropriate connectivity; this approach is, at least cumbersome and requires hardware engineering expertise. In this paper we present Commlib, a Python library that abstracts low-level protocol-specific properties and specifications and provides a high-level API for creating and managing communication interfaces of distributed nodes over asynchronous message-driven and event-driven communication middleware, such as MQTT, AMQP, Kafka and Redis brokers. Our approach follows the Component-Port-Connector paradigm to model interconnection and intercommunication of distributed nodes via input and output ports from where messages are transferred over open connections between nodes. Commlib is easy-to-use and enables rapid development of Cyber–Physical Systems and applications, allowing users to focus on the envisioned functionality rather than the obvious connectivity/compatibility issues residing in such systems.http://www.sciencedirect.com/science/article/pii/S2352711022001091Cyber–Physical SystemsInternet-of-thingsDistributed systemsPythonRapid developmentCommunication middleware |
spellingShingle | Konstantinos Panayiotou Emmanouil Tsardoulias Andreas L. Symeonidis Commlib: An easy-to-use communication library for Cyber–Physical Systems SoftwareX Cyber–Physical Systems Internet-of-things Distributed systems Python Rapid development Communication middleware |
title | Commlib: An easy-to-use communication library for Cyber–Physical Systems |
title_full | Commlib: An easy-to-use communication library for Cyber–Physical Systems |
title_fullStr | Commlib: An easy-to-use communication library for Cyber–Physical Systems |
title_full_unstemmed | Commlib: An easy-to-use communication library for Cyber–Physical Systems |
title_short | Commlib: An easy-to-use communication library for Cyber–Physical Systems |
title_sort | commlib an easy to use communication library for cyber physical systems |
topic | Cyber–Physical Systems Internet-of-things Distributed systems Python Rapid development Communication middleware |
url | http://www.sciencedirect.com/science/article/pii/S2352711022001091 |
work_keys_str_mv | AT konstantinospanayiotou commlibaneasytousecommunicationlibraryforcyberphysicalsystems AT emmanouiltsardoulias commlibaneasytousecommunicationlibraryforcyberphysicalsystems AT andreaslsymeonidis commlibaneasytousecommunicationlibraryforcyberphysicalsystems |