Node-RED is a visual tool based on the flow-based programming paradigm and built on NodeJS, which is used for developing IoT systems. In Node-RED, the developer can follow her own personal flavour for wiring devices and online services together, and the same system can be developed in many different ways. Each day, the Node-RED community submits to users novel solutions, and even if there exist frameworks for testing Node-RED flows, they are not supported by a systematic testing technique. Hence, the freedom granted by Node-RED may hinder the understandability of the produced artefacts and the detection of faults. In this work, we propose a preliminary version of an approach for developing and testing a Node-RED system starting from a UML model of its dynamic and static aspects. A JSON object representing the Node-RED system is generated from the model, while executable Javascript test scripts relying on the Mocha test framework are generated from selected portions of the model, enriched with control points to perform checks over the system properties. We believe that a model produced with our approach may help in the early system validation by detecting faults and deviations from its expected behaviour.

Clerissi, D., Leotta, M., Reggio, G., Ricca, F. (2018). Towards an approach for developing and testing Node-RED IoT systems. In EnSEmble 2018: Proceedings of the 1st ACM SIGSOFT International Workshop on Ensemble-Based Software Engineering (pp.1-8). Association for Computing Machinery, Inc [10.1145/3281022.3281023].

Towards an approach for developing and testing Node-RED IoT systems

Clerissi, D;
2018

Abstract

Node-RED is a visual tool based on the flow-based programming paradigm and built on NodeJS, which is used for developing IoT systems. In Node-RED, the developer can follow her own personal flavour for wiring devices and online services together, and the same system can be developed in many different ways. Each day, the Node-RED community submits to users novel solutions, and even if there exist frameworks for testing Node-RED flows, they are not supported by a systematic testing technique. Hence, the freedom granted by Node-RED may hinder the understandability of the produced artefacts and the detection of faults. In this work, we propose a preliminary version of an approach for developing and testing a Node-RED system starting from a UML model of its dynamic and static aspects. A JSON object representing the Node-RED system is generated from the model, while executable Javascript test scripts relying on the Mocha test framework are generated from selected portions of the model, enriched with control points to perform checks over the system properties. We believe that a model produced with our approach may help in the early system validation by detecting faults and deviations from its expected behaviour.
paper
IoT; Javascript; Mocha; Modelling; Node-RED; Testing; UML;
English
1st ACM SIGSOFT International Workshop on Ensemble-Based Software Engineering, EnSEmble 2018, co-located with the 26th ACM Joint European Software Engineering Conference and Symposium on the Foundations of Software Engineering, ESEC/FSE 2018 - 4 November 2018
2018
EnSEmble 2018: Proceedings of the 1st ACM SIGSOFT International Workshop on Ensemble-Based Software Engineering
9781450360548
2018
1
8
reserved
Clerissi, D., Leotta, M., Reggio, G., Ricca, F. (2018). Towards an approach for developing and testing Node-RED IoT systems. In EnSEmble 2018: Proceedings of the 1st ACM SIGSOFT International Workshop on Ensemble-Based Software Engineering (pp.1-8). Association for Computing Machinery, Inc [10.1145/3281022.3281023].
File in questo prodotto:
File Dimensione Formato  
Clerissi et al-2018-ACM SIGSOFT International Workshop-VoR.pdf

Solo gestori archivio

Tipologia di allegato: Publisher’s Version (Version of Record, VoR)
Licenza: Tutti i diritti riservati
Dimensione 3.2 MB
Formato Adobe PDF
3.2 MB Adobe PDF   Visualizza/Apri   Richiedi una copia

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/10281/620225
Citazioni
  • Scopus 24
  • ???jsp.display-item.citation.isi??? 14
Social impact