Internet of Things (IoT) systems are rapidly gaining importance in the human society, providing a variety of services to improve the quality of our lives, involving complex and safety-critical tasks; therefore, assuring their quality is of paramount importance. Node-RED is a Web-based visual tool inspired by the flow-based programming paradigm, built on Node.js, and recently emerged to support the users in developing IoT systems in a simple manner. The community behind Node-RED is quite active and encourages artefacts sharing. Thus, the Node-RED flows developed and submitted to public usages should be easy to comprehend and integrate within already existing systems, also in preparation of future maintenance and testing activities. Unfortunately, no consolidated approaches or guidelines to develop comprehensible Node-RED flows currently exist. In this paper, we propose a set of guidelines to help the Node-RED developers in producing flows that are easy to comprehend and use. We have designed and conducted an experiment to evaluate the effect of the guidelines in Node-RED flows comprehension. Results show that the adoption of the guidelines significantly reduces the number of errors (p-value = 0.00903) and the time required to comprehend Node-RED flows (p-value = 0.04883).
A set of empirically validated development guidelines for improving Node-RED flows comprehension
Clerissi D.;Leotta M.;Ricca F.
2020-01-01
Abstract
Internet of Things (IoT) systems are rapidly gaining importance in the human society, providing a variety of services to improve the quality of our lives, involving complex and safety-critical tasks; therefore, assuring their quality is of paramount importance. Node-RED is a Web-based visual tool inspired by the flow-based programming paradigm, built on Node.js, and recently emerged to support the users in developing IoT systems in a simple manner. The community behind Node-RED is quite active and encourages artefacts sharing. Thus, the Node-RED flows developed and submitted to public usages should be easy to comprehend and integrate within already existing systems, also in preparation of future maintenance and testing activities. Unfortunately, no consolidated approaches or guidelines to develop comprehensible Node-RED flows currently exist. In this paper, we propose a set of guidelines to help the Node-RED developers in producing flows that are easy to comprehend and use. We have designed and conducted an experiment to evaluate the effect of the guidelines in Node-RED flows comprehension. Results show that the adoption of the guidelines significantly reduces the number of errors (p-value = 0.00903) and the time required to comprehend Node-RED flows (p-value = 0.04883).I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.