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...

Full description

Bibliographic Details
Main Authors: Konstantinos Panayiotou, Emmanouil Tsardoulias, Andreas L. Symeonidis
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