Skip to main content

A Review on Visual Programming for Distributed Computation in IoT

  • Conference paper
  • First Online:
Computational Science – ICCS 2021 (ICCS 2021)

Part of the book series: Lecture Notes in Computer Science ((LNTCS,volume 12745))

Included in the following conference series:

Abstract

Internet-of-Things (IoT) systems are considered one of the most notable examples of complex, large-scale systems. Some authors have proposed visual programming (VP) approaches to address part of their inherent complexity. However, in most of these approaches, the orchestration of devices and system components is still dependent on a centralized unit, preventing higher degrees of dependability. In this work, we perform a systematic literature review (SLR) of the current approaches that provide visual and decentralized orchestration to define and operate IoT systems, reflecting upon a total of 29 proposals. We provide an in-depth discussion of these works and find out that only four of them attempt to tackle this issue as a whole, although still leaving a set of open research challenges. Finally, we argue that addressing these challenges could make IoT systems more fault-tolerant, with an impact on their dependability, performance, and scalability.

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 79.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 99.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

References

  1. Agarwal, Y., Dey, A.K.: Toward building a safe, secure, and easy-to-use internet of things infrastructure. IEEE Comput. 49(4), 88–91 (2016)

    Article  Google Scholar 

  2. Akiki, P.A., Bandara, A.K., Yu, Y.: Visual simple transformations: empowering end-users to wire internet of things objects. ACM Trans. Comput.-Hum. Interact. 24(2), 1–43 (2017). https://doi.org/10.1145/3057857

    Article  Google Scholar 

  3. AT&T Mobility LLC: AT&T Flow Designer. https://flow.att.com. Accessed 2020

  4. Bak, N., Chang, B.M., Choi, K.: Smart block: a visual programming environment for SmartThings. In: International Computer Software and Applications Conference, vol. 2, pp. 32–37 (2018). https://doi.org/10.1109/COMPSAC.2018.10199

  5. Belsa, A., Sarabia-Jacome, D., Palau, C.E., Esteve, M.: Flow-based programming interoperability solution for IoT platform applications. In: IEEE International Conference on Cloud Engineering, IC2E 2018, pp. 304–309 (2018)

    Google Scholar 

  6. Besari, A.R.A., Wobowo, I.K., Sukaridhoto, S., Setiawan, R., Rizqullah, M.R.: Preliminary design of mobile visual programming apps for Internet of Things applications based on Raspberry Pi 3 platform. In: International Electronics Symposium on Knowledge Creation and Intelligent Computing, pp. 50–54 (2017)

    Google Scholar 

  7. Blackstock, M., Lea, R.: Toward a distributed data flow platform for the Web of Things (Distributed Node-RED). In: ACM International Conference Proceeding Series, vol. 08, pp. 34–39 (2014)

    Google Scholar 

  8. Blackstock, M., Lea, R.: FRED: a hosted data flow platform for the IoT. In: 1st International Workshop on Mashups of Things and APIs (2016)

    Google Scholar 

  9. Boshernitsan, M., Downes, M.S.: Visual programming languages: a survey. Technical report UCB/CSD-04-1368, EECS Department, University of California, Berkeley, December 2004. http://www2.eecs.berkeley.edu/Pubs/TechRpts/2004/6201.html

  10. Burnett, M., Kulesza, T.: End-user development in Internet of Things: we the people. In: International Reports on Socio-Informatics (IRSI), Proceedings of the CHI 2015 - Workshop on End User Development in the Internet of Things Era, vol. 12, no. 2, pp. 81–86 (2015)

    Google Scholar 

  11. Buyya, R., Dastjerdi, A.V.: Internet of Things: Principles and Paradigms. Elsevier (2016)

    Google Scholar 

  12. Zenodys B.V.: Zenodys. https://www.zenodys.com/. Accessed 2020

  13. Chang, S.: Handbook of Software Engineering and Knowledge Engineering. World Scientific Publishing Co. (2002)

    Google Scholar 

  14. Chen, S., Xu, H., Liu, D., Hu, B., Wang, H.: A vision of IoT: applications, challenges, and opportunities with China Perspective. IEEE Internet Things J. 1(4), 349–359 (2014)

    Article  Google Scholar 

  15. Cheng, B., Kovacs, E., Kitazawa, A., Terasawa, K., Hada, T., Takeuchi, M.: Fogflow: orchestrating IoT services over cloud and edges. NEC Techn. J. 13, 48–53 (2018)

    Google Scholar 

  16. Cheng, B., Solmaz, G., Cirillo, F., Kovacs, E., Terasawa, K., Kitazawa, A.: FogFlow: easy programming of IoT services over cloud and edges for smart cities. IEEE Internet Things J. PP, 1–1 (2017)

    Google Scholar 

  17. De Luca, G., Li, Z., Mian, S., Chen, Y.: Visual programming language environment for different IoT and robotics platforms in computer science education. CAAI Trans. Intell. Technol. 3(2), 119–130 (2018)

    Article  Google Scholar 

  18. Desolda, G., Malizia, A., Turchi, T.: A tangible-programming technology supporting end-user development of smart-environments. In: Proceedings of the Workshop on Advanced Visual Interfaces, pp. 59:1–59:3. ACM, New York (2018)

    Google Scholar 

  19. Dias, J.P., Couto, F., Paiva, A.C.R., Ferreira, H.S.: A brief overview of existing tools for testing the Internet-of-Things. In: IEEE International Conference on Software Testing, Verification and Validation Workshops (ICSTW), pp. 104–109 (2018)

    Google Scholar 

  20. Dias, J.P., Faria, J.P., Ferreira, H.S.: A reactive and model-based approach for developing Internet-of-Things systems. In: 11th International Conference on the Quality of Information and Communications Technology, pp. 276–281 (2018)

    Google Scholar 

  21. Dias, J.P., Ferreira, H.S., Sousa, T.B.: Testing and deployment patterns for the Internet-of-Things. In: Proceedings of the 24th European Conference on Pattern Languages of Programs. EuroPLop 2019. Association for Computing Machinery, New York (2019). https://doi.org/10.1145/3361149.3361165

  22. Dias, J.P., Restivo, A., Ferreira, H.S.: Empowering visual Internet-of-Things mashups with self-healing capabilities. In: 2021 IEEE/ACM 2nd International Workshop on Software Engineering Research Practices for the Internet of Things (SERP4IoT) (2021)

    Google Scholar 

  23. Dias, J.P., Sousa, T.B., Restivo, A., Ferreira, H.S.: A pattern-language for self-healing Internet-of-Things systems. In: Proceedings of the 25th European Conference on Pattern Languages of Programs. EuroPLop 2020. Association for Computing Machinery, New York (2020). https://doi.org/10.1145/3361149.3361165

  24. Dias, J.P., Lima, B., Faria, J.P., Restivo, A., Ferreira, H.S.: Visual self-healing modelling for reliable Internet-of-Things systems. In: Proceedings of the 20th International Conference on Computational Science, pp. 27–36. Springer (2020)

    Google Scholar 

  25. Ens, B., Anderson, F., Grossman, T., Annett, M., Irani, P., Fitzmaurice, G.: Ivy: exploring spatially situated visual programming for authoring and understanding intelligent environments. In: Proceedings - Graphics Interface, pp. 156–163 (2017)

    Google Scholar 

  26. Eterovic, T., Kaljic, E., Donko, D., Salihbegovic, A., Ribic, S.: An Internet of Things visual domain specific modeling language based on UML. In: Proceedings of the 25th International Conference on Information, Communication and Automation Technologies (2015)

    Google Scholar 

  27. Eun, S., Jung, J., Yun, Y.S., So, S.S., Heo, J., Min, H.: An end user development platform based on dataflow approach for IoT devices. J. Intell. Fuzzy Syst. 35(6), 6125–6131 (2018). https://doi.org/10.3233/JIFS-169852

    Article  Google Scholar 

  28. Fayed, M.S., Al-Qurishi, M., Alamri, A., Al-Daraiseh, A.A.: PWCT: visual language for IoT and cloud computing applications and systems. In: ACM International Conference Proceeding Series (2017)

    Google Scholar 

  29. Ghiani, G., Manca, M., Paterno, F., Santoro, C.: Personalization of context-dependent applications through trigger-action rules. ACM Trans. Comput. Hum. Interact. 24(2), 14:1–14:33 (2017)

    Google Scholar 

  30. Giang, N.K., Lea, R., Leung, V.C.M.: Exogenous coordination for building fog-based cyber physical social computing and networking systems. IEEE Access 6, 31740–31749 (2018)

    Article  Google Scholar 

  31. Giang, N.K., Blackstock, M., Lea, R., Leung, V.C.: Developing IoT applications in the Fog: a distributed dataflow approach. In: Proceedings of the 5th International Conference on the Internet of Things, pp. 155–162 (2015)

    Google Scholar 

  32. Grasp IO Innovations Pvt. Ltd.: GraspIO. https://www.grasp.io/. Accessed 2020

  33. Gupta, H., Vahid Dastjerdi, A., Ghosh, S.K., Buyya, R.: iFogSim: A toolkit for modeling and simulation of resource management techniques in the Internet of Things, Edge and Fog computing environments. Softw. Pract. Exp. 47(9), 1275–1296 (2017)

    Google Scholar 

  34. Ihirwe, F., Di Ruscio, D., Mazzini, S., Pierini, P., Pierantonio, A.: Low-code engineering for internet of things: a state of research. In: Proceedings of the 23rd ACM/IEEE International Conference on Model Driven Engineering Languages and Systems: Companion Proceedings. MODELS 2020, USA (2020)

    Google Scholar 

  35. Kefalakis, N., Soldatos, J., Anagnostopoulos, A., Dimitropoulos, P.: A visual paradigm for IoT solutions development. In: Interoperability and Open-Source Solutions for the Internet of Things, vol. 9001, pp. 26–45. Springer, Cham (2015)

    Google Scholar 

  36. Lago, A.S., Dias, J.P., Ferreira, H.S.: Managing non-trivial Internet-of-Things systems with conversational assistants: a prototype and a feasibility experiment. J. Comput. Sci. 51, 101324 (2021)

    Article  Google Scholar 

  37. NAAS, M.I., Lemarchand, L., Boukhobza, J., Raipin, P.: A graph partitioning-based heuristic for runtime IoT data placement strategies in a fog infrastructure. In: 33rd Annual ACM Symposium on Applied Computing, pp. 767–774 (2018)

    Google Scholar 

  38. NETLabTK: Tools for Tangible Design. www.netlabtoolkit.org/. Accessed 2020

  39. Node-RED. https://nodered.org/. Accessed 2020

  40. NooDL. https://classic.getnoodl.com/. Accessed 2020

  41. Noor, J., Tseng, H.Y., Garcia, L., Srivastava, M.: DDFlow: visualized declarative programming for heterogeneous IoT networks. In: Proceedings of the 2019 Internet of Things Design and Implementation, pp. 172–177. ACM (2019)

    Google Scholar 

  42. Pathirana, D., Sonnadara, S., Hettiarachchi, M., Siriwardana, H., Silva, C.: WireMe - IoT development platform for everyone. In: 3rd International Moratuwa Engineering Research Conference, MERCon 2017, pp. 93–98 (2017)

    Google Scholar 

  43. Petersen, K., Vakkalanka, S., Kuzniarz, L.: Guidelines for conducting systematic mapping studies in software engineering: an update. Inf. Softw. Technol. 64, 1–18 (2015)

    Article  Google Scholar 

  44. Pinto, D., Dias, J.P., Sereno Ferreira, H.: Dynamic allocation of serverless functions in IoT environments. In: 2018 IEEE 16th International Conference on Embedded and Ubiquitous Computing (EUC), pp. 1–8, October 2018

    Google Scholar 

  45. Prehofer, C., Chiarabini, L.: From IoT mashups to model-based IoT. In: W3C Workshop on the Web of Things (2013)

    Google Scholar 

  46. Ramadas, A., Domingues, G., Dias, J.P., Aguiar, A., Ferreira, H.S.: Patterns for things that fail. In: Proceedings of the 24th Conference on Pattern Languages of Programs, PLoP 2017. ACM - Association for Computing Machinery (2017)

    Google Scholar 

  47. Ray, P.P.: A survey on visual programming languages in Internet of Things. Sci. Program. 2017, 1–6 (2017)

    Google Scholar 

  48. Sendorek, J., Szydlo, T., Windak, M., Brzoza-Woch, R.: Fogflow - computation organization for heterogeneous fog computing environments. In: Computational Science - ICCS 2019. pp. 634–647. Springer, Cham (2019)

    Google Scholar 

  49. Setiawan, R., Anom Besari, A.R., Wibowo, I.K., Rizqullah, M.R., Agata, D.: Mobile visual programming apps for Internet of Things applications based on raspberry Pi 3 platform. In: International Electronics Symposium on Knowledge Creation and Intelligent Computing, pp. 199–204, October 2019

    Google Scholar 

  50. Tomlein, M., Boovaraghavan, S., Agarwal, Y., Dey, A.K.: CharIoT: an end-user programming environment for the IoT. In: ACM International Conference Proceeding Series (2017). https://doi.org/10.1145/3131542.3140261

  51. Tomlein, M., Grønbæk, K.: A visual programming approach based on domain ontologies for configuring industrial IoT installations. In: ACM International Conference Proceeding Series (2017). https://doi.org/10.1145/3131542.3131552

  52. Torres, D., Dias, J.P., Restivo, A., Ferreira, H.S.: Real-time feedback in node-red for IoT development: an empirical study. In: IEEE/ACM 24th International Symposium on Distributed Simulation and Real Time Applications, pp. 1–8 (2020)

    Google Scholar 

  53. Valsamakis, Y., Savidis, A.: Visual end-user programming of personalized AAL in the Internet of Things. In: Lecture Notes in Computer Science, LNCS, vol. 10217, pp. 159–174 (2017). https://doi.org/10.1007/978-3-319-56997-0_13

  54. Varshney, P., Simmhan, Y.: Demystifying fog computing: characterizing architectures, applications and abstractions. In: 2017 IEEE 1st International Conference on Fog and Edge Computing (ICFEC), pp. 115–124. IEEE (2017)

    Google Scholar 

  55. Wyliodrin. https://wyliodrin.com/. Accessed 2020

  56. Zhang, K., Han, D., Feng, H.: Research on the complexity in Internet of Things. In: IET Conference Publications 2010 (571 CP), pp. 395–398 (2010)

    Google Scholar 

Download references

Acknowledgement

This work is financed by National Funds through the Portuguese funding agency, FCT - Fundação para a Ciência e a Tecnologia, within project UIDB/50014/2020.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to João Pedro Dias .

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

Silva, M., Dias, J.P., Restivo, A., Ferreira, H.S. (2021). A Review on Visual Programming for Distributed Computation in IoT. In: Paszynski, M., Kranzlmüller, D., Krzhizhanovskaya, V.V., Dongarra, J.J., Sloot, P.M. (eds) Computational Science – ICCS 2021. ICCS 2021. Lecture Notes in Computer Science(), vol 12745. Springer, Cham. https://doi.org/10.1007/978-3-030-77970-2_34

Download citation

  • DOI: https://doi.org/10.1007/978-3-030-77970-2_34

  • Published:

  • Publisher Name: Springer, Cham

  • Print ISBN: 978-3-030-77969-6

  • Online ISBN: 978-3-030-77970-2

  • eBook Packages: Computer ScienceComputer Science (R0)

Publish with us

Policies and ethics