Skip to main content

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

  • Conference paper
  • First Online:
Evaluation of Novel Approaches to Software Engineering (ENASE 2020)

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.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 39.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 54.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Notes

  1. 1.

    https://flows.nodered.org/.

  2. 2.

    https://medium.com/node-red/node-red-design-patterns-893331422f42.

  3. 3.

    https://nodered.org/docs/.

  4. 4.

    https://nodered.org/docs/user-guide/nodes#switch.

  5. 5.

    https://www.twilio.com/.

  6. 6.

    https://www.wemo.com/.

  7. 7.

    https://nodered.org/blog/2016/06/14/version-0-14-released.

  8. 8.

    https://nodered.org/docs/user-guide/editor/workspace/subflows.

  9. 9.

    https://www.wikidata.org.

  10. 10.

    https://nodered.org/docs/user-guide/nodes#function.

  11. 11.

    https://discourse.nodered.org/t/function-node-stopping/7017.

  12. 12.

    https://github.com/node-red/node-red/issues/88.

  13. 13.

    https://discourse.nodered.org/t/switch-node-not-consistent/11908.

  14. 14.

    https://discourse.nodered.org/t/help-simplifying-flow/8765.

  15. 15.

    https://discourse.nodered.org/t/cpu-hogging-to-100/2944.

  16. 16.

    https://discourse.nodered.org/t/how-to-comment-out-a-node/1106.

  17. 17.

    https://cookbook.nodered.org/mqtt/.

  18. 18.

    https://www.r-project.org/.

  19. 19.

    https://flows.nodered.org/search?type=flow, consulted in August 2020.

  20. 20.

    https://nodered.org/docs/creating-nodes.

  21. 21.

    https://medium.com/node-red/node-red-design-patterns-893331422f42.

References

  1. Ambler, S.W.: The elements of UML (TM) 2.0 style. Cambridge University Press, Cambridge (2005)

    Google Scholar 

  2. 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

    Chapter  Google Scholar 

  3. 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)

    Google Scholar 

  4. 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

  5. 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

  6. Grissom, R.J., Kim, J.J.: Effect Sizes for Research: A Broad Practical Approach. Lawrence Erlbaum Associates Publishers, Hillsdale (2005)

    Google Scholar 

  7. 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

    Chapter  Google Scholar 

  8. 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

  9. 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)

    Article  Google Scholar 

  10. Livshits, B., Zimmermann, T.: Dynamine: finding common error patterns by mining software revision histories. ACM SIGSOFT Softw. Eng. Notes 30(5), 296–305 (2005)

    Article  Google Scholar 

  11. Martin, R.C.: Agile Software Development: Principles, Patterns, and Practices. Prentice Hall PTR, Upper Saddle River (2003)

    Google Scholar 

  12. Mendling, J., Reijers, H.A., van der Aalst, W.M.: Seven process modeling guidelines (7PMG). Inf. Softw. Technol. 52(2), 127–136 (2010)

    Article  Google Scholar 

  13. Morrison, J.P.: Flow-Based Programming: A New Approach to Application Development. CreateSpace, Scotts Valley (2010)

    Google Scholar 

  14. 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)

    Google Scholar 

  15. 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)

    Google Scholar 

  16. 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

  17. 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

    Chapter  Google Scholar 

  18. 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

  19. Shapiro, S.S., Wilk, M.B.: An analysis of variance test for normality (complete samples). Biometrika 52(3/4), 591–611 (1965)

    Article  MathSciNet  Google Scholar 

  20. Unhelkar, B.: Verification and Validation for Quality of UML 2.0 Models, vol. 42. Wiley, Hoboken (2005)

    Google Scholar 

  21. Van Solingen, R., Basili, V., Caldiera, G., Rombach, H.D.: Goal Question Metric (GQM) approach. Encycl. Softw. Eng. (2002, online)

    Google Scholar 

  22. 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

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Diego Clerissi .

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2021 Springer Nature Switzerland AG

About this paper

Check for updates. Verify currency and authenticity via CrossMark

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)

Publish with us

Policies and ethics