Reliability in System Models

Reliability of a component or system is the probability that it will function for a specified period of time. This is modeled as a lifetime distribution. A system built from independent components will itself have a lifetime distribution that can be computed from component lifetime distributions and system structure. Reliability is often used for safety reasons (nuclear, offshore, aerospace, …) as well as economic reasons (warranties, customer satisfaction, …).

Behavioral Modeling

Behavioral modeling tries to analyze how a system works. In a system like a car, for example, it might model the burning of gas in the engine, the moving of pistons and the transmission of power to the wheels.

Behavioral modeling is very useful for understanding how things behave, how different design changes will change how the complete system behaves or for finding problems with a particular system design.

Reliability Modeling

Reliability modeling concerns itself with how long the system will function in a satisfactory manner. This is done by studying what combinations of components must function in order for the system to function. A simplified reliability model of a car would be to consider the car working if the wheels are working (no flats, for example), the engine is producing enough power, the transmission can transfer that power to the wheels, and finally that one in a redundant pair of braking systems works.

For each of the components in the system, a distribution is given describing how long that type of component is expected to function. With these component reliabilities, combined with the system-level description of what components need to function, a distribution of how long the complete system will function can be computed. With the same information, you can also compute things like which components should be improved to improve overall reliability, or which components could have a lower reliability without compromising system reliability.

The reliability information can be embedded in the same model that is used for behavioral simulation and can be used for reliability analysis using the Wolfram Language.

Reliability Modeling in Model Center

(RefLink[SystemModeler, paclet:ref/SystemModeler]) Model Center allows you to edit information on the reliability of components and systems. This is done in the Reliability view at the bottom of the main window. If the view is not shown, it can be enabled by choosing View ▶ Reliability in Model Center.

Each component in a class can be assigned a distribution describing the lifetime of that component. Additionally, a class containing components can be assigned a (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]) or (RefLink[FailureDistribution, paclet:ref/FailureDistribution]) that depends on the lifetimes of components in that class.

Editing Distributions

Each class can have an attached lifetime distribution describing the expected lifetime of the system or component. To edit this distribution, open the class and set the distribution in the Reliability view at the bottom of Model Center.

The Reliability view in Model Center.

When using a class as a component in a larger system, the lifetime distribution of the original class can be overridden by opening the larger system; selecting the component in the Icon View, the Diagram View or the Component Browser; and setting the new distribution in the Reliability view.

Finally, for a larger system, you can either set the lifetime distribution outright by choosing a distribution not dependent on components, such as the (RefLink[ExponentialDistribution, paclet:ref/ExponentialDistribution]), or by choosing a system distribution such as (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]) or (RefLink[FailureDistribution, paclet:ref/FailureDistribution]).

If you choose a system distribution, the argument given should be a Boolean expression referencing which components need to work or fail to make the system work or fail. For example, if you are using (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]), and the system works if the components "resistor1" and "resistor2" work, the Boolean expression entered would be "resistor1 and resistor2".

Note that if you choose a non-structural distribution for a system, all components in that class will be ignored, regardless of what their reliability information says.

If the class you are viewing is read only, the Reliability view will be read only as well, showing the reliability information but disallowing editing.

Reliability Analysis in the Wolfram Language

When reliability information is present in a (RefLink[SystemModel, paclet:ref/SystemModel]), that information can be used to perform reliability calculations in the Wolfram Language using (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability]).

Retrieve the lifetime distribution for a parallel system.

dist=SystemModelReliability[]

Plot the survival function, showing the likelihood that the system works after a certain time.

Plot[SurvivalFunction[dist,t],{t,0,8},Filling->Axis]

Retrieve the mean time to failure (MTTF) for the complete system.

Mean[dist]

For more examples and documentation, see (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability]).