1. A method comprising: designing and thereby producing a design of a complex system embodied as an aerospace, automotive, marine or electronics system including a hierarchy of assembled components, designing the complex system including: receiving component fault-based models of respective ones of the assembled components, the component fault-based models including transfer functions expressed as fault trees each of at least some of which describes output of a respective component of the assembled components in a failure mode of the respective component in response to a failure event, and describes output of the respective component in an operating mode of the respective component in response to an internal state of the respective component, or an external input or command to the respective component; assembling the component fault-based models into a system fault-based model of the complex system, the system fault-based model including a transfer function expressed as an assembly of the fault trees of the component fault-based models, the assembly of the fault trees describing behavior of the complex system in a failure mode of the complex system, and describing behavior of the complex system in an operating mode of the complex system; performing a safety analysis using the system fault-based model, wherein performing the safety analysis includes generating a fault propagation model based on at least some of the component fault-based models or system fault-based model, the fault propagation model including one or more failure propagation paths and failure probabilities of inputs and outputs along the one or more failure propagation paths; and determining if the design of the complex system complies with requirements for safety certification of the complex system based on the safety analysis; and developing the complex system according to the design when the design complies with the requirements.