Multi-Agent Approach to Modeling and Implementing Fault-Tolerance in Reactive Autonomic Systems