fmdtools: A Fault Propagation Toolkit for Resilience Assessment in Early Design
Incorporating resilience in design is important for the long-term viability of complex engineered systems. Complex aerospace systems, for example, must ensure safety in the event of hazards resulting from part failures and external circumstances while maintaining efficient operations. Traditionally, mitigating hazards in early design has involved experts manually creating hazard analyses in a time-consuming process that hinders one's ability to compare designs. Furthermore, as opposed to reliability-based design, resilience-based design requires using models to determine the dynamic effects of faults to compare recovery schemes. Models also provide design opportunities, since models can be parameterized and optimized and because the resulting hazard analyses can be updated iteratively. While many analysis frameworks have been presented for early hazard assessment, these frameworks are difficult to apply without reference implementations, and most currently-available fault modelling tools are meant for the later stages of design. This paper describes fmdtools, a Python-based resilience-based design and analysis environment that solves these problems by enabling the designer to represent the system in the early design process, simulate the effects of faults, and quantify corresponding resilience metrics. This toolkit is then demonstrated in the hazard analysis and architecture design of a multi-rotor drone.