({{, (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability])[model]
retrieves the lifetime distribution for model.}, {, (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability])[model,"Components"]
gives a list of components in (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]) or (RefLink[FailureDistribution, paclet:ref/FailureDistribution]).}, {, (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability])[model,"ComponentRules"]
gives a list of translation rules for components.}})

OpenersNotesSection(Spacer1)Details

The model can be a (RefLink[SystemModel, paclet:ref/SystemModel]) object, a full model name string or a shortened model name accepted by (RefLink[SystemModel, paclet:ref/SystemModel]).

The reliability for a system is the probability that it functions correctly at time t. The reliability for a whole system depends on the reliability of its components. (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability]) automatically computes the distribution for the system reliability from its component reliability distributions.

The output from (RefLink[SystemModelReliability, paclet:ref/SystemModelReliability]) can be used with functions such as:

The reliability information for models can be edited in (RefLink[SystemModeler, paclet:ref/SystemModeler]).

(RefLink[SystemModelReliability, paclet:ref/SystemModelReliability])[model] may return the system reliability using (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]) or (RefLink[FailureDistribution, paclet:ref/FailureDistribution]).

OpenersPrimaryExamplesSection(Spacer1)Examples  (11)

OpenersExampleSection0(Spacer1)Basic Examples  (3)

Retrieve the lifetime distribution for a model, in this case a (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]):

SystemModelReliability[]

Retrieve the lifetime distribution for a model:

dist=SystemModelReliability[];

Plot the survival function to see the likelihood a system works after a certain time:

Plot[SurvivalFunction[dist,t],{t,0,3}]

Component names from the model are shortened:

model=;

dist=SystemModelReliability[model]

Retrieve rules that show the mapping to the original names from the model:

SystemModelReliability[model,"ComponentRules"]

OpenersExampleSection1(Spacer1)Scope  (3)

Compare the lifetimes between a parallel and a serial system:

parallel=SystemModelReliability["DocumentationExamples.Basic.Parallel"];

serial=SystemModelReliability["DocumentationExamples.Basic.Serial"];

Survival functions show a higher probability of functioning for the parallel system at any time:

Plot[{SurvivalFunction[parallel,t],SurvivalFunction[serial,t]},{t,0,3},PlotLegends->{"Parallel","Serial"}]

Compute the expected lifetime for a system:

dist=SystemModelReliability[];

The expected lifetime is often called the mean time to failure:

mttf=Mean[dist]

Analyze how structurally important components are for system reliability:

model=;

dist=SystemModelReliability[model];

Retrieve the original component names:

names=SystemModelReliability[model,"Components"]

Looking at system structure, the EMF, inductor and inertia are the most important for reliability:

BarChart[{StructuralImportance[dist]},ChartLegends->names]

OpenersExampleSection3(Spacer1)Applications  (4)

Study the reliability of an electric motor:

model=;

Retrieve the lifetime distribution, where the system works if one of the resistors works:

dist=SystemModelReliability[model]

Show the probability of survival over time:

Plot[SurvivalFunction[dist,t],{t,0,10},PlotRange->{0,1},Filling->Axis]

Compute the mean time to failure:

Mean[dist]

Retrieve the original component names referenced in the (RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution]):

componentNames=SystemModelReliability[model,"Components"]

Show how structurally important each component is for reliability:

PieChart[StructuralImportance[dist],ChartLegends->componentNames]

Analyze how important components are for system reliability:

model=;

dist=SystemModelReliability[model];

The mean time to failure for this model:

mttf=Mean[dist]

(RefLink[BirnbaumImportance, paclet:ref/BirnbaumImportance]) shows that the EMF component is the most important for reliability:

names=SystemModelReliability[model,"Components"]

Plot[Evaluate@BirnbaumImportance[dist,t],{t,0,10},Filling->Axis,PlotLegends->names]

Compare with a model where the EMF component has been improved:

hardmodel=;

harddist=SystemModelReliability[hardmodel];

The mean system lifetime has improved around 11%:

hardmttf=Mean[harddist]

hardmttf/mttf

Model the reliability of an uninterruptible power supply (UPS) setup:

model=;

Power is supplied from the utility through power lines, or from a battery through an inverter:

dist=SystemModelReliability[model];

Compute the mean time to failure (MTTF) and convert it to years:

mttf=Mean[dist]//N;

UnitConvert[Quantity[mttf,"Hours"],"Years"]

Compare with a version of the same system with hardened components:

modelhard=;

disthard=SystemModelReliability[modelhard];

The MTTF for the hardened system is significantly higher:

mttfhard=Mean[disthard]//N;

UnitConvert[Quantity[mttfhard,"Hours"],"Years"]

Compute the two survival functions:

{s,shard}=Map[SurvivalFunction,{dist,disthard}];

Show the survival functions for the two systems, indicating the different MTTF:

Plot[{s[t],shard[t]},{t,0,110000},PlotRange->{0,1},Filling->Axis,Epilog->{Red,Thick,Line[{{mttf,0},{mttf,s[mttf]}}],Line[{{mttfhard,0},{mttfhard,shard[mttfhard]}}]},PlotLegends->{"Standard","Hardened"},ImageSize->Medium]

Model how failures impact system performance. A resistor in a DC motor fails at time 20, another at time 35:

sim=SystemModelSimulate[]

One resistor failure decreases motor speed; two failures make the motor fail completely:

SystemModelPlot[sim,"inertia1.w",PlotRange->All,GridLines->{{20,35}},GridLinesStyle->Directive[Red,Thick]]

OpenersExampleSection4(Spacer1)Properties & Relations  (1)

Component names are changed when retrieving a system lifetime distribution:

model=;

SystemModelReliability[model]

Retrieve the translation rules applied:

SystemModelReliability[model,"ComponentRules"]

Retrieve just the original names, in the same order as referenced in the system distribution:

SystemModelReliability[model,"Components"]

({{DocumentationFooterIconsRelatedFunction.png, ({{See Also}, {(RefLink[ReliabilityDistribution, paclet:ref/ReliabilityDistribution])  ▪  (RefLink[FailureDistribution, paclet:ref/FailureDistribution])  ▪  (RefLink[SurvivalFunction, paclet:ref/SurvivalFunction])  ▪  (RefLink[SystemModels, paclet:ref/SystemModels])  ▪  (RefLink[SystemModel, paclet:ref/SystemModel])  ▪  (RefLink[SystemModelExamples, paclet:ref/SystemModelExamples])}})}})

({{DocumentationFooterIconsRelatedTutorial.png, ({{Tutorials}, {▪(RefLinkPlain[Reliability in System Models, paclet:tutorial/ReliabilityInSystemModels])}})}})

({{DocumentationFooterIconsRelatedGuide.png, ({{Related Guides}, {▪(RefLinkPlain[System Model Analytics & Design, paclet:guide/SystemModelAnalyticsDesign])}, {▪(RefLinkPlain[System Modeling Overview, paclet:guide/SystemModelingOverview])}})}})

({{(Spacer1), ({{(Spacer1)Related Links}, {(Spacer1)▪(WebLink[(Spacer1)Wolfram SystemModeler Documentation, http://reference.wolfram.com/system-modeler/])}})}})