Package de.learnlib.oracle.equivalence
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 typeI- input symbol typeD- 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.
-
Nested Class Summary
Nested classes/interfaces inherited from interface de.learnlib.oracle.EquivalenceOracle
EquivalenceOracle.DFAEquivalenceOracle<I>, EquivalenceOracle.MealyEquivalenceOracle<I,O>, EquivalenceOracle.MMLTEquivalenceOracle<I, O>, EquivalenceOracle.MooreEquivalenceOracle<I, O> -
Constructor Summary
ConstructorsConstructorDescriptionWpMethodEQOracle(MembershipOracle<I, D> sulOracle) Constructor.WpMethodEQOracle(MembershipOracle<I, D> sulOracle, int lookahead) Constructor.WpMethodEQOracle(MembershipOracle<I, D> sulOracle, int lookahead, int expectedSize) Constructor.WpMethodEQOracle(MembershipOracle<I, D> sulOracle, int lookahead, int expectedSize, int batchSize) Constructor. -
Method Summary
Modifier and TypeMethodDescriptiongenerateTestWords(A hypothesis, Collection<? extends I> inputs) Generate the stream of words that should be evaluated for the given hypothesis.Methods inherited from class de.learnlib.oracle.equivalence.AbstractTestWordEQOracle
findCounterExample
-
Constructor Details
-
WpMethodEQOracle
Constructor. Convenience method forWpMethodEQOracle(MembershipOracle, int)that setslookaheadto 1.- Parameters:
sulOracle- interface to the system under learning
-
WpMethodEQOracle
Constructor. Convenience method forWpMethodEQOracle(MembershipOracle, int, int)that setsexpectedSizeto 0.- Parameters:
sulOracle- interface to the system under learninglookahead- the maximum length of the "middle" part of the test cases
-
WpMethodEQOracle
Constructor. Convenience method forWpMethodEQOracle(MembershipOracle, int, int, int)that setsbatchSizeto 1.- Parameters:
sulOracle- interface to the system under learninglookahead- the (minimal) maximum length of the "middle" part of the test casesexpectedSize- the expected size of the system under learning
-
WpMethodEQOracle
public WpMethodEQOracle(MembershipOracle<I, D> sulOracle, int lookahead, int expectedSize, int batchSize) Constructor. UsesMath.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 learninglookahead- the (minimal) maximum length of the "middle" part of the test casesexpectedSize- the expected size of the system under learningbatchSize- size of the batches sent to the membership oracle- See Also:
-
-
Method Details
-
generateTestWords
Description copied from interface:TestWordGeneratorGenerate the stream of words that should be evaluated for the given hypothesis.- Parameters:
hypothesis- the current hypothesisinputs- the collection of inputs to consider- Returns:
- the stream of test words used for (equivalence) testing
- See Also:
-