  Internet-of-Things (IoT) systems have spread among different application
domains, from home automation to industrial manufacturing processes. The rushed
development by competing vendors to meet the market demand of IoT solutions,
the lack of interoperability standards, and the overall lack of a defined set
of best practices have resulted in a highly complex, heterogeneous, and
frangible ecosystem. Several works have been pushing towards visual programming
solutions to abstract the underlying complexity and help humans reason about
it. As these solutions begin to meet widespread adoption, their building blocks
usually do not consider reliability issues. Node-RED, being one of the most
popular tools, also lacks such mechanisms, either built-in or via extensions.
In this work we present SHEN (Self-Healing Extensions for Node-RED) which
provides 17 nodes that collectively enable the implementation of self-healing
strategies within this visual framework. We proceed to demonstrate the
feasibility and effectiveness of the approach using real devices and fault
injection techniques.
