Class CriticalityCalculator<T>

  • Type Parameters:
    T - The type of the variables of the BDD of the system

    public class CriticalityCalculator<T>
    extends java.lang.Object
    The CriticalityCalculator is a utility class used to calculate the CriticalityValues and CriticalityBDDs of the components of a system. Uses [ABGT17] in order to calculate the CriticalityBDDs and the corresponding CriticalityValues via boolean expression. [ABGT17] ( https://doi.org/10.1016/j.ress.2016.12.013 )
    • 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
    • Method Detail

      • getCriticalityValues

        public java.util.Map<T,​CriticalityValues> getCriticalityValues​(double time)
        Calculates the CriticalityValues for all components at the specified time. Uses equations 5 and 6 of [ABGT17] to calculate the CriticalityValues via the CriticalityBDDs instead of the partial derivatives.
        Parameters:
        time - Time t at which the CriticalityValues of all components is calculated. Must be greater than 0, otherwise an IllegalArgumentException is thrown.
        Returns:
        results Map of components and their respective CriticalityValues values at time t.
      • getCriticalityBDDs

        public CriticalityBDDs<T> getCriticalityBDDs​(T var)
        Calculates the failure and repair CriticalityBDDs of the given variable (component). Uses Proposition 1 of [ABGT17].
        Parameters:
        var - Variable for wich the failure and repair CriticalityBDDs are calculated.
        Returns:
        CriticalityBDDs Wrapper for the failure criticality BDD and the repair criticality BDD.