Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A Review on Visual Programming for Distributed Computation in IoT

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)

    View Slide

  2. Index
    ▪ Context
    ▪ Survey RQs
    ▪ SLR Process
    ▪ Categorization
    ▪ Results & Analysis
    ▪ VP Approaches for Decentralized Computation
    ▪ Discussion & Final Remarks

    View Slide

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

    View Slide

  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?

    View Slide

  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)

    View Slide

  6. SLR Process

    View Slide

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

    View Slide

  8. SLR Results

    View Slide

  9. SLR Extended Results

    View Slide

  10. SLR Publications/Tools per Year

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide

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

    View Slide