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

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

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/


June 03, 2020

More Decks by JP

Other Decks in Research


  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
  2. Outline • Context • Objectives • Related Work • SHEN:

    Self-Healing Extensions for Node-RED • Experiments and Results • Final Remarks
  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.
  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/
  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)
  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.
  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)
  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.
  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
  10. 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.
  11. 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.
  12. 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.
  13. 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]