The recent technological advancements has pointed the interest of developers, researchers, and end-users towards the Internet of Things (IoT) domain, whose plethora of services naturally arises to improve the human life. As the IoT becomes more and more involved in our everyday activities, we are personally encouraged to experiment it in practice. Node-RED tool has emerged as a practical solution to develop IoT systems in a simple manner. The tool was inspired by the flow-based programming paradigm and is built on top of Node.js framework. Its simplicity relies on the visual interface providing built-in functionalities and large customization. Moreover, the Node-RED community is quite active and inclined to offer support and share solutions to integrate within existing systems, therefore it is expected that the produced Node-RED flows are easy to comprehend and re-use. However, to the best of our knowledge, no consolidated approaches or guidelines to develop comprehensible Node-RED flows currently exist. For this reason, in this paper we, first, propose a set of guidelines aimed at helping Node-RED developers in producing flows easy to comprehend and re-use. Then, we report on an experiment to evaluate the effect of such guidelines on Node-RED flows comprehension. Results show that the adoption of the guidelines has a significant positive effect on both the number of errors and the time required to comprehend Node-RED flows. Finally, we describe an analysis of the Top-100 most downloaded Node-RED flows to discuss about their compliance (or not) with the proposed guidelines.

Improving Node-RED Flows Comprehension with a Set of Development Guidelines

Clerissi D.;Leotta M.;Ricca F.
2021

Abstract

The recent technological advancements has pointed the interest of developers, researchers, and end-users towards the Internet of Things (IoT) domain, whose plethora of services naturally arises to improve the human life. As the IoT becomes more and more involved in our everyday activities, we are personally encouraged to experiment it in practice. Node-RED tool has emerged as a practical solution to develop IoT systems in a simple manner. The tool was inspired by the flow-based programming paradigm and is built on top of Node.js framework. Its simplicity relies on the visual interface providing built-in functionalities and large customization. Moreover, the Node-RED community is quite active and inclined to offer support and share solutions to integrate within existing systems, therefore it is expected that the produced Node-RED flows are easy to comprehend and re-use. However, to the best of our knowledge, no consolidated approaches or guidelines to develop comprehensible Node-RED flows currently exist. For this reason, in this paper we, first, propose a set of guidelines aimed at helping Node-RED developers in producing flows easy to comprehend and re-use. Then, we report on an experiment to evaluate the effect of such guidelines on Node-RED flows comprehension. Results show that the adoption of the guidelines has a significant positive effect on both the number of errors and the time required to comprehend Node-RED flows. Finally, we describe an analysis of the Top-100 most downloaded Node-RED flows to discuss about their compliance (or not) with the proposed guidelines.
978-3-030-70005-8
978-3-030-70006-5
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11567/1071095
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 0
  • ???jsp.display-item.citation.isi??? ND
social impact