Class BarlowProschan<T>
java.lang.Object
org.jreliability.importancemeasures.BarlowProschan<T>
- Type Parameters:
T- The type of the variables of theBDDof the system
- All Implemented Interfaces:
ImportanceMeasure
The
BarlowProschan class calculates the time-independent importance for
coherent systems proposed by Barlow and Proschan in [BP75].
Uses the implementation of the BP importance in [Nat09].
[BP75] ( https://doi.org/10.1016/0304-4149(75)90013-7 )
[Nat09] ( https://doi.org/10.1007/s11009-008-9079-1 )-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionprotected final MomentEvaluatorprotected final BDDProvider<T> protected final org.apache.commons.collections15.Transformer<T, ReliabilityFunction> -
Constructor Summary
ConstructorsConstructorDescriptionBarlowProschan(BDD<T> bdd, org.apache.commons.collections15.Transformer<T, ReliabilityFunction> transformer) Returns aBarlowProschancalculator for a specific system with itsBDDandReliabilityFunctionTransformer. -
Method Summary
-
Field Details
-
bdd
-
transformer
-
provider
-
bddTTRF
-
moment
-
-
Constructor Details
-
BarlowProschan
public BarlowProschan(BDD<T> bdd, org.apache.commons.collections15.Transformer<T, ReliabilityFunction> transformer) Returns aBarlowProschancalculator for a specific system with itsBDDandReliabilityFunctionTransformer.- Parameters:
bdd- TheBDDrepresenting the system structure functiontransformer- TheTransformerused to get theReliabilityFunctionof variables present in theBDD
-
-
Method Details
-
calculate
Calculates the Barlow Proschan importances for all components. It is only defined for coherent systems, ie. for systems where its reliability is with component x working is always higher, than when it is not working. As it integrates over the difference in the reliability, the difference must not be negative ie. the system must be coherent. Uses equation 2 of [Nat09] to create the BP function, to be integrated.- Returns:
- results Map of components and their respective Barlow Proschan importance
- Throws:
ArithmeticException- In case a non-coherent system is tried to be evaluated.
-