Class BarlowProschan<T>
- java.lang.Object
-
- org.jreliability.importancemeasures.BarlowProschan<T>
-
- Type Parameters:
T
- The type of the variables of theBDD
of the system
- All Implemented Interfaces:
ImportanceMeasure
public class BarlowProschan<T> extends java.lang.Object implements ImportanceMeasure
TheBarlowProschan
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 Modifier and Type Class Description protected class
BarlowProschan.BarlowProschanFunction
-
Field Summary
Fields Modifier and Type Field Description protected BDD<T>
bdd
protected BDDTTRF<T>
bddTTRF
protected MomentEvaluator
moment
protected BDDProvider<T>
provider
protected org.apache.commons.collections15.Transformer<T,ReliabilityFunction>
transformer
-
Constructor Summary
Constructors Constructor Description BarlowProschan(BDD<T> bdd, org.apache.commons.collections15.Transformer<T,ReliabilityFunction> transformer)
Returns aBarlowProschan
calculator for a specific system with itsBDD
andReliabilityFunction
Transformer
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description java.util.Map<T,java.lang.Double>
calculate()
Calculates the Barlow Proschan importances for all components.
-
-
-
Field Detail
-
transformer
protected final org.apache.commons.collections15.Transformer<T,ReliabilityFunction> transformer
-
provider
protected final BDDProvider<T> provider
-
moment
protected final MomentEvaluator moment
-
-
Constructor Detail
-
BarlowProschan
public BarlowProschan(BDD<T> bdd, org.apache.commons.collections15.Transformer<T,ReliabilityFunction> transformer)
Returns aBarlowProschan
calculator for a specific system with itsBDD
andReliabilityFunction
Transformer
.- Parameters:
bdd
- TheBDD
representing the system structure functiontransformer
- TheTransformer
used to get theReliabilityFunction
of variables present in theBDD
-
-
Method Detail
-
calculate
public java.util.Map<T,java.lang.Double> calculate() throws java.lang.ArithmeticException
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:
java.lang.ArithmeticException
- In case a non-coherent system is tried to be evaluated.
-
-