Class ETCBasedComposer<I extends AdvancedComposition<Place>>

    • Constructor Detail

      • ETCBasedComposer

        public ETCBasedComposer​(I composition)
        Creates a new ETC-based Composer
        Parameters:
        composition - Collection of places ("Intermediate Model")
    • Method Detail

      • checkPrecisionGain

        public boolean checkPrecisionGain​(Place p)
        check (tau=1) / approximate (tau<1) whether a place makes the intermediate result sufficiently more precise
        Parameters:
        p - place
        Returns:
        true, if p is not implicit / sufficiently improves precision. Otherwise, false.
      • checkImplicitness

        public boolean checkImplicitness​(Place p)
        check (tau=1) / approximate (tau<1) whether a place is implicit (gamma=0) / insufficiently constrains precision (gamma>0)
        Parameters:
        p - place
        Returns:
        true, if p is implicit (gamma=0) / insufficiently constrains precision (gamma>0). Otherwise, false.
      • candidatesAreExhausted

        public void candidatesAreExhausted()
        Executed after the (premature) abort of the discovery Prints the (approximate) precision of the final model
      • initSelf

        protected void initSelf()
        Initialize the ETC-based composer: Builds prefix automaton and initial activity mappings.
        Specified by:
        initSelf in class AbstractBaseClass
      • checkPrecisionThreshold

        public boolean checkPrecisionThreshold​(double p)
        Checks whether precision threshold rho has been met
        Returns:
        true, if threshold is reached. Otherwise, false.
      • calcETCPrecision

        public double calcETCPrecision​(java.util.Map<Activity,​java.lang.Integer> activityToEscapingEdges,
                                       java.util.Map<Activity,​java.lang.Integer> activityToAllowed)
        Calculates the (approximate) ETC-precision based on the given activity mappings (including/excluding test-wise added/removed places)
        Parameters:
        activityToEscapingEdges - Mapping from activities to #EscapingEdges
        activityToAllowed - Mapping from activities to #Allowed
        Returns:
        (approximate) ETC-precision
      • evaluatePrecision

        public int[] evaluatePrecision​(Activity a)
        reevaluates (tau=1) / approximates (tau<1) the activity's mapping entries
        Parameters:
        a - activity to evaluate
        Returns:
        Integer-array of size two. [0]-#EscapingEdges a, [1]-#Allowed a