Class RRW<T>

  • Type Parameters:
    T - The type of the variables of the BDD of the system
    All Implemented Interfaces:
    ImportanceMeasure, TimeDependentImportanceMeasure<T>

    public class RRW<T>
    extends java.lang.Object
    implements TimeDependentImportanceMeasure<T>
    The RRW class calculates the RRW values for coherent and non-coherent systems. Uses [Ali17] to calculate them. [Ali17] ( https://nbn-resolving.org/urn:nbn:de:bvb:29-opus4-87185 )
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.Map<T,​java.lang.Double> calculate​(double time)
      Calculates the RRW values for all components at the specified time.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • bdd

        protected final BDD<T> bdd
      • transformer

        protected final org.apache.commons.collections15.Transformer<T,​ReliabilityFunction> transformer
      • bddTTRF

        protected final BDDTTRF<T> bddTTRF
    • Constructor Detail

      • RRW

        public RRW​(BDD<T> bdd,
                   org.apache.commons.collections15.Transformer<T,​ReliabilityFunction> transformer)
        Returns a RRW calculator for a specific system with its BDD and ReliabilityFunction Transformer.
        Parameters:
        bdd - The BDD representing the system structure function
        transformer - The Transformer used to get the ReliabilityFunction of variables present in the BDD
    • Method Detail

      • calculate

        public java.util.Map<T,​java.lang.Double> calculate​(double time)
        Calculates the RRW values for all components at the specified time. Uses equation 4.7 of [Ali17] to calculate the RRW values from the conditional unreliability of the system if a component works correctly and the nominal system unreliability. Note: [BAGT16] (https://doi.org/10.1016/j.ejor.2016.03.054) use a slightly different notation. They use U_i^- instead of U_i^+ because they use failure probabilities, while this framework generally uses success probabilities for the components, as does [Ali17]. In [BAGT16] U_i^- corresponds to no failure in a component. In [Ali17] U_i^+ corresponds to a correctly working component. They are equivalent.
        Specified by:
        calculate in interface TimeDependentImportanceMeasure<T>
        Parameters:
        time - Time t at which the RRW values of all components is calculated. Must be greater than 0, otherwise an IllegalArgumentException is thrown.
        Returns:
        results Map of components and their respective RRW values at time t.