$30 off During Our Annual Pro Sale. View Details »

Visual Self-Healing Modelling for Reliable Internet-of-Things Systems

JP
June 03, 2020

Visual Self-Healing Modelling for Reliable Internet-of-Things Systems

Paper presentation at the International Conference on Computational Science 2020, https://www.iccs-meeting.org/iccs2020/

JP

June 03, 2020
Tweet

More Decks by JP

Other Decks in Research

Transcript

  1. Visual Self-Healing Modelling for Reliable
    Internet-of-Things Systems
    João Pedro Dias, Bruno Lima, João Pascoal Faria,
    André Restivo and Hugo Sereno Ferreira
    ICCS 2020 - IoTSS
    03/06/2020

    View Slide

  2. Outline
    ● Context
    ● Objectives
    ● Related Work
    ● SHEN: Self-Healing Extensions for Node-RED
    ● Experiments and Results
    ● Final Remarks

    View Slide

  3. Context: Internet-of-Things
    ● Heterogeneous
    ● Large-scale
    ● Distributed
    ● Complex
    ● Computing Constraints
    ● Low-cost end-devices
    ● Safety-critical concerns
    ● Known for their lack of fault-tolerance
    mechanisms (e.g. Internet-connection
    dependency) and several security and
    privacy issues.

    View Slide

  4. Context: Node-RED
    Visual dataflow programming
    environment and runtime.
    Built on JavaScript (Node.js)
    Programs are based on wiring
    nodes to create flows.
    Node-RED, https://nodered.org/

    View Slide

  5. Context: Autonomic Computing
    Concept introduced by Ganek
    and Corbi (IBM).
    IoT, mostly due to its
    non-manageable complexity, is
    in imminent need for
    autonomic components.
    Self-Configuring
    Adapt to dynamically
    changing environments
    Self-Optimizing
    Tune resources and balance
    workloads to meet service
    demands
    Self-Protecting
    Anticipate, detect, identify,
    and protect against attacks
    Self-Healing
    Discover, diagnose, and act
    to prevent disruptions
    Autonomic
    Computing
    Ganek, A.G., Corbi, T.A.: The dawning of the autonomic
    computing era. IBM systems Journal 42(1), 5-18 (2003)
    Vermesan, O., et al.: Internet of things strategic research
    roadmap. Internet of things-global technological and societal
    trends 1(2011), 9{52 (2011)

    View Slide

  6. Objectives
    Visual Programming
    Abstract low-level complexity by
    high-level visual models
    Runtime Verification
    Check if the system comply with
    its specification during runtime
    Self-Healing Strategies
    Focus on the self-healing aspect
    of autonomic computing
    Visual-defined Self-Healing IoT Systems
    Ability to visually model diagnosis and recovery/maintenance of health mechanisms to
    improve IoT systems’ reliability, thus enabling them to be self-healing.

    View Slide

  7. Related Work
    Angarita et al. introduces the concept of responsible objects: things should be self-aware of
    their context, and able to self-heal based on transactional properties.
    Aktas et al. are among the first to use of runtime verification by “applying rule-based pattern
    detection on the events generated real-time”. But they do not leverage the information collect
    beyond of reporting to human operators.
    Leotta et al. uses UML state machines specifications to check the system runtime behaviour
    correctness. The dependency on a “specification” is infeasible when dealing within dynamic
    topology environments.
    Angarita, R.: Responsible objects: Towards self-healing internet of things applications. Proceedings - IEEE International Conference on Autonomic Computing, ICAC 2015 pp. 307-312
    (2015)
    Aktas, M.S., Astekin, M.: Provenance aware run-time verification of things for self-healing Internet of Things applications. Concurrency Computation 31(3), 1-9 (2019)
    Leotta, M., Ancona, D., Franceschini, L., Olianas, D., Ribaudo, M., Ricca, F.: Towards a Runtime Verification Approach for Internet of Things Systems. In: Proceedings of the International
    Conference on Web Engineering, vol. 11153, pp. 83-96. Springer International Publishing (2018)

    View Slide

  8. SHEN: Self-Healing Extensions for Node-RED
    SHEN: Self-Healing Extensions for Node-RED, https://github.com/jpdias/node-red-contrib-self-healing
    Probes
    Runtime verification nodes.
    - Timeout
    - Threshold
    - Timing Issue
    - Action check
    - ...
    Errors
    Systems’ misbehaviours caused
    by faults that can lead to failures.
    - Action not triggered;
    - Sensing values missing;
    - Unexpected behaviours (e.g.
    lights turning on/off randomly)
    - ...
    Recovery & Maintenance of Health
    Mechanisms
    Mechanisms to recovery (or contain) errors to
    maintain the system in a healthy state:
    - Replacement;
    - Balancing;
    - Isolation;
    - Diversity;
    - ...
    Psaier, H., & Dustdar, S. (2011). A survey on self-healing systems
    Approaches and systems. Computing (Vienna/New York), 91(1),
    43–73.

    View Slide

  9. SHEN: Self-Healing Extensions for Node-RED
    ● A set of nodes capable of acting as probes
    and self-healing.
    ● Working similarly to any other Node-RED node.
    ● Ability to deal with both failures at the
    hardware level (e.g. erroneous sensing values)
    and services level (e.g. dead MQTT server).
    ● Example nodes: ToggleFlow, ServiceTimeout,
    ThresholdCheck, Compensate, TestAction

    View Slide

  10. Experiments and Results: Testbed
    Smart Lab Laboratory-scale testbed

    View Slide

  11. Experiments and Results
    Scenarios:
    ● Unavailability of Message Broker
    ○ Timeout + ToggleFlow
    ● Erroneous Sensor Readings
    ○ ThresholdCheck + Compensate
    ● Connectivity Issues
    ○ TestAction (with built-in Timeout)
    Example of Compensate node behaviour.

    View Slide

  12. Final Remarks
    Extending Node-RED is challenging due to some
    limitations:
    - no support for labels or annotations
    - lack of multiple inputs
    - no type-system or static analysis
    - no proper debugging
    - no meta-programming features.
    Nonetheless, we are able to improve systems build with
    Node-RED by providing a node palette that provides
    self-healing capabilities.

    View Slide

  13. Final Remarks: Future Work
    We consider the following steps in our research:
    - Extending the SHEN node palette;
    - Validate SHEN in other scenarios, with different scale and complexity,
    according to metrics such as: downtime, mean time to recovery (MTTR),
    response time,...
    - Modify Node-RED internals to address some of the identified limitations, such
    as debugging capabilities.
    - Expand to other autonomic computing self-* capabilities.

    View Slide

  14. Thank You.
    Visual Self-Healing Modelling for Reliable Internet-of-Things Systems
    João Pedro Dias, Bruno Lima, João Pascoal Faria,
    André Restivo and Hugo Sereno Ferreira
    SHEN: Self-Healing Extensions for Node-RED
    https://github.com/jpdias/node-red-contrib-self-healing
    Contact email: [email protected]

    View Slide