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.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Notes
- 1.
- 2.
- 3.
- 4.
- 5.
- 6.
- 7.
- 8.
- 9.
- 10.
- 11.
- 12.
- 13.
- 14.
- 15.
- 16.
- 17.
- 18.
- 19.
https://flows.nodered.org/search?type=flow, consulted in August 2020.
- 20.
- 21.
References
Ambler, S.W.: The elements of UML (TM) 2.0 style. Cambridge University Press, Cambridge (2005)
Bröring, A., Charpenay, V., Anicic, D., Püech, S.: NOVA: a knowledge base for the Node-RED IoT ecosystem. In: Hitzler, P., et al. (eds.) ESWC 2019. LNCS, vol. 11762, pp. 257–261. Springer, Cham (2019). https://doi.org/10.1007/978-3-030-32327-1_45
Campos, U.F., Smethurst, G., Moraes, J.P., Bonifácio, R., Pinto, G.: Mining rule violations in Javascript code snippets. In: 2019 IEEE/ACM 16th International Conference on Mining Software Repositories (MSR), pp. 195–199. IEEE (2019)
Clerissi, D., Leotta, M., Reggio, G., Ricca, F.: Towards an approach for developing and testing Node-RED IoT systems. In: Proceedings of EnSEmble@ESEC/SIGSOFT 2018, pp. 1–8 (2018). https://doi.org/10.1145/3281022.3281023
Clerissi, D., Leotta, M., Ricca, F.: A set of empirically validated development guidelines for improving Node-RED flows comprehension. In: Proceedings of the 15th International Conference on Evaluation of Novel Approaches to Software Engineering, ENASE, vol. 1, pp. 108–119. INSTICC, SciTePress (2020). https://doi.org/10.5220/0009391101080119
Grissom, R.J., Kim, J.J.: Effect Sizes for Research: A Broad Practical Approach. Lawrence Erlbaum Associates Publishers, Hillsdale (2005)
Lange, C.F.J., DuBois, B., Chaudron, M.R.V., Demeyer, S.: An experimental investigation of UML modeling conventions. In: Nierstrasz, O., Whittle, J., Harel, D., Reggio, G. (eds.) MODELS 2006. LNCS, vol. 4199, pp. 27–41. Springer, Heidelberg (2006). https://doi.org/10.1007/11880240_3
Leotta, M., et al.: An acceptance testing approach for internet of things systems. IET Softw. 12(5), 430–436 (2018). https://doi.org/10.1049/iet-sen.2017.0344
Li, Z., Zhou, Y.: PR-miner: automatically extracting implicit programming rules and detecting violations in large software code. ACM SIGSOFT Softw. Eng. Notes 30(5), 306–315 (2005)
Livshits, B., Zimmermann, T.: Dynamine: finding common error patterns by mining software revision histories. ACM SIGSOFT Softw. Eng. Notes 30(5), 296–305 (2005)
Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River (2003)
Mendling, J., Reijers, H.A., van der Aalst, W.M.: Seven process modeling guidelines (7PMG). Inf. Softw. Technol. 52(2), 127–136 (2010)
Morrison, J.P.: Flow-Based Programming: A New Approach to Application Development. CreateSpace, Scotts Valley (2010)
Ozbas-Caglayan, K., Dogru, A.H.: Software repository analysis for investigating design-code compliance. In: 2013 Joint Conference of the 23rd International Workshop on Software Measurement and the 8th International Conference on Software Process and Product Measurement, pp. 231–234. IEEE (2013)
Prehofer, C., Chiarabini, L.: From Internet of Things mashups to model-based development. In: Proceedings of COMPSAC 2015, vol. 3, pp. 499–504. IEEE (2015)
Reggio, G., Leotta, M., Ricca, F.: “Precise is better than light” A document analysis study about quality of business process models. In: Proceedings of EmpiRE 2011, pp. 61–68. IEEE (2011). https://doi.org/10.1109/EmpiRE.2011.6046257
Reggio, G., Leotta, M., Ricca, F.: Who knows/uses what of the UML: a personal opinion survey. In: Dingel, J., Schulte, W., Ramos, I., Abrahão, S., Insfran, E. (eds.) MODELS 2014. LNCS, vol. 8767, pp. 149–165. Springer, Cham (2014). https://doi.org/10.1007/978-3-319-11653-2_10
Reggio, G., Leotta, M., Ricca, F., Astesiano, E.: Business process modelling: five styles and a method to choose the most suitable one. In: Proceedings of EESSMod@MoDELS 2012, pp. 8:1–8:6. ACM (2012). https://doi.org/10.1145/2424563.2424574
Shapiro, S.S., Wilk, M.B.: An analysis of variance test for normality (complete samples). Biometrika 52(3/4), 591–611 (1965)
Unhelkar, B.: Verification and Validation for Quality of UML 2.0 Models, vol. 42. Wiley, Hoboken (2005)
Van Solingen, R., Basili, V., Caldiera, G., Rombach, H.D.: Goal Question Metric (GQM) approach. Encycl. Softw. Eng. (2002, online)
Wohlin, C., Runeson, P., Höst, M., Ohlsson, M.C., Regnell, B., Wesslén, A.: Experimentation in Software Engineering. Springer, Heidelberg (2012). https://doi.org/10.1007/978-3-642-29044-2
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Clerissi, D., Leotta, M., Ricca, F. (2021). Improving Node-RED Flows Comprehension with a Set of Development Guidelines. In: Ali, R., Kaindl, H., Maciaszek, L.A. (eds) Evaluation of Novel Approaches to Software Engineering. ENASE 2020. Communications in Computer and Information Science, vol 1375. Springer, Cham. https://doi.org/10.1007/978-3-030-70006-5_10
Download citation
DOI: https://doi.org/10.1007/978-3-030-70006-5_10
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-70005-8
Online ISBN: 978-3-030-70006-5
eBook Packages: Computer ScienceComputer Science (R0)