The complexity of large-scale smart environment applications technologies impose significant maintenance challenges, primarily due to sudden failures and environmental changes. Low capacity sensor and actuator nodes play an important role in smart environment on the technology side as they provide the bridge between the digital world and the physical world. Therefore, a smart environment application relies first and foremost on sensory data acquired from multiple sensors in various locations. These sensor nodes are typically small, wireless, and battery-powered nodes, prone to faults due to internal and external influences, such as low battery and memory, miscalibration, hardware/ software faults, environmental interferences and sensor aging. Following figure visualizes how a fault can evolve into a failure in smart environment applications. Fault is a deviation of at least one characteristic property or parameter of the system from normal operation. Error is an inconsistent or erroneous state because of a deviation from the required operation of system or subsystem. The presence of an error might cause a whole system to deviate from its required operation. A failure is defined as an event that occurs when the delivered service deviates from correct service. Accordingly, an application failure occurs when the system fails to perform its required function because provided service not according to specification. Therefore, it is necessary to detect and recover faults at run-time to minimize manual interventions.
TU/e has been investigating the self-healing property, which is aimed to provide applications that are reliable, highly available and dependable. Self-healing attempts to monitor and analyze sensory data to autonomously predict and detect, and prevent and heal faults respectively. Our long-term research goal is the development of a detailed dependability framework and to evaluate reliability and availability of smart environment applications as a result of self-healing property of the framework. Following figure shows the high-level architecture of the proposed dependability framework. The main purpose of the dependability framework is to increase reliability and availability of smart environment applications.