Class WpMethodEQOracle<A extends UniversalDeterministicAutomaton.RegularAutomaton<?,I,?,?,?> & Output<I,D>,I,D>

java.lang.Object
de.learnlib.oracle.equivalence.AbstractTestWordEQOracle<A,I,D>
de.learnlib.oracle.equivalence.WpMethodEQOracle<A,I,D>
Type Parameters:
A - automaton type
I - input symbol type
D - output domain type
All Implemented Interfaces:
EquivalenceOracle<A,I,D>, TestWordGenerator<A,I>
Direct Known Subclasses:
DFAWpMethodEQOracle, MealyWpMethodEQOracle, MooreWpMethodEQOracle

public class WpMethodEQOracle<A extends UniversalDeterministicAutomaton.RegularAutomaton<?,I,?,?,?> & Output<I,D>,I,D> extends AbstractTestWordEQOracle<A,I,D>
Implements an equivalence test by applying the Wp-method test on the given hypothesis automaton, as described in Test selection based on finite state models by S. Fujiwara et al.
  • Constructor Details

    • WpMethodEQOracle

      public WpMethodEQOracle(MembershipOracle<I,D> sulOracle)
      Constructor. Convenience method for WpMethodEQOracle(MembershipOracle, int) that sets lookahead to 1.
      Parameters:
      sulOracle - interface to the system under learning
    • WpMethodEQOracle

      public WpMethodEQOracle(MembershipOracle<I,D> sulOracle, int lookahead)
      Constructor. Convenience method for WpMethodEQOracle(MembershipOracle, int, int) that sets expectedSize to 0.
      Parameters:
      sulOracle - interface to the system under learning
      lookahead - the maximum length of the "middle" part of the test cases
    • WpMethodEQOracle

      public WpMethodEQOracle(MembershipOracle<I,D> sulOracle, int lookahead, int expectedSize)
      Constructor. Convenience method for WpMethodEQOracle(MembershipOracle, int, int, int) that sets batchSize to 1.
      Parameters:
      sulOracle - interface to the system under learning
      lookahead - the (minimal) maximum length of the "middle" part of the test cases
      expectedSize - the expected size of the system under learning
    • WpMethodEQOracle

      public WpMethodEQOracle(MembershipOracle<I,D> sulOracle, int lookahead, int expectedSize, int batchSize)
      Constructor. Uses Math.max(lookahead, expectedSize - hypothesis.size()) to determine the maximum length of sequences, that should be appended to the state-cover (first phase) and remaining transition-cover (second phase) part of the test sequence to account for the fact that the system under learning may have more states than the current hypothesis.
      Parameters:
      sulOracle - interface to the system under learning
      lookahead - the (minimal) maximum length of the "middle" part of the test cases
      expectedSize - the expected size of the system under learning
      batchSize - size of the batches sent to the membership oracle
      See Also:
  • Method Details