Class SimulatorEQOracle<I,O>

java.lang.Object
de.learnlib.oracle.equivalence.mmlt.SimulatorEQOracle<I,O>
Type Parameters:
I - input symbol type (of non-delaying inputs)
O - output symbol type
All Implemented Interfaces:
EquivalenceOracle<MMLT<?,I,?,O>,TimedInput<I>,Word<TimedOutput<O>>>, EquivalenceOracle.MMLTEquivalenceOracle<I,O>

public class SimulatorEQOracle<I,O> extends Object implements EquivalenceOracle.MMLTEquivalenceOracle<I,O>
A simulator oracle for MMLTs.
  • Constructor Details

    • SimulatorEQOracle

      public SimulatorEQOracle(MMLT<?,I,?,O> refModel)
  • Method Details

    • findCounterExample

      public @Nullable DefaultQuery<TimedInput<I>,Word<TimedOutput<O>>> findCounterExample(MMLT<?,I,?,O> hypothesis, Collection<? extends TimedInput<I>> inputs)
      Description copied from interface: EquivalenceOracle
      Searches for a counterexample disproving the subjected hypothesis. A counterexample is query which, when performed on the SUL, yields a different output than what was predicted by the hypothesis. If no counterexample could be found (this does not necessarily mean that none exists), null is returned.
      Specified by:
      findCounterExample in interface EquivalenceOracle<MMLT<?,I,?,O>,TimedInput<I>,Word<TimedOutput<O>>>
      Parameters:
      hypothesis - the conjecture
      inputs - the set of inputs to consider, this should be a subset of the input alphabet of the provided hypothesis
      Returns:
      a query exposing different behavior, or null if no counterexample could be found. In case a non-null value is returned, the output field in the DefaultQuery contains the SUL output for the respective query.