Upgrade to PRO for Only $50/Year—Limited-Time Offer! 🔥

A Review on Visual Programming for Distributed ...

JP
June 16, 2021

A Review on Visual Programming for Distributed Computation in IoT

Margarida Silva, João Pedro Dias, André Restivo and Hugo Sereno Ferreira

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) solutions to address part of their inherent complexity. However, in most of these solutions, the orchestration of devices and system components is still dependent on a centralized unit, preventing a higher degree of dependability. In this work, we carry out a systematic literature review of the current solutions that provide visual and decentralized orchestration to define and operate IoT systems. Our work reflects upon a total of 29 proposals that address these issues. We provide an in-depth discussion of these works and find out that only four of these solutions attempt to tackle this issue as a whole, although still leaving a set of open research challenges. We finally argue that these challenges, if addressed, could make IoT systems more fault-tolerant, with an impact on their dependability, performance, and scalability.

Presented at IoTSS, part of ICCS 2021: https://www.iccs-meeting.org/iccs2021/

JP

June 16, 2021
Tweet

More Decks by JP

Other Decks in Research

Transcript

  1. A Review on Visual Programming for Distributed Computation in IoT

    Margarida Silva, João Pedro Dias, André Restivo and Hugo Sereno Ferreira {ana.margarida.silva,jpmdias,arestivo,hugosf}@fe.up.pt International Workshop on Computational Science in IoT and Smart Systems (part of ICCS 2021)
  2. Index ▪ Context ▪ Survey RQs ▪ SLR Process ▪

    Categorization ▪ Results & Analysis ▪ VP Approaches for Decentralized Computation ▪ Discussion & Final Remarks
  3. Context ▪ IoT systems are large-scale heterogeneous systems. ▪ Devices

    differ in computational power, communication protocols, architectures, etc. ▪ As these systems permeate our daily-lives, reducing the complexity of developing them becomes a critical requirement. ▪ This led to the exploration of low-code development approaches (e.g., visual programming); ▪ Node-RED is one of the most popular visual programming (VP) solutions for IoT. ▪ Most of VP solutions use a centralized architecture where a single entity transforms and processes most of the computation of the system. This has several well-known limitations: ▪ Single point of failure (SPOF); ▪ Violation of data boundaries (private, technological, and political); ▪ Unused edge computational power (low-tier devices).
  4. Survey Research Questions ▪ SRQ1. What are the relevant VP

    approaches applied to distributed computation and orchestration in IoT? ▪ SRQ2. What architectures and tiers characterize the approaches found in SRQ1? ▪ SRQ3. What was the evolution of VP approaches applied to IoT over the years focusing on its decentralized operation?
  5. SLR Query ▪ Databases: IEEEXplore, ACM DL, and Scopus. ▪

    Query: ((vpl OR visual programming OR visual-programming) OR (node-red OR node red OR nodered) OR (data-flow OR dataflow)) AND (iot OR internet-of-things)
  6. Categorization ▪ Domain (Scope): Smart Cities, Home Automation, Education, Industry

    or Several; ▪ Architecture: Centralized, Decentralized, and Mixed; ▪ License: Open-source or not (GPL v2, GPL v3, Apache v2, or LGPL v3); ▪ Tier: Cloud, Fog, or Edge. ▪ Scalability: Observations on how the approach scales (low, medium, high, or N/A); ▪ Programming: purely visual languages, hybrid text and visual, programming-by- example, constraint-oriented, or form-based (as defined by Downes and Boshernitsan); ▪ Web-based: VP can be used in a browser (yes/no).
  7. Survey Research Questions Reviewed ▪ SRQ1. What are the relevant

    VP approaches applied to distributed computation and orchestration in IoT? ▪ From the analyzed approaches we found 28 that share these concerns in IoT-scope. ▪ SRQ2. What architectures and tiers characterize the approaches found in SRQ1? ▪ Most of the solutions have a centralized architecture and work in the Cloud tier. ▪ SRQ3. What was the evolution of VP approaches applied to IoT over the years focusing on its decentralized operation? ▪ Some approaches share this concerns as back as 2003, but the years 2017–2018 saw a significant increase in publications focusing on this aspects.
  8. VP Approaches for Decentralized Computation (1/2) ▪ DDF: A distributed

    Node-RED (D-NR) approach where flows are analyzed by the different instances, which pick the flow to execute based on their context. ▪ uFlow and FogFlow: Based on Node-RED, parts of the flow can be translated into edge-device executable code (e.g., Lua). But the initial orchestration is a manual process, and there are no runtime adaptations (e.g., device down). ▪ FogFlow (yet another): By defining a representation of the system using a visual-textual approach (Service Template), the solution automatically allocates computational tasks depending on available resources, location and workload. Only works if Docker is available on edge devices.
  9. VP Approaches for Decentralized Computation (2/2) ▪ DDFlow: An extension

    to Node-RED in which a node represents an instantiation of a task deployed in a device and a wire can be a Stream (one- to-one), Broadcast (one-to-many), and Unite (many-to-one). An external coordinator is responsible to allocate nodes to devices depending on their capabilities and available services. Constrained devices are not directly used (a proxy is required).
  10. Key Takeaways ▪ Leveraging edge devices: a decentralized architecture takes

    advantage of the computational power of the devices in the network. Most of the analyzed solutions have limitations on the supported devices (limiting devices to higher tiers). ▪ Communication capabilities: the orchestrator must know each device’s capabilities so that it can make informed decisions regarding the decomposition and assignment of tasks. Most of the solutions have some discovery mechanism, but some of them rely on external or user-entered data. ▪ Open-source: While most solutions are based on open-source tools (e.g., Node-RED), some of them are not openly available, which limits our analysis. ▪ Computation decomposition: Applications need to be decomposed in order to run in a distributed fashion. Most of the solutions accomplish this, but some required manual adjustments. ▪ Run-time adaptation: Failures can happen during system operation which can limit their functioning. Adapting the system as it changes is a reliability requirement that all solutions achieve.
  11. Final Remarks ▪ There has been an increase in interest

    by the research community on leveraging computational resources of low-tier devices in the last years. ▪ Although some approaches exist, most of them show limitations in one or more aspect (cf. key takeaways). ▪ These solutions must be suitable for end-users and none of the analyzed solutions assert the feasibility of using such system by one. ▪ Most of the solutions are based on Node-RED which has several intricacies that could limit what the approaches are able to accomplish.
  12. Thank you! A Review on Visual Programming for Distributed Computation

    in IoT Margarida Silva, João Pedro Dias, André Restivo and Hugo Sereno Ferreira {ana.margarida.silva,jpmdias,arestivo,hugosf}@fe.up.pt International Workshop on Computational Science in IoT and Smart Systems (part of ICCS 2021)