Smart environment applications demand novel solutions for managing quality of services, especially availability and reliability at run-time. The underlying systems are changing dynamically due to addition and removal of system components, changing execution environments, and resources depletion. Therefore, in such dynamic systems, the functionality and the performance of smart environment applications can be hampered by faults. In this paper, we follow a proactive approach to anticipate system state at runtime. We present a proactive dependability framework to prevent faults at runtime based on predictive analysis to increase availability and reliability of smart environment applications, and reduce manual user interventions