Ambler proposes (Ambler, 2005) several guide-
lines addressing both general and UML-specific mod-
elling issues, with the aim of improving the effective-
ness of the produced models. Some of these guidelines
can be applied even in Node-RED, since they use very
general terms and descriptions. For what concerns
UML, we focused on activity diagrams since they rep-
resent sequences of actions similarly to Node-RED
flows. The guidelines suggest, for instance, to avoid
black-hole and miracle nodes (i.e., nodes without a
leaving/entering line), that may indicate a missing in-
teraction, and to check that the guards within decision
points are always complete.
7 CONCLUSION AND FUTURE
WORK
In this paper, we have proposed a preliminary set of
guidelines, addressing some common Node-RED com-
prehensibility issues, which may help the Node-RED
developers in producing flows that are easier to com-
prehend and suitable for future maintenance and test-
ing activities. To evaluate the guidelines, we have con-
ducted an experiment involving ten master students.
The results have shown that the adoption of the
guidelines increased the overall efficiency in Node-
RED flows comprehension, by reducing the number
of errors and the time required to complete compre-
hension tasks over some provided Node-RED flows.
In addition to supporting the Node-RED developers in
flows development, the proposed guidelines pinpoint
some Node-RED comprehensibility issues that might
be solved in future releases of the tool, by adding fea-
tures like: (i) nodes resizing in height and width, to
highlight the most important nodes and make long
names more readable, (ii) general warnings, to no-
tify e.g., the presence of unused variables, incomplete
conditions within switch nodes, and loops, and (iii)
graphical jumps between wires, to handle colliding
wires.
The proposed guidelines are just a preliminary set
of those that we are planning to address further Node-
RED comprehensibility issues that did not emerge
from the Node-RED systems we chose; for instance,
how to avoid loops by transforming graph-based flows
into tree-based ones. As future work, we intend to
involve a larger participants pool in the experimen-
tal evaluation of the guidelines, including Node-RED
designers, and to implement a checker tool to auto-
matically detect the comprehensibility issues from the
Node-RED flows failing our guidelines, and fix them
accordingly.
REFERENCES
Ambler, S. W. (2005). The elements of UML (TM) 2.0 style.
Cambridge University Press.
Bröring, A., Charpenay, V., Anicic, D., and Püech, S. (2019).
Nova: A knowledge base for the Node-RED IoT
ecosystem. In Proceedings of ESWC 2019, pages 257–
261. Springer.
Clerissi, D., Leotta, M., Reggio, G., and Ricca, F. (2018).
Towards an approach for developing and testing
node-red iot systems. In Proceedings of EnSEm-
ble@ESEC/SIGSOFT 2018, pages 1–8.
Grissom, R. J. and Kim, J. J. (2005). Effect sizes for research:
A broad practical approach. Lawrence Erlbaum Asso-
ciates Publishers.
Lange, C. F., DuBois, B., Chaudron, M. R., and Demeyer, S.
(2006). An experimental investigation of UML mod-
eling conventions. In Proceedings of MODELS 2006,
pages 27–41. Springer.
Leotta, M., Clerissi, D., Olianas, D., Ricca, F., Ancona,
D., Delzanno, G., Franceschini, L., and Ribaudo, M.
(2018). An acceptance testing approach for internet of
things systems. IET Software, 12(5):430–436.
Martin, R. C. (2003). Agile Software Development: Princi-
ples, Patterns, and Practices. Prentice Hall PTR.
Mendling, J., Reijers, H. A., and van der Aalst, W. M. (2010).
Seven process modeling guidelines (7PMG). Informa-
tion and Software Technology, 52(2):127–136.
Morrison, J. P. (2010). Flow-Based Programming: A new
approach to application development. CreateSpace.
Prehofer, C. and Chiarabini, L. (2015). From Internet of
Things mashups to model-based development. In Pro-
ceedings of COMPSAC 2015, volume 3, pages 499–
504. IEEE.
Reggio, G., Leotta, M., and Ricca, F. (2011). "Precise is
better than light" A document analysis study about
quality of business process models. In Proceedings of
EmpiRE 2011, pages 61–68. IEEE.
Reggio, G., Leotta, M., and Ricca, F. (2014). Who
knows/uses what of the UML: A personal opinion sur-
vey. In Proceedings of MODELS 2014, volume 8767
of LNCS, pages 149–165. Springer.
Reggio, G., Leotta, M., Ricca, F., and Astesiano, E. (2012).
Business process modelling: Five styles and a method
to choose the most suitable one. In Proceedings of
EESSMod@MoDELS 2012, pages 8:1–8:6. ACM.
Shapiro, S. S. and Wilk, M. B. (1965). An analysis of vari-
ance test for normality (complete samples). Biometrika,
52(3/4):591–611.
Unhelkar, B. (2005). Verification and Validation for Quality
of UML 2.0 Models, volume 42. John Wiley & Sons.
Van Solingen, R., Basili, V., Caldiera, G., and Rombach,
H. D. (2002). Goal Question Metric (GQM) approach.
Encyclopedia of software engineering.
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M. C., Reg-
nell, B., and Wesslén, A. (2012). Experimentation in
software engineering. Springer Science & Business
Media.
A Set of Empirically Validated Development Guidelines for Improving Node-RED Flows Comprehension
119