Class SimulatorEQOracle<I>

java.lang.Object
de.learnlib.oracle.equivalence.vpa.SimulatorEQOracle<I>
All Implemented Interfaces:
EquivalenceOracle<OneSEVPA<?,I>,I,Boolean>

public class SimulatorEQOracle<I> extends Object implements EquivalenceOracle<OneSEVPA<?,I>,I,Boolean>
An equivalence oracle based on the computation of a separating word for a given hypothesis and a previously known target system.
  • Constructor Details

    • SimulatorEQOracle

      public SimulatorEQOracle(OneSEVPA<?,I> reference)
  • Method Details

    • findCounterExample

      public @Nullable DefaultQuery<I,Boolean> findCounterExample(OneSEVPA<?,I> hypothesis, Collection<? extends 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<OneSEVPA<?,I>,I,Boolean>
      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.