- Type Parameters:
A- automaton type this equivalence oracle works onI- input symbol typeD- output domain type
- All Known Subinterfaces:
BlackBoxOracle<A,,I, D> BlackBoxOracle.DFABlackBoxOracle<I>,BlackBoxOracle.MealyBlackBoxOracle<I,,O> EquivalenceOracle.DFAEquivalenceOracle<I>,EquivalenceOracle.MealyEquivalenceOracle<I,,O> EquivalenceOracle.MMLTEquivalenceOracle<I,,O> EquivalenceOracle.MooreEquivalenceOracle<I,,O> InclusionOracle<A,,I, D> InclusionOracle.DFAInclusionOracle<I>,InclusionOracle.MealyInclusionOracle<I,,O> PropertyOracle<I,,A, P, D> PropertyOracle.DFAPropertyOracle<I,,P> PropertyOracle.MealyPropertyOracle<I,O, P>
- All Known Implementing Classes:
AbstractBFInclusionOracle,AbstractTestWordEQOracle,BasePropertyOracle,CExFirstOracle,CompleteExplorationEQOracle,CounterEQOracle,DFABFInclusionOracle,DFACExFirstOracle,DFACompleteExplorationEQOracle,DFADisproveFirstOracle,DFAEQOracleChain,DFAFinitePropertyOracle,DFAIncrementalWMethodEQOracle,DFALassoPropertyOracle,DFALoggingPropertyOracle,DFAPropertyOracleChain,DFARandomWMethodEQOracle,DFARandomWordsEQOracle,DFARandomWpMethodEQOracle,DFASimulatorEQOracle,DFAWMethodEQOracle,DFAWpMethodEQOracle,DisproveFirstOracle,EarlyExitEQOracle,EQOracleChain,IncrementalWMethodEQOracle,KWayStateCoverEQOracle,KWayTransitionCoverEQOracle,LoggingPropertyOracle,MealyBFInclusionOracle,MealyCacheConsistencyTest,MealyCExFirstOracle,MealyCompleteExplorationEQOracle,MealyDisproveFirstOracle,MealyEQOracleChain,MealyFinitePropertyOracle,MealyIncrementalWMethodEQOracle,MealyLassoPropertyOracle,MealyLoggingPropertyOracle,MealyPropertyOracleChain,MealyRandomWMethodEQOracle,MealyRandomWordsEQOracle,MealyRandomWpMethodEQOracle,MealySimulatorEQOracle,MealyWMethodEQOracle,MealyWpMethodEQOracle,MMLTCacheConsistencyTest,MMLTEQOracleChain,MooreCacheConsistencyTest,MooreCompleteExplorationEQOracle,MooreEQOracleChain,MooreIncrementalWMethodEQOracle,MooreRandomWMethodEQOracle,MooreRandomWordsEQOracle,MooreRandomWpMethodEQOracle,MooreSimulatorEQOracle,MooreWMethodEQOracle,MooreWpMethodEQOracle,PropertyOracleChain,RandomWalkEQOracle,RandomWellMatchedWordsEQOracle,RandomWMethodEQOracle,RandomWordsEQOracle,RandomWpMethodEQOracle,RandomWpMethodEQOracle,ResetSearchEQOracle,SampleSetEQOracle,SBAPropertyOracle,SimulatorEQOracle,SimulatorEQOracle,SimulatorEQOracle,SimulatorEQOracle,SimulatorEQOracle,SimulatorEQOracle,StateLocalInputMealySimulatorEQOracle,SymbolEQOracleWrapper,ThreadSafeMealyCacheConsistencyTest,ThreadSafeMooreCacheConsistencyTest,WMethodEQOracle,WMethodEQOracle,WMethodEQOracle,WMethodEQOracle,WpMethodEQOracle,WpMethodEQOracle
- Functional Interface:
- This is a functional interface and can therefore be used as the assignment target for a lambda expression or method reference.
An equivalence oracle, which checks hypothesis automata against the (possibly unknown) system under learning (SUL).
Please note that equivalence oracles are implicitly connected to a SUL, there is no explicit references in terms of a
MembershipOracle or such. However, this might be different in implementing classes.
CAVEAT: Equivalence oracles serve as an abstraction to tackle the (generally undecidable) problem of black-box
equivalence testing. The contract imposed by this interface is that results returned by the findCounterExample(Object, Collection) method are in fact counterexamples, BUT a null result
signalling no counterexample was found does not mean that there can be none.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA specialization of theEquivalenceOracleinterface for a DFA learning scenario.static interfaceA specialization of theEquivalenceOracleinterface for a Mealy learning scenario.static interfaceA specialization of theEquivalenceOracleinterface for anMMLTlearning scenario.static interfaceA specialization of theEquivalenceOracleinterface for a Moore learning scenario. -
Method Summary
Modifier and TypeMethodDescriptionfindCounterExample(A hypothesis, Collection<? extends I> inputs) Searches for a counterexample disproving the subjected hypothesis.
-
Method Details
-
findCounterExample
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),nullis returned.- Parameters:
hypothesis- the conjectureinputs- 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
nullif no counterexample could be found. In case a non-nullvalue is returned, the output field in theDefaultQuerycontains the SUL output for the respective query.
-