Class MealyFixedSetEQOracle

java.lang.Object
net.maswag.falcaun.MealyFixedSetEQOracle
All Implemented Interfaces:
de.learnlib.oracle.EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,String,?,String>,String,net.automatalib.word.Word<String>>, de.learnlib.oracle.EquivalenceOracle.MealyEquivalenceOracle<String,String>, EvaluationCountable, EvaluationCountable.MealyEquivalenceOracle<String,String>

public class MealyFixedSetEQOracle extends Object implements de.learnlib.oracle.EquivalenceOracle.MealyEquivalenceOracle<String,String>, EvaluationCountable.MealyEquivalenceOracle<String,String>
Equivalence oracle that uses a fixed set of samples.
  • Field Details

    • fixedSamples

      List<net.automatalib.word.Word<String>> fixedSamples
    • ltlOracles

      private final List<de.learnlib.oracle.PropertyOracle.MealyPropertyOracle<String,String,String>> ltlOracles
    • memOracle

      protected final de.learnlib.oracle.MembershipOracle.MealyMembershipOracle<String,String> memOracle
    • evaluateCount

      protected int evaluateCount
  • Constructor Details

    • MealyFixedSetEQOracle

      public MealyFixedSetEQOracle(List<de.learnlib.oracle.PropertyOracle.MealyPropertyOracle<String,String,String>> ltlOracles, de.learnlib.oracle.MembershipOracle.MealyMembershipOracle<String,String> memOracle)
      Constructor for MealyFixedSetEQOracle.
      Parameters:
      ltlOracles - the list of LTL oracles so that we stop if all of them are disproved.
      memOracle - the membership oracle used to test the equivalence.
  • Method Details

    • add

      public void add(net.automatalib.word.Word<String> sample)
    • addAll

      public void addAll(Collection<net.automatalib.word.Word<String>> samples)
    • isDisproved

      private boolean isDisproved()
      Returns whether the property is disproved i.e., whether it observed such an input that the cost function < 0.
      Returns:
      whether the property is disproved.
    • findCounterExample

      @Nullable @ParametersAreNonnullByDefault public de.learnlib.query.DefaultQuery<String,net.automatalib.word.Word<String>> findCounterExample(net.automatalib.automaton.transducer.MealyMachine<?,String,?,String> hypothesis, Collection<? extends String> inputs)
      Specified by:
      findCounterExample in interface de.learnlib.oracle.EquivalenceOracle<net.automatalib.automaton.transducer.MealyMachine<?,String,?,String>,String,net.automatalib.word.Word<String>>