Architecting Resilient Systems: Accident Avoidance and Survival and Recovery from Disruptions