This paper represents a step toward a more complete frame-work of safety analysis early in the design process, specifically during functional modeling. This would be especially useful when designing in a new domain, where many functions have yet to be solved, or for a problem where the functional architecture space is large. In order to effectively analyze the inherent safety of a design only described by its functions and flows, we require some way to simulate it.
As an already-available function failure reasoning tool, Function Failure Identification and Propagation (FFIP) utilizes two distinct system models: a behavioral model, and a functional model. The behavioral model simulates system component behavior, and FFIP maps specific component behaviors to functions in the functional model. We have created a new function-failure reasoning method which generalizes failure behavior directly to functions, by which the engineer can create functional models to simulate the functional failure propagations a system may experience early in the design process without a separate behavioral model.
We give each basis-defined function-flow element a pre-defined behavior consisting of nominal and failure operational modes, and the resultant effect each mode has on its functions connected flows. Flows are represented by a two-variable object reminiscent of a bond from bond graphs: the state of each flow is represented by an effort variable and a flow-rate variable. The functional model may be thought of as a bond graph where each functional element is a state machine. Users can quickly describe functional models with consistent behavior by constructing their models as Python NetworkX graph objects, so that they may quickly model multiple functional architectures of their proposed system. We are implementing the method in Python to be used in conjunction with other function-failure analysis tools.
We also introduce a new method for the inclusion of time in a state machine model, so that dynamic systems may be modeled as fast-evaluating state machines. State machines have no inherent representation of time, while physics-based models simulate along repetitive time steps. We use a more middle-ground pseudo time approach. State transitions may impose a time delay once all of their connected flow conditions are met. Once the entire system model has reached steady state in a timeless sense, the clock is advanced all at once to the first time at which a reported delay is ended. Simulation then resumes in the timeless sense.
We seek to demonstrate this modeling method on an electrical power system functional model used in previous FFIP studies, in order to compare the failure scenario results of an exhaustive fault combination experiment with similar results using the FFIP method.